@mcp-consultant-tools/azure-devops-admin 28.0.0-beta.7 → 29.0.0-beta.1

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 (83) hide show
  1. package/build/ado-auth-provider.d.ts +32 -0
  2. package/build/ado-auth-provider.d.ts.map +1 -0
  3. package/build/ado-auth-provider.js +92 -0
  4. package/build/ado-auth-provider.js.map +1 -0
  5. package/build/cli/commands/agent-pool-commands.d.ts +7 -0
  6. package/build/cli/commands/agent-pool-commands.d.ts.map +1 -0
  7. package/build/cli/commands/agent-pool-commands.js +117 -0
  8. package/build/cli/commands/agent-pool-commands.js.map +1 -0
  9. package/build/cli/commands/artifact-feed-commands.d.ts +7 -0
  10. package/build/cli/commands/artifact-feed-commands.d.ts.map +1 -0
  11. package/build/cli/commands/artifact-feed-commands.js +62 -0
  12. package/build/cli/commands/artifact-feed-commands.js.map +1 -0
  13. package/build/cli/commands/classification-commands.d.ts +7 -0
  14. package/build/cli/commands/classification-commands.d.ts.map +1 -0
  15. package/build/cli/commands/classification-commands.js +192 -0
  16. package/build/cli/commands/classification-commands.js.map +1 -0
  17. package/build/cli/commands/environment-commands.d.ts +7 -0
  18. package/build/cli/commands/environment-commands.d.ts.map +1 -0
  19. package/build/cli/commands/environment-commands.js +172 -0
  20. package/build/cli/commands/environment-commands.js.map +1 -0
  21. package/build/cli/commands/index.d.ts +15 -0
  22. package/build/cli/commands/index.d.ts.map +1 -0
  23. package/build/cli/commands/index.js +30 -0
  24. package/build/cli/commands/index.js.map +1 -0
  25. package/build/cli/commands/pipeline-commands.d.ts +7 -0
  26. package/build/cli/commands/pipeline-commands.d.ts.map +1 -0
  27. package/build/cli/commands/pipeline-commands.js +269 -0
  28. package/build/cli/commands/pipeline-commands.js.map +1 -0
  29. package/build/cli/commands/project-commands.d.ts +7 -0
  30. package/build/cli/commands/project-commands.d.ts.map +1 -0
  31. package/build/cli/commands/project-commands.js +100 -0
  32. package/build/cli/commands/project-commands.js.map +1 -0
  33. package/build/cli/commands/service-connection-commands.d.ts +7 -0
  34. package/build/cli/commands/service-connection-commands.d.ts.map +1 -0
  35. package/build/cli/commands/service-connection-commands.js +131 -0
  36. package/build/cli/commands/service-connection-commands.js.map +1 -0
  37. package/build/cli/commands/variable-group-commands.d.ts +7 -0
  38. package/build/cli/commands/variable-group-commands.d.ts.map +1 -0
  39. package/build/cli/commands/variable-group-commands.js +120 -0
  40. package/build/cli/commands/variable-group-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 +4 -0
  50. package/build/context-factory.d.ts.map +1 -0
  51. package/build/context-factory.js +86 -0
  52. package/build/context-factory.js.map +1 -0
  53. package/build/index.d.ts +2 -0
  54. package/build/index.d.ts.map +1 -1
  55. package/build/index.js +15 -6
  56. package/build/index.js.map +1 -1
  57. package/build/services/admin-client.d.ts +5 -2
  58. package/build/services/admin-client.d.ts.map +1 -1
  59. package/build/services/admin-client.js +13 -5
  60. package/build/services/admin-client.js.map +1 -1
  61. package/build/services/index.d.ts +1 -0
  62. package/build/services/index.d.ts.map +1 -1
  63. package/build/services/index.js +1 -0
  64. package/build/services/index.js.map +1 -1
  65. package/build/services/project-service.d.ts +21 -0
  66. package/build/services/project-service.d.ts.map +1 -0
  67. package/build/services/project-service.js +130 -0
  68. package/build/services/project-service.js.map +1 -0
  69. package/build/tool-examples.d.ts +20 -0
  70. package/build/tool-examples.d.ts.map +1 -1
  71. package/build/tool-examples.js +24 -0
  72. package/build/tool-examples.js.map +1 -1
  73. package/build/tools/index.d.ts +1 -0
  74. package/build/tools/index.d.ts.map +1 -1
  75. package/build/tools/index.js +3 -0
  76. package/build/tools/index.js.map +1 -1
  77. package/build/tools/project-tools.d.ts +7 -0
  78. package/build/tools/project-tools.d.ts.map +1 -0
  79. package/build/tools/project-tools.js +117 -0
  80. package/build/tools/project-tools.js.map +1 -0
  81. package/build/types.d.ts +8 -1
  82. package/build/types.d.ts.map +1 -1
  83. package/package.json +6 -3
package/build/index.js CHANGED
@@ -18,7 +18,9 @@ import { AgentPoolService } from './services/agent-pool-service.js';
18
18
  import { EnvironmentService } from './services/environment-service.js';
19
19
  import { ClassificationService } from './services/classification-service.js';
20
20
  import { ArtifactFeedService } from './services/artifact-feed-service.js';
21
+ import { ProjectService } from './services/project-service.js';
21
22
  import { registerAllTools } from './tools/index.js';
23
+ import { resolveAuthConfig } from './ado-auth-provider.js';
22
24
  /**
23
25
  * Build a ServiceContext from environment variables (lazy service initialization).
24
26
  */
@@ -29,17 +31,18 @@ function createServiceContext() {
29
31
  const missingConfig = [];
30
32
  if (!process.env.AZUREDEVOPS_ORGANIZATION)
31
33
  missingConfig.push("AZUREDEVOPS_ORGANIZATION");
32
- if (!process.env.AZUREDEVOPS_PAT)
33
- missingConfig.push("AZUREDEVOPS_PAT");
34
34
  if (!process.env.AZUREDEVOPS_PROJECTS)
35
35
  missingConfig.push("AZUREDEVOPS_PROJECTS");
36
36
  if (missingConfig.length > 0) {
37
37
  throw new Error(`Missing required Azure DevOps configuration: ${missingConfig.join(", ")}. ` +
38
- `Set environment variables for organization, PAT, and allowed projects.`);
38
+ `Set environment variables for organization and allowed projects.`);
39
39
  }
40
+ // Resolve auth mode (Entra ID or PAT) from environment variables
41
+ const authConfig = resolveAuthConfig();
40
42
  const config = {
41
43
  organization: process.env.AZUREDEVOPS_ORGANIZATION,
42
- pat: process.env.AZUREDEVOPS_PAT,
44
+ pat: authConfig.mode === 'pat' ? authConfig.pat : undefined,
45
+ authMode: authConfig.mode,
43
46
  projects: process.env.AZUREDEVOPS_PROJECTS.split(",").map(p => p.trim()).filter(p => p),
44
47
  apiVersion: process.env.AZUREDEVOPS_API_VERSION || "7.1",
45
48
  enablePipelineUpsert: process.env.AZUREDEVOPS_ENABLE_PIPELINE_UPSERT === "true",
@@ -54,12 +57,14 @@ function createServiceContext() {
54
57
  enableEnvironmentDelete: process.env.AZUREDEVOPS_ENABLE_ENVIRONMENT_DELETE === "true",
55
58
  enableClassificationNodeUpsert: process.env.AZUREDEVOPS_ENABLE_CLASSIFICATION_NODE_UPSERT === "true",
56
59
  enableClassificationNodeDelete: process.env.AZUREDEVOPS_ENABLE_CLASSIFICATION_NODE_DELETE === "true",
60
+ enableProjectUpsert: process.env.AZUREDEVOPS_ENABLE_PROJECT_UPSERT === "true",
61
+ enableProjectDelete: process.env.AZUREDEVOPS_ENABLE_PROJECT_DELETE === "true",
57
62
  feeds: process.env.AZUREDEVOPS_FEEDS
58
63
  ? process.env.AZUREDEVOPS_FEEDS.split(",").map(f => f.trim()).filter(f => f)
59
64
  : undefined,
60
65
  };
61
- client = new AdminClient(config);
62
- console.error("Azure DevOps Admin service initialized");
66
+ client = new AdminClient(config, authConfig);
67
+ console.error(`Azure DevOps Admin service initialized (auth: ${authConfig.mode})`);
63
68
  }
64
69
  return client;
65
70
  }
@@ -76,6 +81,8 @@ function createServiceContext() {
76
81
  enableEnvironmentDelete: process.env.AZUREDEVOPS_ENABLE_ENVIRONMENT_DELETE === "true",
77
82
  enableClassificationNodeUpsert: process.env.AZUREDEVOPS_ENABLE_CLASSIFICATION_NODE_UPSERT === "true",
78
83
  enableClassificationNodeDelete: process.env.AZUREDEVOPS_ENABLE_CLASSIFICATION_NODE_DELETE === "true",
84
+ enableProjectUpsert: process.env.AZUREDEVOPS_ENABLE_PROJECT_UPSERT === "true",
85
+ enableProjectDelete: process.env.AZUREDEVOPS_ENABLE_PROJECT_DELETE === "true",
79
86
  };
80
87
  return {
81
88
  get client() { return getClient(); },
@@ -86,6 +93,7 @@ function createServiceContext() {
86
93
  get environments() { return new EnvironmentService(getClient()); },
87
94
  get classification() { return new ClassificationService(getClient()); },
88
95
  get artifactFeeds() { return new ArtifactFeedService(getClient()); },
96
+ get projects() { return new ProjectService(getClient()); },
89
97
  tierFlags,
90
98
  };
91
99
  }
@@ -99,6 +107,7 @@ export function registerAzureDevOpsAdminTools(server) {
99
107
  }
100
108
  // Backward-compatible exports
101
109
  export { AdminClient } from './services/admin-client.js';
110
+ export { AdoAuthProvider, resolveAuthConfig } from './ado-auth-provider.js';
102
111
  /**
103
112
  * Standalone CLI server (when run directly)
104
113
  * Uses realpathSync to resolve symlinks created by npx
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,16 @@
1
1
  import type { AzureDevOpsAdminConfig } from '../types.js';
2
+ import { type AdoAuthConfig } from '../ado-auth-provider.js';
2
3
  export declare class AdminClient {
3
4
  readonly config: AzureDevOpsAdminConfig;
4
5
  readonly baseUrl: string;
5
6
  readonly feedsUrl: string;
6
7
  readonly apiVersion: string;
7
- private readonly authHeader;
8
- constructor(config: AzureDevOpsAdminConfig);
8
+ private readonly authProvider;
9
+ constructor(config: AzureDevOpsAdminConfig, authConfig: AdoAuthConfig);
9
10
  validateProject(project: string): void;
10
11
  validateFeed(feedName: string): void;
12
+ /** Authentication mode (pat or entra-id) */
13
+ get authMode(): string;
11
14
  /**
12
15
  * Converts a date string to ISO 8601 format with time component.
13
16
  * Azure DevOps Classification Nodes API requires full ISO 8601 format.
@@ -1 +1 @@
1
- {"version":3,"file":"admin-client.d.ts","sourceRoot":"","sources":["../../src/services/admin-client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAA4B,MAAM,aAAa,CAAC;AAEpF,qBAAa,WAAW;IACtB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,MAAM,EAAE,sBAAsB;IAwB1C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMtC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAUpC;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAOnC,WAAW,CAAC,CAAC,EACjB,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,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,CAAC,CAAC;CA2Cd"}
1
+ {"version":3,"file":"admin-client.d.ts","sourceRoot":"","sources":["../../src/services/admin-client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAA4B,MAAM,aAAa,CAAC;AACpF,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE9E,qBAAa,WAAW;IACtB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;gBAEnC,MAAM,EAAE,sBAAsB,EAAE,UAAU,EAAE,aAAa;IA0BrE,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOtC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAUpC,4CAA4C;IAC5C,IAAI,QAAQ,IAAI,MAAM,CAAmC;IAEzD;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAOnC,WAAW,CAAC,CAAC,EACjB,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,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,CAAC,CAAC;CA4Cd"}
@@ -3,13 +3,14 @@
3
3
  * Provides authenticated request methods, project/feed validation, and date formatting.
4
4
  */
5
5
  import axios from 'axios';
6
+ import { AdoAuthProvider } from '../ado-auth-provider.js';
6
7
  export class AdminClient {
7
8
  config;
8
9
  baseUrl;
9
10
  feedsUrl;
10
11
  apiVersion;
11
- authHeader;
12
- constructor(config) {
12
+ authProvider;
13
+ constructor(config, authConfig) {
13
14
  this.config = {
14
15
  ...config,
15
16
  apiVersion: config.apiVersion || '7.1',
@@ -25,13 +26,17 @@ export class AdminClient {
25
26
  enableEnvironmentDelete: config.enableEnvironmentDelete ?? false,
26
27
  enableClassificationNodeUpsert: config.enableClassificationNodeUpsert ?? false,
27
28
  enableClassificationNodeDelete: config.enableClassificationNodeDelete ?? false,
29
+ enableProjectUpsert: config.enableProjectUpsert ?? false,
30
+ enableProjectDelete: config.enableProjectDelete ?? false,
28
31
  };
29
32
  this.baseUrl = `https://dev.azure.com/${this.config.organization}`;
30
33
  this.feedsUrl = `https://feeds.dev.azure.com/${this.config.organization}`;
31
34
  this.apiVersion = this.config.apiVersion;
32
- this.authHeader = `Basic ${Buffer.from(`:${this.config.pat}`).toString('base64')}`;
35
+ this.authProvider = new AdoAuthProvider(authConfig);
33
36
  }
34
37
  validateProject(project) {
38
+ if (this.config.projects.includes('*'))
39
+ return;
35
40
  if (!this.config.projects.includes(project)) {
36
41
  throw new Error(`Project '${project}' is not in the allowed projects list. Allowed projects: ${this.config.projects.join(', ')}`);
37
42
  }
@@ -43,6 +48,8 @@ export class AdminClient {
43
48
  `Allowed feeds: ${this.config.feeds.join(', ')}`);
44
49
  }
45
50
  }
51
+ /** Authentication mode (pat or entra-id) */
52
+ get authMode() { return this.authProvider.mode; }
46
53
  /**
47
54
  * Converts a date string to ISO 8601 format with time component.
48
55
  * Azure DevOps Classification Nodes API requires full ISO 8601 format.
@@ -56,13 +63,14 @@ export class AdminClient {
56
63
  }
57
64
  async makeRequest(endpoint, method = 'GET', data, customHeaders, contentType, baseUrlOverride) {
58
65
  try {
66
+ const authHeader = await this.authProvider.getAuthHeader();
59
67
  const url = `${baseUrlOverride || this.baseUrl}/${endpoint}`;
60
68
  const defaultContentType = method === 'PATCH' ? 'application/json-patch+json' : 'application/json';
61
69
  const response = await axios({
62
70
  method,
63
71
  url,
64
72
  headers: {
65
- 'Authorization': this.authHeader,
73
+ 'Authorization': authHeader,
66
74
  'Content-Type': contentType || defaultContentType,
67
75
  'Accept': 'application/json',
68
76
  ...customHeaders
@@ -81,7 +89,7 @@ export class AdminClient {
81
89
  error: errorDetails
82
90
  });
83
91
  if (error.response?.status === 401) {
84
- throw new Error('Azure DevOps authentication failed. Please check your PAT token and permissions.');
92
+ throw new Error('Azure DevOps authentication failed. Please check your PAT token or Entra ID credentials and permissions.');
85
93
  }
86
94
  if (error.response?.status === 403) {
87
95
  const detail = typeof errorDetails === 'string' ? errorDetails : '';
@@ -1 +1 @@
1
- {"version":3,"file":"admin-client.js","sourceRoot":"","sources":["../../src/services/admin-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-client.js","sourceRoot":"","sources":["../../src/services/admin-client.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,5 @@ export { AgentPoolService } from './agent-pool-service.js';
9
9
  export { EnvironmentService } from './environment-service.js';
10
10
  export { ClassificationService } from './classification-service.js';
11
11
  export { ArtifactFeedService } from './artifact-feed-service.js';
12
+ export { ProjectService } from './project-service.js';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
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;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -9,4 +9,5 @@ export { AgentPoolService } from './agent-pool-service.js';
9
9
  export { EnvironmentService } from './environment-service.js';
10
10
  export { ClassificationService } from './classification-service.js';
11
11
  export { ArtifactFeedService } from './artifact-feed-service.js';
12
+ export { ProjectService } from './project-service.js';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +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"}
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;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Project operations for Azure DevOps Admin.
3
+ * Org-scoped: does NOT call validateProject() — projects are the things being managed.
4
+ */
5
+ import type { AdminClient } from './admin-client.js';
6
+ export declare class ProjectService {
7
+ private client;
8
+ constructor(client: AdminClient);
9
+ listProjects(stateFilter?: string, top?: number, skip?: number): Promise<any>;
10
+ getProject(projectId: string): Promise<any>;
11
+ getProjectProperties(projectId: string): Promise<any>;
12
+ createProject(name: string, description?: string, visibility?: string, processTemplate?: string, versionControl?: string): Promise<any>;
13
+ updateProject(projectId: string, updates: {
14
+ name?: string;
15
+ description?: string;
16
+ }): Promise<any>;
17
+ deleteProject(projectId: string): Promise<any>;
18
+ private resolveProcessTemplateId;
19
+ private pollOperation;
20
+ }
21
+ //# sourceMappingURL=project-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-service.d.ts","sourceRoot":"","sources":["../../src/services/project-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUrD,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAEjC,YAAY,CAChB,WAAW,CAAC,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC;IAyBT,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAmB3C,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAerD,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,EACxB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,GAAG,CAAC;IAoCT,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,GAAG,CAAC;IAsBT,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;YAmBtC,wBAAwB;YAmBxB,aAAa;CA0B5B"}
@@ -0,0 +1,130 @@
1
+ export class ProjectService {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ async listProjects(stateFilter, top, skip) {
7
+ const params = new URLSearchParams();
8
+ params.set('api-version', this.client.apiVersion);
9
+ if (stateFilter)
10
+ params.set('stateFilter', stateFilter);
11
+ if (top)
12
+ params.set('$top', String(top));
13
+ if (skip)
14
+ params.set('$skip', String(skip));
15
+ const response = await this.client.makeRequest(`_apis/projects?${params.toString()}`);
16
+ return {
17
+ totalCount: response.count ?? response.value.length,
18
+ projects: response.value.map((p) => ({
19
+ id: p.id,
20
+ name: p.name,
21
+ description: p.description,
22
+ state: p.state,
23
+ visibility: p.visibility,
24
+ lastUpdateTime: p.lastUpdateTime,
25
+ url: p.url,
26
+ })),
27
+ };
28
+ }
29
+ async getProject(projectId) {
30
+ const response = await this.client.makeRequest(`_apis/projects/${encodeURIComponent(projectId)}?includeCapabilities=true&api-version=${this.client.apiVersion}`);
31
+ return {
32
+ id: response.id,
33
+ name: response.name,
34
+ description: response.description,
35
+ state: response.state,
36
+ visibility: response.visibility,
37
+ lastUpdateTime: response.lastUpdateTime,
38
+ capabilities: {
39
+ versionControl: response.capabilities?.versioncontrol?.sourceControlType,
40
+ processTemplate: response.capabilities?.processTemplate?.templateName,
41
+ },
42
+ };
43
+ }
44
+ async getProjectProperties(projectId) {
45
+ const response = await this.client.makeRequest(`_apis/projects/${encodeURIComponent(projectId)}/properties?api-version=7.1-preview.1`);
46
+ const properties = {};
47
+ if (response.value) {
48
+ for (const prop of response.value) {
49
+ properties[prop.name] = prop.value;
50
+ }
51
+ }
52
+ return { projectId, properties };
53
+ }
54
+ async createProject(name, description, visibility, processTemplate, versionControl) {
55
+ const templateId = await this.resolveProcessTemplateId(processTemplate || 'Agile');
56
+ const body = {
57
+ name,
58
+ description: description || '',
59
+ visibility: visibility || 'private',
60
+ capabilities: {
61
+ versioncontrol: {
62
+ sourceControlType: versionControl || 'Git',
63
+ },
64
+ processTemplate: {
65
+ templateTypeId: templateId,
66
+ },
67
+ },
68
+ };
69
+ const operation = await this.client.makeRequest(`_apis/projects?api-version=${this.client.apiVersion}`, 'POST', body);
70
+ const result = await this.pollOperation(operation.id);
71
+ return {
72
+ operationId: operation.id,
73
+ status: result.status,
74
+ name,
75
+ description: description || '',
76
+ visibility: visibility || 'private',
77
+ processTemplate: processTemplate || 'Agile',
78
+ versionControl: versionControl || 'Git',
79
+ };
80
+ }
81
+ async updateProject(projectId, updates) {
82
+ const response = await this.client.makeRequest(`_apis/projects/${encodeURIComponent(projectId)}?api-version=${this.client.apiVersion}`, 'PATCH', updates, undefined, 'application/json');
83
+ if (response.id && response.status) {
84
+ const result = await this.pollOperation(response.id);
85
+ return { operationId: response.id, status: result.status, projectId, ...updates };
86
+ }
87
+ return {
88
+ id: response.id,
89
+ name: response.name,
90
+ description: response.description,
91
+ projectId,
92
+ };
93
+ }
94
+ async deleteProject(projectId) {
95
+ const project = await this.getProject(projectId);
96
+ const operation = await this.client.makeRequest(`_apis/projects/${project.id}?api-version=${this.client.apiVersion}`, 'DELETE');
97
+ const result = await this.pollOperation(operation.id);
98
+ return {
99
+ operationId: operation.id,
100
+ status: result.status,
101
+ projectId: project.id,
102
+ projectName: project.name,
103
+ deleted: result.status === 'succeeded',
104
+ };
105
+ }
106
+ async resolveProcessTemplateId(templateName) {
107
+ const response = await this.client.makeRequest(`_apis/process/processes?api-version=${this.client.apiVersion}`);
108
+ const match = response.value.find((p) => p.name.toLowerCase() === templateName.toLowerCase());
109
+ if (!match) {
110
+ const available = response.value.map((p) => p.name).join(', ');
111
+ throw new Error(`Process template '${templateName}' not found. Available templates: ${available}`);
112
+ }
113
+ return match.typeId;
114
+ }
115
+ async pollOperation(operationId, timeoutMs = 60000, intervalMs = 2000) {
116
+ const start = Date.now();
117
+ while (Date.now() - start < timeoutMs) {
118
+ const op = await this.client.makeRequest(`_apis/operations/${operationId}?api-version=${this.client.apiVersion}`);
119
+ if (op.status === 'succeeded') {
120
+ return op;
121
+ }
122
+ if (op.status === 'failed' || op.status === 'cancelled') {
123
+ throw new Error(`Operation ${operationId} ${op.status}: ${op.resultMessage || 'no details'}`);
124
+ }
125
+ await new Promise(resolve => setTimeout(resolve, intervalMs));
126
+ }
127
+ throw new Error(`Operation ${operationId} timed out after ${timeoutMs / 1000}s`);
128
+ }
129
+ }
130
+ //# sourceMappingURL=project-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-service.js","sourceRoot":"","sources":["../../src/services/project-service.ts"],"names":[],"mappings":"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"}
@@ -80,4 +80,24 @@ export declare const CHECK_TYPE_EXAMPLES: {
80
80
  label: string;
81
81
  value: string;
82
82
  }[];
83
+ /** Process template types for project creation */
84
+ export declare const PROJECT_PROCESS_EXAMPLES: {
85
+ label: string;
86
+ value: string;
87
+ }[];
88
+ /** Project visibility options */
89
+ export declare const PROJECT_VISIBILITY_EXAMPLES: {
90
+ label: string;
91
+ value: string;
92
+ }[];
93
+ /** Project state filter for listing */
94
+ export declare const PROJECT_STATE_FILTER_EXAMPLES: {
95
+ label: string;
96
+ value: string;
97
+ }[];
98
+ /** Version control type for project creation */
99
+ export declare const PROJECT_VERSION_CONTROL_EXAMPLES: {
100
+ label: string;
101
+ value: string;
102
+ }[];
83
103
  //# sourceMappingURL=tool-examples.d.ts.map
@@ -1 +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"}
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;AAEF,kDAAkD;AAClD,eAAO,MAAM,wBAAwB;;;GAKpC,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,2BAA2B;;;GAGvC,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,6BAA6B;;;GAKzC,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,gCAAgC;;;GAG5C,CAAC"}
@@ -103,4 +103,28 @@ export const CHECK_TYPE_EXAMPLES = [
103
103
  { label: 'REST API validation', value: 'InvokeRESTAPI' },
104
104
  { label: 'Exclusive resource lock', value: 'ExclusiveLock' },
105
105
  ];
106
+ /** Process template types for project creation */
107
+ export const PROJECT_PROCESS_EXAMPLES = [
108
+ { label: 'Agile process (default)', value: 'Agile' },
109
+ { label: 'Scrum process', value: 'Scrum' },
110
+ { label: 'Basic process', value: 'Basic' },
111
+ { label: 'CMMI process', value: 'CMMI' },
112
+ ];
113
+ /** Project visibility options */
114
+ export const PROJECT_VISIBILITY_EXAMPLES = [
115
+ { label: 'Organization members only (default)', value: 'private' },
116
+ { label: 'Public (visible to everyone)', value: 'public' },
117
+ ];
118
+ /** Project state filter for listing */
119
+ export const PROJECT_STATE_FILTER_EXAMPLES = [
120
+ { label: 'All states', value: 'all' },
121
+ { label: 'Active projects (default)', value: 'wellFormed' },
122
+ { label: 'Being created', value: 'createPending' },
123
+ { label: 'Being deleted', value: 'deleting' },
124
+ ];
125
+ /** Version control type for project creation */
126
+ export const PROJECT_VERSION_CONTROL_EXAMPLES = [
127
+ { label: 'Git (default)', value: 'Git' },
128
+ { label: 'Team Foundation Version Control', value: 'Tfvc' },
129
+ ];
106
130
  //# sourceMappingURL=tool-examples.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-examples.js","sourceRoot":"","sources":["../src/tool-examples.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,8CAA8C;AAC9C,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,WAAW,EAAE;IACvD,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC1C,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE;IAClD,EAAE,KAAK,EAAE,2BAA2B,EAAE,KAAK,EAAE,SAAS,EAAE;IACxD,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,WAAW,EAAE;CACpD,CAAC;AAEF,yDAAyD;AACzD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE;IACjD,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,oBAAoB,EAAE;IACjE,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC1C,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,UAAU,EAAE;CACpD,CAAC;AAEF,yDAAyD;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,EAAE,KAAK,EAAE,0CAA0C,EAAE,KAAK,EAAE,UAAU,EAAE;IACxE,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE;IACjD,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE;IACpD,EAAE,KAAK,EAAE,2CAA2C,EAAE,KAAK,EAAE,KAAK,EAAE;CACrE,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC3D,EAAE,KAAK,EAAE,2BAA2B,EAAE,KAAK,EAAE,2BAA2B,EAAE;IAC1E,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACzD,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,aAAa,EAAE;CACnD,CAAC;AAEF,0CAA0C;AAC1C,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE;IACxD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE;IAC/C,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,aAAa,EAAE;IAC1D,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;CACrC,CAAC;AAEF,yCAAyC;AACzC,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE;IAChD,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,SAAS,EAAE;CACpD,CAAC;AAEF,uDAAuD;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,cAAc,EAAE;IAC1D,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE;CACnD,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE;IACrC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE;IAC3C,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,uBAAuB,EAAE;CAC3D,CAAC;AAEF,sCAAsC;AACtC,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,UAAU,EAAE;IACjD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE;CACjD,CAAC;AAEF,sCAAsC;AACtC,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,SAAS,EAAE;IACrD,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC/C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE;IACvC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;IACvC,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE;CAC9C,CAAC;AAEF,uCAAuC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,YAAY,EAAE;IACzD,EAAE,KAAK,EAAE,+BAA+B,EAAE,KAAK,EAAE,YAAY,EAAE;CAChE,CAAC;AAEF,gDAAgD;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE;IACzC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE;IACxC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE;IACzC,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE;CAC1C,CAAC;AAEF,iCAAiC;AACjC,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,KAAK,EAAE,6BAA6B,EAAE,KAAK,EAAE,SAAS,EAAE;IAC1D,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,UAAU,EAAE;IACtD,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE;CACnD,CAAC;AAEF,8BAA8B;AAC9B,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,KAAK,EAAE,4CAA4C,EAAE,KAAK,EAAE,SAAS,EAAE;IACzE,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE;IACtD,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE;CACvD,CAAC;AAEF,wCAAwC;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,UAAU,EAAE;IACpD,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,eAAe,EAAE;IAC3D,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,eAAe,EAAE;IACxD,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,eAAe,EAAE;IACxD,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,eAAe,EAAE;CAC7D,CAAC"}
1
+ {"version":3,"file":"tool-examples.js","sourceRoot":"","sources":["../src/tool-examples.ts"],"names":[],"mappings":"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"}
@@ -10,4 +10,5 @@ export { registerAgentPoolTools } from './agent-pool-tools.js';
10
10
  export { registerEnvironmentTools } from './environment-tools.js';
11
11
  export { registerClassificationTools } from './classification-tools.js';
12
12
  export { registerArtifactFeedTools } from './artifact-feed-tools.js';
13
+ export { registerProjectTools } from './project-tools.js';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AASlD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAuBvE;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUlD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAwBvE;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -5,6 +5,7 @@ import { registerAgentPoolTools } from './agent-pool-tools.js';
5
5
  import { registerEnvironmentTools } from './environment-tools.js';
6
6
  import { registerClassificationTools } from './classification-tools.js';
7
7
  import { registerArtifactFeedTools } from './artifact-feed-tools.js';
8
+ import { registerProjectTools } from './project-tools.js';
8
9
  export function registerAllTools(server, ctx) {
9
10
  let totalReadonly = 0;
10
11
  let totalUpsert = 0;
@@ -17,6 +18,7 @@ export function registerAllTools(server, ctx) {
17
18
  registerEnvironmentTools(server, ctx),
18
19
  registerClassificationTools(server, ctx),
19
20
  registerArtifactFeedTools(server, ctx),
21
+ registerProjectTools(server, ctx),
20
22
  ];
21
23
  for (const g of groups) {
22
24
  totalReadonly += g.readonly;
@@ -33,4 +35,5 @@ export { registerAgentPoolTools } from './agent-pool-tools.js';
33
35
  export { registerEnvironmentTools } from './environment-tools.js';
34
36
  export { registerClassificationTools } from './classification-tools.js';
35
37
  export { registerArtifactFeedTools } from './artifact-feed-tools.js';
38
+ export { registerProjectTools } from './project-tools.js';
36
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,UAAU,gBAAgB,CAAC,MAAW,EAAE,GAAmB;IAC/D,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,MAAM,GAAG;QACb,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC;QAClC,8BAA8B,CAAC,MAAM,EAAE,GAAG,CAAC;QAC3C,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC;QACvC,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC;QACnC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC;QACrC,2BAA2B,CAAC,MAAM,EAAE,GAAG,CAAC;QACxC,yBAAyB,CAAC,MAAM,EAAE,GAAG,CAAC;KACvC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,aAAa,IAAI,CAAC,CAAC,QAAQ,CAAC;QAC5B,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC;QACxB,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;IACxD,OAAO,CAAC,KAAK,CAAC,wCAAwC,KAAK,WAAW,aAAa,eAAe,WAAW,aAAa,WAAW,UAAU,CAAC,CAAC;AACnJ,CAAC;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,UAAU,gBAAgB,CAAC,MAAW,EAAE,GAAmB;IAC/D,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,MAAM,GAAG;QACb,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC;QAClC,8BAA8B,CAAC,MAAM,EAAE,GAAG,CAAC;QAC3C,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC;QACvC,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC;QACnC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC;QACrC,2BAA2B,CAAC,MAAM,EAAE,GAAG,CAAC;QACxC,yBAAyB,CAAC,MAAM,EAAE,GAAG,CAAC;QACtC,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC;KAClC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,aAAa,IAAI,CAAC,CAAC,QAAQ,CAAC;QAC5B,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC;QACxB,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;IACxD,OAAO,CAAC,KAAK,CAAC,wCAAwC,KAAK,WAAW,aAAa,eAAe,WAAW,aAAa,WAAW,UAAU,CAAC,CAAC;AACnJ,CAAC;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ServiceContext } from '../types.js';
2
+ export declare function registerProjectTools(server: any, ctx: ServiceContext): {
3
+ readonly: number;
4
+ upsert: number;
5
+ delete: number;
6
+ };
7
+ //# sourceMappingURL=project-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-tools.d.ts","sourceRoot":"","sources":["../../src/tools/project-tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AASlD,wBAAgB,oBAAoB,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,CAkJ3H"}