@mcp-consultant-tools/azure-devops 29.0.0-beta.8 → 29.0.0-beta.9

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.
@@ -0,0 +1,32 @@
1
+ export type AuthMode = 'pat' | 'entra-id';
2
+ export interface PatAuthConfig {
3
+ mode: 'pat';
4
+ pat: string;
5
+ }
6
+ export interface EntraIdAuthConfig {
7
+ mode: 'entra-id';
8
+ tenantId: string;
9
+ clientId: string;
10
+ clientSecret: string;
11
+ }
12
+ export type AdoAuthConfig = PatAuthConfig | EntraIdAuthConfig;
13
+ export declare class AdoAuthProvider {
14
+ private readonly config;
15
+ private readonly patHeader;
16
+ private credential;
17
+ private tokenCache;
18
+ constructor(config: AdoAuthConfig);
19
+ get mode(): AuthMode;
20
+ /**
21
+ * Get the Authorization header value.
22
+ * PAT mode: returns cached "Basic <base64>" header.
23
+ * Entra ID mode: returns "Bearer <token>" (acquires/caches token).
24
+ */
25
+ getAuthHeader(): Promise<string>;
26
+ }
27
+ /**
28
+ * Detect auth mode from environment variables and build config.
29
+ * Priority: Entra ID > PAT. If both set, Entra ID wins (PAT ignored with warning).
30
+ */
31
+ export declare function resolveAuthConfig(): AdoAuthConfig;
32
+ //# sourceMappingURL=ado-auth-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ado-auth-provider.d.ts","sourceRoot":"","sources":["../src/ado-auth-provider.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAE9D,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,UAAU,CAAuC;IACzD,OAAO,CAAC,UAAU,CAAqD;gBAE3D,MAAM,EAAE,aAAa;IAajC,IAAI,IAAI,IAAI,QAAQ,CAEnB;IAED;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CA4BvC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,CA4CjD"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Authentication provider for Azure DevOps.
3
+ * Supports PAT (Basic) and Entra ID (Bearer) authentication.
4
+ */
5
+ import { ClientSecretCredential } from '@azure/identity';
6
+ /** Azure DevOps resource ID for OAuth2 scope */
7
+ const ADO_RESOURCE_SCOPE = '499b84ac-1321-427f-aa17-267ca6975798/.default';
8
+ /** Refresh token 5 minutes before expiry */
9
+ const TOKEN_REFRESH_BUFFER_MS = 5 * 60 * 1000;
10
+ export class AdoAuthProvider {
11
+ config;
12
+ patHeader = null;
13
+ credential = null;
14
+ tokenCache = null;
15
+ constructor(config) {
16
+ this.config = config;
17
+ if (config.mode === 'pat') {
18
+ this.patHeader = `Basic ${Buffer.from(`:${config.pat}`).toString('base64')}`;
19
+ }
20
+ else {
21
+ this.credential = new ClientSecretCredential(config.tenantId, config.clientId, config.clientSecret);
22
+ }
23
+ }
24
+ get mode() {
25
+ return this.config.mode;
26
+ }
27
+ /**
28
+ * Get the Authorization header value.
29
+ * PAT mode: returns cached "Basic <base64>" header.
30
+ * Entra ID mode: returns "Bearer <token>" (acquires/caches token).
31
+ */
32
+ async getAuthHeader() {
33
+ if (this.config.mode === 'pat') {
34
+ return this.patHeader;
35
+ }
36
+ // Entra ID mode — return cached token if still valid
37
+ const now = Date.now();
38
+ if (this.tokenCache && this.tokenCache.expiresOn > now + TOKEN_REFRESH_BUFFER_MS) {
39
+ return `Bearer ${this.tokenCache.token}`;
40
+ }
41
+ // Acquire new token
42
+ const tokenResponse = await this.credential.getToken(ADO_RESOURCE_SCOPE);
43
+ if (!tokenResponse || !tokenResponse.token) {
44
+ throw new Error('Failed to acquire Azure DevOps access token via Entra ID');
45
+ }
46
+ this.tokenCache = {
47
+ token: tokenResponse.token,
48
+ expiresOn: tokenResponse.expiresOnTimestamp,
49
+ };
50
+ console.error(`Azure DevOps Entra ID token acquired, expires at ${new Date(tokenResponse.expiresOnTimestamp).toISOString()}`);
51
+ return `Bearer ${this.tokenCache.token}`;
52
+ }
53
+ }
54
+ /**
55
+ * Detect auth mode from environment variables and build config.
56
+ * Priority: Entra ID > PAT. If both set, Entra ID wins (PAT ignored with warning).
57
+ */
58
+ export function resolveAuthConfig() {
59
+ const entraIdVars = [
60
+ process.env.AZUREDEVOPS_TENANT_ID,
61
+ process.env.AZUREDEVOPS_CLIENT_ID,
62
+ process.env.AZUREDEVOPS_CLIENT_SECRET,
63
+ ];
64
+ const entraIdSetCount = entraIdVars.filter(Boolean).length;
65
+ const hasEntraId = entraIdSetCount === 3;
66
+ const hasPat = !!process.env.AZUREDEVOPS_PAT;
67
+ if (entraIdSetCount > 0 && entraIdSetCount < 3) {
68
+ throw new Error('Incomplete Entra ID configuration. All three variables are required: ' +
69
+ 'AZUREDEVOPS_TENANT_ID, AZUREDEVOPS_CLIENT_ID, AZUREDEVOPS_CLIENT_SECRET');
70
+ }
71
+ if (hasEntraId && hasPat) {
72
+ console.error('Both Entra ID credentials and PAT are configured. Using Entra ID; PAT will be ignored.');
73
+ }
74
+ if (hasEntraId) {
75
+ return {
76
+ mode: 'entra-id',
77
+ tenantId: process.env.AZUREDEVOPS_TENANT_ID,
78
+ clientId: process.env.AZUREDEVOPS_CLIENT_ID,
79
+ clientSecret: process.env.AZUREDEVOPS_CLIENT_SECRET,
80
+ };
81
+ }
82
+ if (hasPat) {
83
+ return {
84
+ mode: 'pat',
85
+ pat: process.env.AZUREDEVOPS_PAT,
86
+ };
87
+ }
88
+ throw new Error('Missing Azure DevOps authentication. Provide either:\n' +
89
+ ' - AZUREDEVOPS_PAT (Personal Access Token), or\n' +
90
+ ' - AZUREDEVOPS_TENANT_ID + AZUREDEVOPS_CLIENT_ID + AZUREDEVOPS_CLIENT_SECRET (Entra ID)');
91
+ }
92
+ //# sourceMappingURL=ado-auth-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ado-auth-provider.js","sourceRoot":"","sources":["../src/ado-auth-provider.ts"],"names":[],"mappings":"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"}
@@ -6,14 +6,15 @@
6
6
  */
7
7
  import { type AxiosResponse } from 'axios';
8
8
  import type { AzureDevOpsConfig } from './models/index.js';
9
+ import { type AdoAuthConfig } from './ado-auth-provider.js';
9
10
  export declare class AzureDevOpsClient {
10
11
  private readonly _config;
11
12
  private readonly _baseUrl;
12
13
  private readonly _searchUrl;
13
14
  private readonly _extMgmtUrl;
14
- private readonly _authHeader;
15
+ private readonly _authProvider;
15
16
  private readonly _apiVersion;
16
- constructor(config: AzureDevOpsConfig);
17
+ constructor(config: AzureDevOpsConfig, authConfig: AdoAuthConfig);
17
18
  /** Read-only access to config */
18
19
  get config(): AzureDevOpsConfig;
19
20
  /** Read-only access to organization name */
@@ -24,6 +25,8 @@ export declare class AzureDevOpsClient {
24
25
  get baseUrl(): string;
25
26
  /** Read-only access to extension management URL */
26
27
  get extMgmtUrl(): string;
28
+ /** Authentication mode (pat or entra-id) */
29
+ get authMode(): string;
27
30
  /**
28
31
  * Validate that a project is in the allowed list
29
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"azure-devops-client.d.ts","sourceRoot":"","sources":["../src/azure-devops-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"azure-devops-client.d.ts","sourceRoot":"","sources":["../src/azure-devops-client.ts"],"names":[],"mappings":"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"}
@@ -5,14 +5,15 @@
5
5
  * Extracted from AzureDevOpsService constructor + makeRequest().
6
6
  */
7
7
  import axios from 'axios';
8
+ import { AdoAuthProvider } from './ado-auth-provider.js';
8
9
  export class AzureDevOpsClient {
9
10
  _config;
10
11
  _baseUrl;
11
12
  _searchUrl;
12
13
  _extMgmtUrl;
13
- _authHeader;
14
+ _authProvider;
14
15
  _apiVersion;
15
- constructor(config) {
16
+ constructor(config, authConfig) {
16
17
  this._config = {
17
18
  ...config,
18
19
  apiVersion: config.apiVersion || '7.1',
@@ -26,8 +27,7 @@ export class AzureDevOpsClient {
26
27
  this._searchUrl = `https://almsearch.dev.azure.com/${this._config.organization}`;
27
28
  this._extMgmtUrl = `https://extmgmt.dev.azure.com/${this._config.organization}`;
28
29
  this._apiVersion = this._config.apiVersion;
29
- // Encode PAT for Basic Auth (format is :PAT encoded in base64)
30
- this._authHeader = `Basic ${Buffer.from(`:${this._config.pat}`).toString('base64')}`;
30
+ this._authProvider = new AdoAuthProvider(authConfig);
31
31
  }
32
32
  /** Read-only access to config */
33
33
  get config() { return this._config; }
@@ -39,6 +39,8 @@ export class AzureDevOpsClient {
39
39
  get baseUrl() { return this._baseUrl; }
40
40
  /** Read-only access to extension management URL */
41
41
  get extMgmtUrl() { return this._extMgmtUrl; }
42
+ /** Authentication mode (pat or entra-id) */
43
+ get authMode() { return this._authProvider.mode; }
42
44
  /**
43
45
  * Validate that a project is in the allowed list
44
46
  */
@@ -54,13 +56,14 @@ export class AzureDevOpsClient {
54
56
  */
55
57
  async request(endpoint, method = 'GET', data, useSearchUrl = false, customHeaders) {
56
58
  try {
59
+ const authHeader = await this._authProvider.getAuthHeader();
57
60
  const baseUrl = useSearchUrl ? this._searchUrl : this._baseUrl;
58
61
  const url = `${baseUrl}/${endpoint}`;
59
62
  const response = await axios({
60
63
  method,
61
64
  url,
62
65
  headers: {
63
- 'Authorization': this._authHeader,
66
+ 'Authorization': authHeader,
64
67
  'Content-Type': method === 'PATCH' ? 'application/json-patch+json' : 'application/json',
65
68
  'Accept': 'application/json',
66
69
  ...customHeaders // Merge custom headers (can override defaults)
@@ -80,10 +83,10 @@ export class AzureDevOpsClient {
80
83
  });
81
84
  // Provide user-friendly error messages
82
85
  if (error.response?.status === 401) {
83
- throw new Error('Azure DevOps authentication failed. Please check your PAT token and permissions.');
86
+ throw new Error('Azure DevOps authentication failed. Please check your credentials (PAT or Entra ID app registration) and permissions.');
84
87
  }
85
88
  if (error.response?.status === 403) {
86
- throw new Error('Azure DevOps access denied. Please check your PAT scopes and project permissions.');
89
+ throw new Error('Azure DevOps access denied. Please check your credential scopes and project permissions.');
87
90
  }
88
91
  if (error.response?.status === 404) {
89
92
  throw new Error(`Azure DevOps resource not found: ${endpoint}`);
@@ -96,12 +99,13 @@ export class AzureDevOpsClient {
96
99
  */
97
100
  async requestRaw(endpoint, method = 'GET', data, customHeaders, responseType) {
98
101
  try {
102
+ const authHeader = await this._authProvider.getAuthHeader();
99
103
  const url = `${this._baseUrl}/${endpoint}`;
100
104
  return await axios({
101
105
  method,
102
106
  url,
103
107
  headers: {
104
- 'Authorization': this._authHeader,
108
+ 'Authorization': authHeader,
105
109
  'Content-Type': method === 'PATCH' ? 'application/json-patch+json' : 'application/json',
106
110
  'Accept': responseType === 'arraybuffer' ? 'application/octet-stream' : 'application/json',
107
111
  ...customHeaders
@@ -119,10 +123,10 @@ export class AzureDevOpsClient {
119
123
  error: errorDetails
120
124
  });
121
125
  if (error.response?.status === 401) {
122
- throw new Error('Azure DevOps authentication failed. Please check your PAT token and permissions.');
126
+ throw new Error('Azure DevOps authentication failed. Please check your credentials (PAT or Entra ID app registration) and permissions.');
123
127
  }
124
128
  if (error.response?.status === 403) {
125
- throw new Error('Azure DevOps access denied. Please check your PAT scopes and project permissions.');
129
+ throw new Error('Azure DevOps access denied. Please check your credential scopes and project permissions.');
126
130
  }
127
131
  if (error.response?.status === 404) {
128
132
  throw new Error(`Azure DevOps resource not found: ${endpoint}`);
@@ -136,12 +140,13 @@ export class AzureDevOpsClient {
136
140
  */
137
141
  async extRequest(endpoint, method = 'GET', data, customHeaders) {
138
142
  try {
143
+ const authHeader = await this._authProvider.getAuthHeader();
139
144
  const url = `${this._extMgmtUrl}/${endpoint}`;
140
145
  const response = await axios({
141
146
  method,
142
147
  url,
143
148
  headers: {
144
- 'Authorization': this._authHeader,
149
+ 'Authorization': authHeader,
145
150
  'Content-Type': 'application/json',
146
151
  'Accept': 'application/json',
147
152
  ...customHeaders
@@ -160,10 +165,10 @@ export class AzureDevOpsClient {
160
165
  error: errorDetails
161
166
  });
162
167
  if (error.response?.status === 401) {
163
- throw new Error('Azure DevOps authentication failed. Please check your PAT token and permissions.');
168
+ throw new Error('Azure DevOps authentication failed. Please check your credentials (PAT or Entra ID app registration) and permissions.');
164
169
  }
165
170
  if (error.response?.status === 403) {
166
- throw new Error('Azure DevOps access denied. Please check your PAT scopes and project permissions.');
171
+ throw new Error('Azure DevOps access denied. Please check your credential scopes and project permissions.');
167
172
  }
168
173
  if (error.response?.status === 404) {
169
174
  throw new Error(`Azure DevOps extension resource not found: ${endpoint}`);
@@ -1 +1 @@
1
- {"version":3,"file":"azure-devops-client.js","sourceRoot":"","sources":["../src/azure-devops-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"azure-devops-client.js","sourceRoot":"","sources":["../src/azure-devops-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-factory.d.ts","sourceRoot":"","sources":["../src/context-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAYjD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAyDrD"}
1
+ {"version":3,"file":"context-factory.d.ts","sourceRoot":"","sources":["../src/context-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAajD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CA4DrD"}
@@ -3,6 +3,7 @@
3
3
  * Used by both MCP server (index.ts) and CLI (cli.ts).
4
4
  */
5
5
  import { AzureDevOpsClient } from './azure-devops-client.js';
6
+ import { resolveAuthConfig } from './ado-auth-provider.js';
6
7
  import { WikiService, WorkItemService, PullRequestService, BuildService, VariableGroupService, SyncService, ConfigurationService, ChecklistService, } from './services/index.js';
7
8
  /**
8
9
  * Build a ServiceContext from environment variables (lazy client initialization).
@@ -14,17 +15,18 @@ export function createServiceContext() {
14
15
  const missingConfig = [];
15
16
  if (!process.env.AZUREDEVOPS_ORGANIZATION)
16
17
  missingConfig.push("AZUREDEVOPS_ORGANIZATION");
17
- if (!process.env.AZUREDEVOPS_PAT)
18
- missingConfig.push("AZUREDEVOPS_PAT");
19
18
  if (!process.env.AZUREDEVOPS_PROJECTS)
20
19
  missingConfig.push("AZUREDEVOPS_PROJECTS");
21
20
  if (missingConfig.length > 0) {
22
21
  throw new Error(`Missing required Azure DevOps configuration: ${missingConfig.join(", ")}. ` +
23
- `Set environment variables for organization, PAT, and allowed projects.`);
22
+ `Set environment variables for organization and allowed projects.`);
24
23
  }
24
+ // Resolve auth mode (Entra ID or PAT) from environment variables
25
+ const authConfig = resolveAuthConfig();
25
26
  const config = {
26
27
  organization: process.env.AZUREDEVOPS_ORGANIZATION,
27
- pat: process.env.AZUREDEVOPS_PAT,
28
+ pat: authConfig.mode === 'pat' ? authConfig.pat : undefined,
29
+ authMode: authConfig.mode,
28
30
  projects: process.env.AZUREDEVOPS_PROJECTS.split(",").map(p => p.trim()).filter(p => p),
29
31
  apiVersion: process.env.AZUREDEVOPS_API_VERSION || "7.1",
30
32
  enableWorkItemWrite: process.env.AZUREDEVOPS_ENABLE_WORK_ITEM_WRITE === "true",
@@ -34,8 +36,8 @@ export function createServiceContext() {
34
36
  enablePullRequestWrite: process.env.AZUREDEVOPS_ENABLE_PR_WRITE === "true",
35
37
  commentFormat: process.env.AZUREDEVOPS_COMMENT_FORMAT || 'markdown',
36
38
  };
37
- client = new AzureDevOpsClient(config);
38
- console.error("Azure DevOps service initialized");
39
+ client = new AzureDevOpsClient(config, authConfig);
40
+ console.error(`Azure DevOps service initialized (auth: ${authConfig.mode})`);
39
41
  }
40
42
  return client;
41
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-factory.js","sourceRoot":"","sources":["../src/context-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-factory.js","sourceRoot":"","sources":["../src/context-factory.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -14,4 +14,6 @@ export { AzureDevOpsClient } from './azure-devops-client.js';
14
14
  export { createServiceContext } from './context-factory.js';
15
15
  export type { AzureDevOpsConfig } from './models/index.js';
16
16
  export type { ServiceContext } from './types.js';
17
+ export { AdoAuthProvider, resolveAuthConfig } from './ado-auth-provider.js';
18
+ export type { AdoAuthConfig, AuthMode } from './ado-auth-provider.js';
17
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAsCH;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAK1D;AAGD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAsCH;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAK1D;AAGD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC"}
package/build/index.js CHANGED
@@ -44,6 +44,8 @@ export function registerAzureDevOpsTools(server) {
44
44
  // Backward-compatible exports
45
45
  export { AzureDevOpsClient } from './azure-devops-client.js';
46
46
  export { createServiceContext } from './context-factory.js';
47
+ // Auth provider exports
48
+ export { AdoAuthProvider, resolveAuthConfig } from './ado-auth-provider.js';
47
49
  /**
48
50
  * Standalone CLI server (when run directly)
49
51
  * Uses realpathSync to resolve symlinks created by npx
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAW;IACtC,MAAM,WAAW,GAAG,qBAAqB,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAE7E,mBAAmB,CACjB,MAAM,EACN,WAAW,EACX,WAAW,EACX,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAChC,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;aAC3C;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAW;IAClD,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;IACnC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,8BAA8B;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAI5D;;;GAGG;AACH,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,OAAO,EAAE,CAAC;IAEV,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,IAAI,EAAE,oCAAoC;QAC1C,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;SACd;KACF,CAAC,CAAC;IAEH,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEjC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,gEAAgE,EAAE,KAAK,CAAC,CAAC;QACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAW;IACtC,MAAM,WAAW,GAAG,qBAAqB,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAE7E,mBAAmB,CACjB,MAAM,EACN,WAAW,EACX,WAAW,EACX,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAChC,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;aAC3C;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAW;IAClD,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;IACnC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,8BAA8B;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAI5D,wBAAwB;AACxB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG5E;;;GAGG;AACH,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,OAAO,EAAE,CAAC;IAEV,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,IAAI,EAAE,oCAAoC;QAC1C,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;SACd;KACF,CAAC,CAAC;IAEH,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEjC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,gEAAgE,EAAE,KAAK,CAAC,CAAC;QACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAC9E,CAAC"}
@@ -3,7 +3,8 @@
3
3
  */
4
4
  export interface AzureDevOpsConfig {
5
5
  organization: string;
6
- pat: string;
6
+ pat?: string;
7
+ authMode?: 'pat' | 'entra-id';
7
8
  projects: string[];
8
9
  apiVersion?: string;
9
10
  enableWorkItemWrite?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"api-types.d.ts","sourceRoot":"","sources":["../../src/models/api-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-types.d.ts","sourceRoot":"","sources":["../../src/models/api-types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-consultant-tools/azure-devops",
3
- "version": "29.0.0-beta.8",
3
+ "version": "29.0.0-beta.9",
4
4
  "description": "MCP server for Azure DevOps integration - wikis, work items, pull requests, and variable group read access",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",
@@ -41,6 +41,7 @@
41
41
  "node": ">=16.0.0"
42
42
  },
43
43
  "dependencies": {
44
+ "@azure/identity": "^4.13.0",
44
45
  "@mcp-consultant-tools/core": "28.0.0",
45
46
  "@modelcontextprotocol/ext-apps": "^1.1.2",
46
47
  "@modelcontextprotocol/sdk": "^1.0.4",