@microsoft/agents-a365-tooling 0.1.0-preview.93 → 0.2.0-preview.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 (49) hide show
  1. package/dist/cjs/McpToolServerConfigurationService.d.ts +41 -7
  2. package/dist/cjs/McpToolServerConfigurationService.d.ts.map +1 -1
  3. package/dist/cjs/McpToolServerConfigurationService.js +82 -13
  4. package/dist/cjs/McpToolServerConfigurationService.js.map +1 -1
  5. package/dist/cjs/Utility.d.ts +31 -5
  6. package/dist/cjs/Utility.d.ts.map +1 -1
  7. package/dist/cjs/Utility.js +58 -18
  8. package/dist/cjs/Utility.js.map +1 -1
  9. package/dist/cjs/configuration/ToolingConfiguration.d.ts +24 -0
  10. package/dist/cjs/configuration/ToolingConfiguration.d.ts.map +1 -0
  11. package/dist/cjs/configuration/ToolingConfiguration.js +66 -0
  12. package/dist/cjs/configuration/ToolingConfiguration.js.map +1 -0
  13. package/dist/cjs/configuration/ToolingConfigurationOptions.d.ts +23 -0
  14. package/dist/cjs/configuration/ToolingConfigurationOptions.d.ts.map +1 -0
  15. package/dist/cjs/configuration/ToolingConfigurationOptions.js +5 -0
  16. package/dist/cjs/configuration/ToolingConfigurationOptions.js.map +1 -0
  17. package/dist/cjs/configuration/index.d.ts +9 -0
  18. package/dist/cjs/configuration/index.d.ts.map +1 -0
  19. package/dist/cjs/configuration/index.js +28 -0
  20. package/dist/cjs/configuration/index.js.map +1 -0
  21. package/dist/cjs/index.d.ts +1 -0
  22. package/dist/cjs/index.d.ts.map +1 -1
  23. package/dist/cjs/index.js +3 -0
  24. package/dist/cjs/index.js.map +1 -1
  25. package/dist/esm/McpToolServerConfigurationService.d.ts +41 -7
  26. package/dist/esm/McpToolServerConfigurationService.d.ts.map +1 -1
  27. package/dist/esm/McpToolServerConfigurationService.js +83 -14
  28. package/dist/esm/McpToolServerConfigurationService.js.map +1 -1
  29. package/dist/esm/Utility.d.ts +31 -5
  30. package/dist/esm/Utility.d.ts.map +1 -1
  31. package/dist/esm/Utility.js +58 -18
  32. package/dist/esm/Utility.js.map +1 -1
  33. package/dist/esm/configuration/ToolingConfiguration.d.ts +24 -0
  34. package/dist/esm/configuration/ToolingConfiguration.d.ts.map +1 -0
  35. package/dist/esm/configuration/ToolingConfiguration.js +62 -0
  36. package/dist/esm/configuration/ToolingConfiguration.js.map +1 -0
  37. package/dist/esm/configuration/ToolingConfigurationOptions.d.ts +23 -0
  38. package/dist/esm/configuration/ToolingConfigurationOptions.d.ts.map +1 -0
  39. package/dist/esm/configuration/ToolingConfigurationOptions.js +4 -0
  40. package/dist/esm/configuration/ToolingConfigurationOptions.js.map +1 -0
  41. package/dist/esm/configuration/index.d.ts +9 -0
  42. package/dist/esm/configuration/index.d.ts.map +1 -0
  43. package/dist/esm/configuration/index.js +11 -0
  44. package/dist/esm/configuration/index.js.map +1 -0
  45. package/dist/esm/index.d.ts +1 -0
  46. package/dist/esm/index.d.ts.map +1 -1
  47. package/dist/esm/index.js +3 -0
  48. package/dist/esm/index.js.map +1 -1
  49. package/package.json +3 -3
@@ -1,34 +1,51 @@
1
- import { TurnContext } from '@microsoft/agents-hosting';
2
- import { OperationResult } from '@microsoft/agents-a365-runtime';
1
+ import { TurnContext, Authorization } from '@microsoft/agents-hosting';
2
+ import { OperationResult, IConfigurationProvider } from '@microsoft/agents-a365-runtime';
3
3
  import { MCPServerConfig, McpClientTool, ToolOptions } from './contracts';
4
4
  import { ChatHistoryMessage } from './models/index';
5
+ import { ToolingConfiguration } from './configuration';
5
6
  /**
6
7
  * Service responsible for discovering and normalizing MCP (Model Context Protocol)
7
8
  * tool servers and producing configuration objects consumable by the Claude SDK.
8
9
  */
9
10
  export declare class McpToolServerConfigurationService {
10
11
  private readonly logger;
12
+ private readonly configProvider;
11
13
  /**
12
14
  * Construct a McpToolServerConfigurationService.
15
+ * @param configProvider Optional configuration provider. Defaults to defaultToolingConfigurationProvider if not specified.
13
16
  */
14
- constructor();
17
+ constructor(configProvider?: IConfigurationProvider<ToolingConfiguration>);
15
18
  /**
16
19
  * Return MCP server definitions for the given agent. In development (NODE_ENV=Development) this reads the local ToolingManifest.json; otherwise it queries the remote tooling gateway.
17
20
  *
21
+ * @deprecated Use the overload with TurnContext and Authorization parameters instead to enable x-ms-agentid header support and automatic token generation.
18
22
  * @param agenticAppId The agentic app id for which to discover servers.
19
- * @param authToken Optional bearer token used when querying the remote tooling gateway.
23
+ * @param authToken Bearer token used when querying the remote tooling gateway.
20
24
  * @returns A promise resolving to an array of normalized MCP server configuration objects.
21
25
  */
22
26
  listToolServers(agenticAppId: string, authToken: string): Promise<MCPServerConfig[]>;
23
27
  /**
24
28
  * Return MCP server definitions for the given agent. In development (NODE_ENV=Development) this reads the local ToolingManifest.json; otherwise it queries the remote tooling gateway.
25
29
  *
30
+ * @deprecated Use the overload with TurnContext and Authorization parameters instead to enable x-ms-agentid header support and automatic token generation.
26
31
  * @param agenticAppId The agentic app id for which to discover servers.
27
- * @param authToken Optional bearer token used when querying the remote tooling gateway.
32
+ * @param authToken Bearer token used when querying the remote tooling gateway.
28
33
  * @param options Optional tool options when calling the gateway.
29
34
  * @returns A promise resolving to an array of normalized MCP server configuration objects.
30
35
  */
31
36
  listToolServers(agenticAppId: string, authToken: string, options?: ToolOptions): Promise<MCPServerConfig[]>;
37
+ /**
38
+ * Return MCP server definitions for the given agent. In development (NODE_ENV=Development) this reads the local ToolingManifest.json; otherwise it queries the remote tooling gateway.
39
+ * This overload automatically resolves the agenticAppId from the TurnContext and generates the auth token if not provided.
40
+ *
41
+ * @param turnContext The TurnContext of the current request.
42
+ * @param authorization Authorization object for token exchange.
43
+ * @param authHandlerName The name of the auth handler to use for token exchange.
44
+ * @param authToken Optional bearer token. If not provided, will be auto-generated via token exchange.
45
+ * @param options Optional tool options when calling the gateway.
46
+ * @returns A promise resolving to an array of normalized MCP server configuration objects.
47
+ */
48
+ listToolServers(turnContext: TurnContext, authorization: Authorization, authHandlerName: string, authToken?: string, options?: ToolOptions): Promise<MCPServerConfig[]>;
32
49
  /**
33
50
  * Connect to the MCP server and return tools with names prefixed by the server name.
34
51
  * Throws if the server URL is missing or the client fails to list tools.
@@ -69,6 +86,7 @@ export declare class McpToolServerConfigurationService {
69
86
  *
70
87
  * @param agenticAppId The agentic app id used by the tooling gateway to scope results.
71
88
  * @param authToken Optional Bearer token to include in the Authorization header when calling the gateway.
89
+ * @param turnContext Optional TurnContext for extracting agent blueprint ID for request headers.
72
90
  * @param options Optional tool options when calling the gateway.
73
91
  * @throws Error when the gateway call fails or returns an unexpected payload.
74
92
  */
@@ -100,10 +118,26 @@ export declare class McpToolServerConfigurationService {
100
118
  */
101
119
  private getMCPServerConfigsFromManifest;
102
120
  /**
103
- * Detect if the process is running in a development scenario based on environment variables.
121
+ * Detect if the process is running in a development scenario based on configuration.
104
122
  *
105
- * @returns {boolean} True when running in a development environment.
123
+ * @returns {boolean} True when running in a development environment (NODE_ENV=Development).
106
124
  */
107
125
  private isDevScenario;
126
+ /**
127
+ * Gets the base URL for MCP platform from configuration.
128
+ */
129
+ private getMcpPlatformBaseUrl;
130
+ /**
131
+ * Construct the tooling gateway URL for a given agent identity.
132
+ */
133
+ private getToolingGatewayUrl;
134
+ /**
135
+ * Build the full URL for accessing a specific MCP server.
136
+ */
137
+ private buildMcpServerUrl;
138
+ /**
139
+ * Constructs the endpoint URL for sending chat history.
140
+ */
141
+ private getChatHistoryEndpoint;
108
142
  }
109
143
  //# sourceMappingURL=McpToolServerConfigurationService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"McpToolServerConfigurationService.d.ts","sourceRoot":"","sources":["../../src/McpToolServerConfigurationService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAkB,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,eAAe,EAA0B,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAsB,MAAM,gBAAgB,CAAC;AAMxE;;;GAGG;AACH,qBAAa,iCAAiC;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAElC;;OAEG;;IAIH;;;;;;OAMG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAE1F;;;;;;;OAOG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAOjH;;;OAGG;IACG,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA8B1G;;;;;;;;;;;;OAYG;IACG,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAEpH;;;;;;;;;;;;;OAaG;IACG,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IAyE3I;;;;;;;;OAQG;YACW,qCAAqC;IAsBnD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;YACW,+BAA+B;IAoC7C;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAItB"}
1
+ {"version":3,"file":"McpToolServerConfigurationService.d.ts","sourceRoot":"","sources":["../../src/McpToolServerConfigurationService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAkB,sBAAsB,EAA2D,MAAM,gCAAgC,CAAC;AAClK,OAAO,EAAE,eAAe,EAA0B,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAsB,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAuC,MAAM,iBAAiB,CAAC;AAK5F;;;GAGG;AACH,qBAAa,iCAAiC;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+C;IAE9E;;;OAGG;gBACS,cAAc,CAAC,EAAE,sBAAsB,CAAC,oBAAoB,CAAC;IAIzE;;;;;;;OAOG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAE1F;;;;;;;;OAQG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAEjH;;;;;;;;;;OAUG;IACG,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IA8D7K;;;OAGG;IACG,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA8B1G;;;;;;;;;;;;OAYG;IACG,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAEpH;;;;;;;;;;;;;OAaG;IACG,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IAyE3I;;;;;;;;;OASG;YACW,qCAAqC;IAsBnD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;YACW,+BAA+B;IAoC7C;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAG/B"}
@@ -11,6 +11,7 @@ const path_1 = __importDefault(require("path"));
11
11
  const axios_1 = __importDefault(require("axios"));
12
12
  const agents_a365_runtime_1 = require("@microsoft/agents-a365-runtime");
13
13
  const Utility_1 = require("./Utility");
14
+ const configuration_1 = require("./configuration");
14
15
  const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/client/streamableHttp.js");
15
16
  const index_js_1 = require("@modelcontextprotocol/sdk/client/index.js");
16
17
  /**
@@ -20,13 +21,57 @@ const index_js_1 = require("@modelcontextprotocol/sdk/client/index.js");
20
21
  class McpToolServerConfigurationService {
21
22
  /**
22
23
  * Construct a McpToolServerConfigurationService.
24
+ * @param configProvider Optional configuration provider. Defaults to defaultToolingConfigurationProvider if not specified.
23
25
  */
24
- constructor() {
26
+ constructor(configProvider) {
25
27
  this.logger = console;
28
+ this.configProvider = configProvider ?? configuration_1.defaultToolingConfigurationProvider;
26
29
  }
27
- async listToolServers(agenticAppId, authToken, options) {
28
- return await (this.isDevScenario() ? this.getMCPServerConfigsFromManifest() :
29
- this.getMCPServerConfigsFromToolingGateway(agenticAppId, authToken, options));
30
+ async listToolServers(agenticAppIdOrTurnContext, authTokenOrAuthorization, optionsOrAuthHandlerName, authTokenOrOptions, options) {
31
+ // Detect which signature is being used based on the type of the first parameter
32
+ if (typeof agenticAppIdOrTurnContext === 'string') {
33
+ // LEGACY PATH: listToolServers(agenticAppId, authToken, options?)
34
+ const agenticAppId = agenticAppIdOrTurnContext;
35
+ // Runtime validation for legacy signature parameters
36
+ if (typeof authTokenOrAuthorization !== 'string') {
37
+ throw new Error('authToken must be a string when using the legacy listToolServers(agenticAppId, authToken) signature');
38
+ }
39
+ const authToken = authTokenOrAuthorization;
40
+ const toolOptions = optionsOrAuthHandlerName;
41
+ return await (this.isDevScenario()
42
+ ? this.getMCPServerConfigsFromManifest()
43
+ : this.getMCPServerConfigsFromToolingGateway(agenticAppId, authToken, undefined, toolOptions));
44
+ }
45
+ else {
46
+ // NEW PATH: listToolServers(turnContext, authorization, authHandlerName, authToken?, options?)
47
+ const turnContext = agenticAppIdOrTurnContext;
48
+ // Runtime validation for new signature parameters
49
+ if (typeof authTokenOrAuthorization === 'string') {
50
+ throw new Error('authorization must be an Authorization object when using the new listToolServers(turnContext, authorization, authHandlerName) signature');
51
+ }
52
+ if (typeof optionsOrAuthHandlerName !== 'string') {
53
+ throw new Error('authHandlerName must be a string when using the new listToolServers(turnContext, authorization, authHandlerName) signature');
54
+ }
55
+ const authorization = authTokenOrAuthorization;
56
+ const authHandlerName = optionsOrAuthHandlerName;
57
+ let authToken = authTokenOrOptions;
58
+ const toolOptions = options;
59
+ // Auto-generate token if not provided
60
+ if (!authToken) {
61
+ const scopes = [this.configProvider.getConfiguration().mcpPlatformAuthenticationScope];
62
+ authToken = await agents_a365_runtime_1.AgenticAuthenticationService.GetAgenticUserToken(authorization, authHandlerName, turnContext, scopes);
63
+ if (!authToken) {
64
+ throw new Error('Failed to obtain authentication token from token exchange');
65
+ }
66
+ }
67
+ // Note: Token validation (format/expiration) is performed inside getMCPServerConfigsFromToolingGateway()
68
+ // to avoid duplicate validation (it's also called by the legacy path)
69
+ // Resolve agenticAppId from TurnContext
70
+ const agenticAppId = agents_a365_runtime_1.Utility.ResolveAgentIdentity(turnContext, authToken);
71
+ return await (this.isDevScenario()
72
+ ? this.getMCPServerConfigsFromManifest()
73
+ : this.getMCPServerConfigsFromToolingGateway(agenticAppId, authToken, turnContext, toolOptions));
74
+ }
30
75
  }
31
76
  /**
32
77
  * Connect to the MCP server and return tools with names prefixed by the server name.
@@ -74,7 +119,7 @@ class McpToolServerConfigurationService {
74
119
  throw new Error('User message is required but not found in turn context');
75
120
  }
76
121
  // Get the endpoint URL
77
- const endpoint = Utility_1.Utility.GetChatHistoryEndpoint();
122
+ const endpoint = this.getChatHistoryEndpoint();
78
123
  this.logger.info(`Sending chat history to endpoint: ${endpoint}`);
79
124
  // Create the request payload
80
125
  const request = {
@@ -117,16 +162,17 @@ class McpToolServerConfigurationService {
117
162
  *
118
163
  * @param agenticAppId The agentic app id used by the tooling gateway to scope results.
119
164
  * @param authToken Optional Bearer token to include in the Authorization header when calling the gateway.
165
+ * @param turnContext Optional TurnContext for extracting agent blueprint ID for request headers.
120
166
  * @param options Optional tool options when calling the gateway.
121
167
  * @throws Error when the gateway call fails or returns an unexpected payload.
122
168
  */
123
- async getMCPServerConfigsFromToolingGateway(agenticAppId, authToken, options) {
169
+ async getMCPServerConfigsFromToolingGateway(agenticAppId, authToken, turnContext, options) {
124
170
  // Validate the authentication token
125
171
  Utility_1.Utility.ValidateAuthToken(authToken);
126
- const configEndpoint = Utility_1.Utility.GetToolingGatewayForDigitalWorker(agenticAppId);
172
+ const configEndpoint = this.getToolingGatewayUrl(agenticAppId);
127
173
  try {
128
174
  const response = await axios_1.default.get(configEndpoint, {
129
- headers: Utility_1.Utility.GetToolRequestHeaders(authToken, undefined, options),
175
+ headers: Utility_1.Utility.GetToolRequestHeaders(authToken, turnContext, options),
130
176
  timeout: 10000 // 10 seconds timeout
131
177
  });
132
178
  return (response.data) || [];
@@ -183,7 +229,7 @@ class McpToolServerConfigurationService {
183
229
  }
184
230
  return {
185
231
  mcpServerName: serverName,
186
- url: s.url || Utility_1.Utility.BuildMcpServerUrl(serverName),
232
+ url: s.url || this.buildMcpServerUrl(serverName),
187
233
  headers: s.headers
188
234
  };
189
235
  });
@@ -195,13 +241,36 @@ class McpToolServerConfigurationService {
195
241
  }
196
242
  }
197
243
  /**
198
- * Detect if the process is running in a development scenario based on environment variables.
244
+ * Detect if the process is running in a development scenario based on configuration.
199
245
  *
200
- * @returns {boolean} True when running in a development environment.
246
+ * @returns {boolean} True when running in a development environment (NODE_ENV=Development).
201
247
  */
202
248
  isDevScenario() {
203
- const environment = process.env.NODE_ENV || '';
204
- return environment.toLowerCase() === 'development';
249
+ return this.configProvider.getConfiguration().useToolingManifest;
250
+ }
251
+ /**
252
+ * Gets the base URL for MCP platform from configuration.
253
+ */
254
+ getMcpPlatformBaseUrl() {
255
+ return this.configProvider.getConfiguration().mcpPlatformEndpoint;
256
+ }
257
+ /**
258
+ * Construct the tooling gateway URL for a given agent identity.
259
+ */
260
+ getToolingGatewayUrl(agenticAppId) {
261
+ return `${this.getMcpPlatformBaseUrl()}/agents/${agenticAppId}/mcpServers`;
262
+ }
263
+ /**
264
+ * Build the full URL for accessing a specific MCP server.
265
+ */
266
+ buildMcpServerUrl(serverName) {
267
+ return `${this.getMcpPlatformBaseUrl()}/agents/servers/${serverName}/`;
268
+ }
269
+ /**
270
+ * Constructs the endpoint URL for sending chat history.
271
+ */
272
+ getChatHistoryEndpoint() {
273
+ return `${this.getMcpPlatformBaseUrl()}/agents/real-time-threat-protection/chat-message`;
205
274
  }
206
275
  }
207
276
  exports.McpToolServerConfigurationService = McpToolServerConfigurationService;
@@ -1 +1 @@
1
- {"version":3,"file":"McpToolServerConfigurationService.js","sourceRoot":"","sources":["../../src/McpToolServerConfigurationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpToolServerConfigurationService.js","sourceRoot":"","sources":["../../src/McpToolServerConfigurationService.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
1
  import { TurnContext } from '@microsoft/agents-hosting';
2
+ import { IConfigurationProvider } from '@microsoft/agents-a365-runtime';
2
3
  import { ToolOptions } from './contracts';
4
+ import { ToolingConfiguration } from './configuration';
3
5
  export declare class Utility {
4
6
  static readonly HEADER_CHANNEL_ID = "x-ms-channel-id";
5
7
  static readonly HEADER_SUBCHANNEL_ID = "x-ms-subchannel-id";
6
8
  static readonly HEADER_USER_AGENT = "User-Agent";
9
+ /** Header name for sending the agent identifier to MCP platform for logging/analytics. */
10
+ static readonly HEADER_AGENT_ID = "x-ms-agentid";
7
11
  /**
8
12
  * Compose standard headers for MCP tooling requests.
9
13
  * Includes Authorization bearer token when provided, and optionally includes channel and subchannel identifiers for routing.
@@ -14,6 +18,18 @@ export declare class Utility {
14
18
  * @returns A headers record suitable for HTTP requests.
15
19
  */
16
20
  static GetToolRequestHeaders(authToken?: string, turnContext?: TurnContext, options?: ToolOptions): Record<string, string>;
21
+ /**
22
+ * Resolves the best available agent identifier for the x-ms-agentid header.
23
+ * Priority: TurnContext.agenticAppBlueprintId > token claims (xms_par_app_azp > appid > azp) > application name
24
+ *
25
+ * Note: This differs from RuntimeUtility.ResolveAgentIdentity() which resolves the agenticAppId
26
+ * for URL construction. This method resolves the identifier specifically for the x-ms-agentid header.
27
+ *
28
+ * @param authToken The authentication token to extract claims from.
29
+ * @param turnContext Optional TurnContext to extract agent blueprint ID from.
30
+ * @returns Agent ID string or undefined if not available.
31
+ */
32
+ private static resolveAgentIdForHeader;
17
33
  /**
18
34
  * Validates a JWT authentication token.
19
35
  * Checks that the token is a valid JWT and is not expired.
@@ -39,15 +55,19 @@ export declare class Utility {
39
55
  * // => "https://agent365.svc.cloud.microsoft/agents/{agenticAppId}/mcpServers"
40
56
  *
41
57
  * @param agenticAppId - The unique identifier for the agent identity.
58
+ * @param configProvider - Optional configuration provider. Defaults to defaultToolingConfigurationProvider.
42
59
  * @returns A fully-qualified URL pointing at the tooling gateway for the agent.
60
+ * @deprecated This method is for internal use only. Use McpToolServerConfigurationService.listToolServers() instead.
43
61
  */
44
- static GetToolingGatewayForDigitalWorker(agenticAppId: string): string;
62
+ static GetToolingGatewayForDigitalWorker(agenticAppId: string, configProvider?: IConfigurationProvider<ToolingConfiguration>): string;
45
63
  /**
46
64
  * Get the base URL used to query MCP environments.
47
65
  *
66
+ * @param configProvider - Optional configuration provider. Defaults to defaultToolingConfigurationProvider.
48
67
  * @returns The base MCP environments URL.
68
+ * @deprecated This method is for internal use only. Use McpToolServerConfigurationService instead.
49
69
  */
50
- static GetMcpBaseUrl(): string;
70
+ static GetMcpBaseUrl(configProvider?: IConfigurationProvider<ToolingConfiguration>): string;
51
71
  /**
52
72
  * Build the full URL for accessing a specific MCP server.
53
73
  *
@@ -56,25 +76,31 @@ export declare class Utility {
56
76
  * // => "https://agent365.svc.cloud.microsoft/agents/servers/MyServer/"
57
77
  *
58
78
  * @param serverName - The MCP server resource name.
79
+ * @param configProvider - Optional configuration provider. Defaults to defaultToolingConfigurationProvider.
59
80
  * @returns The fully-qualified MCP server URL including trailing slash.
81
+ * @deprecated This method is for internal use only. Use McpToolServerConfigurationService instead.
60
82
  */
61
- static BuildMcpServerUrl(serverName: string): string;
83
+ static BuildMcpServerUrl(serverName: string, configProvider?: IConfigurationProvider<ToolingConfiguration>): string;
62
84
  /**
63
- * Gets the base URL for MCP platform, defaults to production URL if not set.
85
+ * Gets the base URL for MCP platform from configuration.
64
86
  *
87
+ * @param configProvider - Optional configuration provider. Defaults to defaultToolingConfigurationProvider.
65
88
  * @returns The base URL for MCP platform.
89
+ * @deprecated This method is for internal use only. Use ToolingConfiguration.mcpPlatformEndpoint instead.
66
90
  */
67
91
  private static getMcpPlatformBaseUrl;
68
92
  /**
69
93
  * Constructs the endpoint URL for sending chat history to the MCP platform for real-time threat protection.
70
94
  *
95
+ * @param configProvider - Optional configuration provider. Defaults to defaultToolingConfigurationProvider.
71
96
  * @returns An absolute URL that tooling components can use to send or retrieve chat messages for
72
97
  * real-time threat protection scenarios.
73
98
  * @remarks
74
99
  * Call this method when constructing HTTP requests that need to access the chat-message history
75
100
  * for real-time threat protection. The returned URL already includes the MCP platform base address
76
101
  * and the fixed path segment `/agents/real-time-threat-protection/chat-message`.
102
+ * @deprecated This method is for internal use only. Use McpToolServerConfigurationService.sendChatHistory() instead.
77
103
  */
78
- static GetChatHistoryEndpoint(): string;
104
+ static GetChatHistoryEndpoint(configProvider?: IConfigurationProvider<ToolingConfiguration>): string;
79
105
  }
80
106
  //# sourceMappingURL=Utility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utility.d.ts","sourceRoot":"","sources":["../../src/Utility.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,qBAAa,OAAO;IAClB,gBAAuB,iBAAiB,qBAAqB;IAC7D,gBAAuB,oBAAoB,wBAAwB;IACnE,gBAAuB,iBAAiB,gBAAgB;IAExD;;;;;;;;OAQG;WACW,qBAAqB,CACjC,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,WAAW,EACzB,OAAO,CAAC,EAAE,WAAW,GACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAyBzB;;;;;;OAMG;WACW,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIpE;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAqChC;;;;;;;;;;OAUG;WACW,iCAAiC,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAK7E;;;;OAIG;WACW,aAAa,IAAI,MAAM;IAIrC;;;;;;;;;MASE;WACY,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAI,MAAM;IAK5D;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAQpC;;;;;;;;;OASG;WACW,sBAAsB,IAAI,MAAM;CAG/C"}
1
+ {"version":3,"file":"Utility.d.ts","sourceRoot":"","sources":["../../src/Utility.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAA6B,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAEnG,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAuC,MAAM,iBAAiB,CAAC;AAE5F,qBAAa,OAAO;IAClB,gBAAuB,iBAAiB,qBAAqB;IAC7D,gBAAuB,oBAAoB,wBAAwB;IACnE,gBAAuB,iBAAiB,gBAAgB;IACxD,0FAA0F;IAC1F,gBAAuB,eAAe,kBAAkB;IAExD;;;;;;;;OAQG;WACW,qBAAqB,CACjC,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,WAAW,EACzB,OAAO,CAAC,EAAE,WAAW,GACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA+BzB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAsBtC;;;;;;OAMG;WACW,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIpE;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAqChC;;;;;;;;;;;;OAYG;WACW,iCAAiC,CAC7C,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,GAC5D,MAAM;IAIT;;;;;;OAMG;WACW,aAAa,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAIlG;;;;;;;;;;;MAWE;WACY,iBAAiB,CAC7B,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,GAC5D,MAAM;IAKT;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAKpC;;;;;;;;;;;OAWG;WACW,sBAAsB,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,GAAG,MAAM;CAG5G"}
@@ -4,8 +4,7 @@
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.Utility = void 0;
6
6
  const agents_a365_runtime_1 = require("@microsoft/agents-a365-runtime");
7
- // Constant for MCP Platform base URL in production
8
- const MCP_PLATFORM_PROD_BASE_URL = 'https://agent365.svc.cloud.microsoft';
7
+ const configuration_1 = require("./configuration");
9
8
  class Utility {
10
9
  /**
11
10
  * Compose standard headers for MCP tooling requests.
@@ -20,6 +19,11 @@ class Utility {
20
19
  const headers = {};
21
20
  if (authToken) {
22
21
  headers['Authorization'] = `Bearer ${authToken}`;
22
+ // Add x-ms-agentid header with priority fallback (only when authToken present)
23
+ const agentId = this.resolveAgentIdForHeader(authToken, turnContext);
24
+ if (agentId) {
25
+ headers[Utility.HEADER_AGENT_ID] = agentId;
26
+ }
23
27
  }
24
28
  const channelId = turnContext?.activity?.channelId;
25
29
  const subChannelId = turnContext?.activity?.channelIdSubChannel;
@@ -34,6 +38,33 @@ class Utility {
34
38
  }
35
39
  return headers;
36
40
  }
41
+ /**
42
+ * Resolves the best available agent identifier for the x-ms-agentid header.
43
+ * Priority: TurnContext.agenticAppBlueprintId > token claims (xms_par_app_azp > appid > azp) > application name
44
+ *
45
+ * Note: This differs from RuntimeUtility.ResolveAgentIdentity() which resolves the agenticAppId
46
+ * for URL construction. This method resolves the identifier specifically for the x-ms-agentid header.
47
+ *
48
+ * @param authToken The authentication token to extract claims from.
49
+ * @param turnContext Optional TurnContext to extract agent blueprint ID from.
50
+ * @returns Agent ID string or undefined if not available.
51
+ */
52
+ static resolveAgentIdForHeader(authToken, turnContext) {
53
+ // Priority 1: Agent Blueprint ID from TurnContext
54
+ // The 'from' property may include agenticAppBlueprintId when the request originates from an agentic app
55
+ const blueprintId = turnContext?.activity?.from?.agenticAppBlueprintId;
56
+ if (blueprintId) {
57
+ return blueprintId;
58
+ }
59
+ // Priority 2 & 3: Agent ID from token (xms_par_app_azp > appid > azp)
60
+ // Single decode, checks claims in priority order
61
+ const agentId = agents_a365_runtime_1.Utility.getAgentIdFromToken(authToken);
62
+ if (agentId) {
63
+ return agentId;
64
+ }
65
+ // Priority 4: Application name from npm_package_name or package.json
66
+ return agents_a365_runtime_1.Utility.getApplicationName();
67
+ }
37
68
  /**
38
69
  * Validates a JWT authentication token.
39
70
  * Checks that the token is a valid JWT and is not expired.
@@ -92,19 +123,22 @@ class Utility {
92
123
  * // => "https://agent365.svc.cloud.microsoft/agents/{agenticAppId}/mcpServers"
93
124
  *
94
125
  * @param agenticAppId - The unique identifier for the agent identity.
126
+ * @param configProvider - Optional configuration provider. Defaults to defaultToolingConfigurationProvider.
95
127
  * @returns A fully-qualified URL pointing at the tooling gateway for the agent.
128
+ * @deprecated This method is for internal use only. Use McpToolServerConfigurationService.listToolServers() instead.
96
129
  */
97
- static GetToolingGatewayForDigitalWorker(agenticAppId) {
98
- // The endpoint needs to be updated based on the environment (prod, dev, etc.)
99
- return `${this.getMcpPlatformBaseUrl()}/agents/${agenticAppId}/mcpServers`;
130
+ static GetToolingGatewayForDigitalWorker(agenticAppId, configProvider) {
131
+ return `${this.getMcpPlatformBaseUrl(configProvider)}/agents/${agenticAppId}/mcpServers`;
100
132
  }
101
133
  /**
102
134
  * Get the base URL used to query MCP environments.
103
135
  *
136
+ * @param configProvider - Optional configuration provider. Defaults to defaultToolingConfigurationProvider.
104
137
  * @returns The base MCP environments URL.
138
+ * @deprecated This method is for internal use only. Use McpToolServerConfigurationService instead.
105
139
  */
106
- static GetMcpBaseUrl() {
107
- return `${this.getMcpPlatformBaseUrl()}/agents/servers`;
140
+ static GetMcpBaseUrl(configProvider) {
141
+ return `${this.getMcpPlatformBaseUrl(configProvider)}/agents/servers`;
108
142
  }
109
143
  /**
110
144
  * Build the full URL for accessing a specific MCP server.
@@ -114,39 +148,45 @@ class Utility {
114
148
  * // => "https://agent365.svc.cloud.microsoft/agents/servers/MyServer/"
115
149
  *
116
150
  * @param serverName - The MCP server resource name.
151
+ * @param configProvider - Optional configuration provider. Defaults to defaultToolingConfigurationProvider.
117
152
  * @returns The fully-qualified MCP server URL including trailing slash.
153
+ * @deprecated This method is for internal use only. Use McpToolServerConfigurationService instead.
118
154
  */
119
- static BuildMcpServerUrl(serverName) {
120
- const baseUrl = this.GetMcpBaseUrl();
121
- return `${baseUrl}/${serverName}`;
155
+ static BuildMcpServerUrl(serverName, configProvider) {
156
+ const baseUrl = this.GetMcpBaseUrl(configProvider);
157
+ return `${baseUrl}/${serverName}/`;
122
158
  }
123
159
  /**
124
- * Gets the base URL for MCP platform, defaults to production URL if not set.
160
+ * Gets the base URL for MCP platform from configuration.
125
161
  *
162
+ * @param configProvider - Optional configuration provider. Defaults to defaultToolingConfigurationProvider.
126
163
  * @returns The base URL for MCP platform.
164
+ * @deprecated This method is for internal use only. Use ToolingConfiguration.mcpPlatformEndpoint instead.
127
165
  */
128
- static getMcpPlatformBaseUrl() {
129
- if (process.env.MCP_PLATFORM_ENDPOINT) {
130
- return process.env.MCP_PLATFORM_ENDPOINT;
131
- }
132
- return MCP_PLATFORM_PROD_BASE_URL;
166
+ static getMcpPlatformBaseUrl(configProvider) {
167
+ const provider = configProvider ?? configuration_1.defaultToolingConfigurationProvider;
168
+ return provider.getConfiguration().mcpPlatformEndpoint;
133
169
  }
134
170
  /**
135
171
  * Constructs the endpoint URL for sending chat history to the MCP platform for real-time threat protection.
136
172
  *
173
+ * @param configProvider - Optional configuration provider. Defaults to defaultToolingConfigurationProvider.
137
174
  * @returns An absolute URL that tooling components can use to send or retrieve chat messages for
138
175
  * real-time threat protection scenarios.
139
176
  * @remarks
140
177
  * Call this method when constructing HTTP requests that need to access the chat-message history
141
178
  * for real-time threat protection. The returned URL already includes the MCP platform base address
142
179
  * and the fixed path segment `/agents/real-time-threat-protection/chat-message`.
180
+ * @deprecated This method is for internal use only. Use McpToolServerConfigurationService.sendChatHistory() instead.
143
181
  */
144
- static GetChatHistoryEndpoint() {
145
- return `${this.getMcpPlatformBaseUrl()}/agents/real-time-threat-protection/chat-message`;
182
+ static GetChatHistoryEndpoint(configProvider) {
183
+ return `${this.getMcpPlatformBaseUrl(configProvider)}/agents/real-time-threat-protection/chat-message`;
146
184
  }
147
185
  }
148
186
  exports.Utility = Utility;
149
187
  Utility.HEADER_CHANNEL_ID = 'x-ms-channel-id';
150
188
  Utility.HEADER_SUBCHANNEL_ID = 'x-ms-subchannel-id';
151
189
  Utility.HEADER_USER_AGENT = 'User-Agent';
190
+ /** Header name for sending the agent identifier to MCP platform for logging/analytics. */
191
+ Utility.HEADER_AGENT_ID = 'x-ms-agentid';
152
192
  //# sourceMappingURL=Utility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utility.js","sourceRoot":"","sources":["../../src/Utility.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,wEAA2E;AAI3E,mDAAmD;AACnD,MAAM,0BAA0B,GAAG,sCAAsC,CAAC;AAE1E,MAAa,OAAO;IAKlB;;;;;;;;OAQG;IACI,MAAM,CAAC,qBAAqB,CACjC,SAAkB,EAClB,WAAyB,EACzB,OAAqB;QAErB,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,SAAS,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,SAAS,GAAG,WAAW,EAAE,QAAQ,EAAE,SAA+B,CAAC;QACzE,MAAM,YAAY,GAAG,WAAW,EAAE,QAAQ,EAAE,mBAAyC,CAAC;QAEtF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;QACjD,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,YAAY,CAAC;QACvD,CAAC;QAED,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,6BAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACnG,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,iBAAiB,CAAC,SAA6B;QAC3D,OAAO,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,iBAAiB,CAAC,SAA6B;QAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,qDAAqD;QACrD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,OAEH,CAAC;QAEF,IAAI,CAAC;YACH,8CAA8C;YAC9C,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,yBAAyB;YACzB,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1G,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,mBAAmB;QACnB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YACvD,IAAI,OAAO,CAAC,GAAG,GAAG,gBAAgB,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAC,iCAAiC,CAAC,YAAoB;QAClE,8EAA8E;QAC9E,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,WAAW,YAAY,aAAa,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa;QACzB,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,iBAAiB,CAAC;IAC1D,CAAC;IAED;;;;;;;;;MASE;IACK,MAAM,CAAC,iBAAiB,CAAC,UAAkB;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,OAAO,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,qBAAqB;QAClC,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC3C,CAAC;QAED,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,sBAAsB;QAClC,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,kDAAkD,CAAC;IAC3F,CAAC;;AAnKH,0BAoKC;AAnKwB,yBAAiB,GAAG,iBAAiB,CAAC;AACtC,4BAAoB,GAAG,oBAAoB,CAAC;AAC5C,yBAAiB,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"Utility.js","sourceRoot":"","sources":["../../src/Utility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { RuntimeConfiguration } from '@microsoft/agents-a365-runtime';
2
+ import { ToolingConfigurationOptions } from './ToolingConfigurationOptions';
3
+ /**
4
+ * Configuration for tooling package.
5
+ * Inherits runtime settings and adds tooling-specific settings.
6
+ */
7
+ export declare class ToolingConfiguration extends RuntimeConfiguration {
8
+ protected get toolingOverrides(): ToolingConfigurationOptions;
9
+ constructor(overrides?: ToolingConfigurationOptions);
10
+ get mcpPlatformEndpoint(): string;
11
+ /**
12
+ * Whether to use the ToolingManifest.json file instead of gateway discovery.
13
+ * Returns true when NODE_ENV is set to 'development' (case-insensitive), or
14
+ * when explicitly overridden via configuration.
15
+ */
16
+ get useToolingManifest(): boolean;
17
+ /**
18
+ * Gets the MCP platform authentication scope.
19
+ * Used by AgenticAuthenticationService for token exchange.
20
+ * Trims whitespace to prevent token exchange failures.
21
+ */
22
+ get mcpPlatformAuthenticationScope(): string;
23
+ }
24
+ //# sourceMappingURL=ToolingConfiguration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolingConfiguration.d.ts","sourceRoot":"","sources":["../../../src/configuration/ToolingConfiguration.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAc5E;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,oBAAoB;IAE5D,SAAS,KAAK,gBAAgB,IAAI,2BAA2B,CAE5D;gBAEW,SAAS,CAAC,EAAE,2BAA2B;IAMnD,IAAI,mBAAmB,IAAI,MAAM,CAQhC;IAED;;;;OAIG;IACH,IAAI,kBAAkB,IAAI,OAAO,CAKhC;IAED;;;;OAIG;IACH,IAAI,8BAA8B,IAAI,MAAM,CAQ3C;CACF"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ToolingConfiguration = void 0;
6
+ const agents_a365_runtime_1 = require("@microsoft/agents-a365-runtime");
7
+ // Constants for tooling-specific settings
8
+ const MCP_PLATFORM_PROD_BASE_URL = 'https://agent365.svc.cloud.microsoft';
9
+ const PROD_MCP_PLATFORM_AUTHENTICATION_SCOPE = 'ea9ffc3e-8a23-4a7d-836d-234d7c7565c1/.default';
10
+ /**
11
+ * Normalize URL by trimming whitespace and removing trailing slashes.
12
+ * Prevents double-slash issues in URL construction (e.g., "https://example.com//api").
13
+ */
14
+ function normalizeUrl(url) {
15
+ return url.trim().replace(/\/+$/, '');
16
+ }
17
+ /**
18
+ * Configuration for tooling package.
19
+ * Inherits runtime settings and adds tooling-specific settings.
20
+ */
21
+ class ToolingConfiguration extends agents_a365_runtime_1.RuntimeConfiguration {
22
+ // Type-safe access to tooling overrides
23
+ get toolingOverrides() {
24
+ return this.overrides;
25
+ }
26
+ constructor(overrides) {
27
+ super(overrides);
28
+ }
29
+ // Inherited: clusterCategory, isDevelopmentEnvironment, isNodeEnvDevelopment
30
+ get mcpPlatformEndpoint() {
31
+ const override = this.toolingOverrides.mcpPlatformEndpoint?.();
32
+ if (override)
33
+ return normalizeUrl(override);
34
+ const envValue = process.env.MCP_PLATFORM_ENDPOINT?.trim();
35
+ if (envValue)
36
+ return normalizeUrl(envValue);
37
+ return MCP_PLATFORM_PROD_BASE_URL;
38
+ }
39
+ /**
40
+ * Whether to use the ToolingManifest.json file instead of gateway discovery.
41
+ * Returns true when NODE_ENV is set to 'development' (case-insensitive), or
42
+ * when explicitly overridden via configuration.
43
+ */
44
+ get useToolingManifest() {
45
+ const override = this.toolingOverrides.useToolingManifest?.();
46
+ if (override !== undefined)
47
+ return override;
48
+ return this.isNodeEnvDevelopment;
49
+ }
50
+ /**
51
+ * Gets the MCP platform authentication scope.
52
+ * Used by AgenticAuthenticationService for token exchange.
53
+ * Trims whitespace to prevent token exchange failures.
54
+ */
55
+ get mcpPlatformAuthenticationScope() {
56
+ const override = this.toolingOverrides.mcpPlatformAuthenticationScope?.()?.trim();
57
+ if (override)
58
+ return override;
59
+ const envValue = process.env.MCP_PLATFORM_AUTHENTICATION_SCOPE?.trim();
60
+ if (envValue)
61
+ return envValue;
62
+ return PROD_MCP_PLATFORM_AUTHENTICATION_SCOPE;
63
+ }
64
+ }
65
+ exports.ToolingConfiguration = ToolingConfiguration;
66
+ //# sourceMappingURL=ToolingConfiguration.js.map