@microsoft/agents-a365-tooling-extensions-openai 0.1.0-preview.103

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 (43) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +33 -0
  3. package/dist/cjs/McpToolRegistrationService.d.ts +120 -0
  4. package/dist/cjs/McpToolRegistrationService.d.ts.map +1 -0
  5. package/dist/cjs/McpToolRegistrationService.js +265 -0
  6. package/dist/cjs/McpToolRegistrationService.js.map +1 -0
  7. package/dist/cjs/configuration/OpenAIToolingConfiguration.d.ts +42 -0
  8. package/dist/cjs/configuration/OpenAIToolingConfiguration.d.ts.map +1 -0
  9. package/dist/cjs/configuration/OpenAIToolingConfiguration.js +49 -0
  10. package/dist/cjs/configuration/OpenAIToolingConfiguration.js.map +1 -0
  11. package/dist/cjs/configuration/OpenAIToolingConfigurationOptions.d.ts +9 -0
  12. package/dist/cjs/configuration/OpenAIToolingConfigurationOptions.d.ts.map +1 -0
  13. package/dist/cjs/configuration/OpenAIToolingConfigurationOptions.js +5 -0
  14. package/dist/cjs/configuration/OpenAIToolingConfigurationOptions.js.map +1 -0
  15. package/dist/cjs/configuration/index.d.ts +9 -0
  16. package/dist/cjs/configuration/index.d.ts.map +1 -0
  17. package/dist/cjs/configuration/index.js +28 -0
  18. package/dist/cjs/configuration/index.js.map +1 -0
  19. package/dist/cjs/index.d.ts +4 -0
  20. package/dist/cjs/index.d.ts.map +1 -0
  21. package/dist/cjs/index.js +25 -0
  22. package/dist/cjs/index.js.map +1 -0
  23. package/dist/esm/McpToolRegistrationService.d.ts +120 -0
  24. package/dist/esm/McpToolRegistrationService.d.ts.map +1 -0
  25. package/dist/esm/McpToolRegistrationService.js +261 -0
  26. package/dist/esm/McpToolRegistrationService.js.map +1 -0
  27. package/dist/esm/configuration/OpenAIToolingConfiguration.d.ts +42 -0
  28. package/dist/esm/configuration/OpenAIToolingConfiguration.d.ts.map +1 -0
  29. package/dist/esm/configuration/OpenAIToolingConfiguration.js +45 -0
  30. package/dist/esm/configuration/OpenAIToolingConfiguration.js.map +1 -0
  31. package/dist/esm/configuration/OpenAIToolingConfigurationOptions.d.ts +9 -0
  32. package/dist/esm/configuration/OpenAIToolingConfigurationOptions.d.ts.map +1 -0
  33. package/dist/esm/configuration/OpenAIToolingConfigurationOptions.js +4 -0
  34. package/dist/esm/configuration/OpenAIToolingConfigurationOptions.js.map +1 -0
  35. package/dist/esm/configuration/index.d.ts +9 -0
  36. package/dist/esm/configuration/index.d.ts.map +1 -0
  37. package/dist/esm/configuration/index.js +11 -0
  38. package/dist/esm/configuration/index.js.map +1 -0
  39. package/dist/esm/index.d.ts +4 -0
  40. package/dist/esm/index.d.ts.map +1 -0
  41. package/dist/esm/index.js +7 -0
  42. package/dist/esm/index.js.map +1 -0
  43. package/package.json +66 -0
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Microsoft
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,33 @@
1
+ # @microsoft/agents-a365-tooling-extensions-openai
2
+
3
+ [![npm](https://img.shields.io/npm/v/@microsoft/agents-a365-tooling-extensions-openai?label=npm&logo=npm)](https://www.npmjs.com/package/@microsoft/agents-a365-tooling-extensions-openai)
4
+ [![npm Downloads](https://img.shields.io/npm/dm/@microsoft/agents-a365-tooling-extensions-openai?label=Downloads&logo=npm)](https://www.npmjs.com/package/@microsoft/agents-a365-tooling-extensions-openai)
5
+
6
+ OpenAI Agents SDK integration for the Microsoft Agent 365 Tooling SDK. This package enables seamless integration of MCP (Model Context Protocol) tool servers with OpenAI Agents, providing automatic tool discovery and registration.
7
+
8
+ ## Installation
9
+
10
+ ```bash
11
+ npm install @microsoft/agents-a365-tooling-extensions-openai
12
+ ```
13
+
14
+ ## Usage
15
+
16
+ For detailed usage examples and implementation guidance, see the [Microsoft Agent 365 Tooling Documentation](https://learn.microsoft.com/microsoft-agent-365/developer/tooling?tabs=nodejs).
17
+
18
+ ## Support
19
+
20
+ For issues, questions, or feedback:
21
+
22
+ - File issues in the [GitHub Issues](https://github.com/microsoft/Agent365-nodejs/issues) section
23
+ - See the [main documentation](../../README.md) for more information
24
+
25
+ ## Trademarks
26
+
27
+ *Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at http://go.microsoft.com/fwlink/?LinkID=254653.*
28
+
29
+ ## License
30
+
31
+ Copyright (c) Microsoft Corporation. All rights reserved.
32
+
33
+ Licensed under the MIT License - see the [LICENSE](../../LICENSE.md) file for details
@@ -0,0 +1,120 @@
1
+ import { ToolOptions } from '@microsoft/agents-a365-tooling';
2
+ import { OperationResult, IConfigurationProvider } from '@microsoft/agents-a365-runtime';
3
+ import { OpenAIToolingConfiguration } from './configuration';
4
+ import { TurnContext, Authorization } from '@microsoft/agents-hosting';
5
+ import { Agent, AgentInputItem } from '@openai/agents';
6
+ import { OpenAIConversationsSession } from '@openai/agents-openai';
7
+ /**
8
+ * Discover MCP servers and list tools formatted for the OpenAI Agents SDK.
9
+ * Uses listToolServers to fetch server configs.
10
+ */
11
+ export declare class McpToolRegistrationService {
12
+ private readonly configService;
13
+ private readonly configProvider;
14
+ private readonly orchestratorName;
15
+ /**
16
+ * Construct a McpToolRegistrationService.
17
+ * @param configProvider Optional configuration provider. Defaults to defaultOpenAIToolingConfigurationProvider if not specified.
18
+ */
19
+ constructor(configProvider?: IConfigurationProvider<OpenAIToolingConfiguration>);
20
+ /**
21
+ * Registers MCP tool servers and updates agent options with discovered tools and server configs.
22
+ * Call this to enable dynamic OpenAI tool access based on the current MCP environment.
23
+ * @param agent The OpenAI Agent instance to which MCP servers will be added.
24
+ * @param authorization Authorization object for token exchange.
25
+ * @param authHandlerName The name of the auth handler to use for token exchange.
26
+ * @param turnContext The TurnContext of the current request.
27
+ * @param authToken Optional bearer token for MCP server access.
28
+ * @returns The updated Agent instance with registered MCP servers.
29
+ */
30
+ addToolServersToAgent(agent: Agent, authorization: Authorization, authHandlerName: string, turnContext: TurnContext, authToken: string): Promise<Agent>;
31
+ /**
32
+ * Sends chat history from an OpenAI Session to the MCP platform for real-time threat protection.
33
+ *
34
+ * This method extracts messages from the provided OpenAI Session using `getItems()`,
35
+ * converts them to the `ChatHistoryMessage` format, and sends them to the MCP platform.
36
+ *
37
+ * @param turnContext - The turn context containing conversation information.
38
+ * @param session - The OpenAI Session instance to extract messages from.
39
+ * @param limit - Optional limit on the number of messages to retrieve from the session.
40
+ * @param toolOptions - Optional tool options for customization.
41
+ * @returns A Promise resolving to an OperationResult indicating success or failure.
42
+ * @throws Error if turnContext is null/undefined.
43
+ * @throws Error if session is null/undefined.
44
+ * @throws Error if required turn context properties are missing.
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const session = new OpenAIConversationsSession(sessionOptions);
49
+ * const result = await service.sendChatHistoryAsync(turnContext, session, 50);
50
+ * if (result.succeeded) {
51
+ * console.log('Chat history sent successfully');
52
+ * } else {
53
+ * console.error('Failed to send chat history:', result.errors);
54
+ * }
55
+ * ```
56
+ */
57
+ sendChatHistoryAsync(turnContext: TurnContext, session: OpenAIConversationsSession, limit?: number, toolOptions?: ToolOptions): Promise<OperationResult>;
58
+ /**
59
+ * Sends a list of OpenAI messages to the MCP platform for real-time threat protection.
60
+ *
61
+ * This method converts the provided AgentInputItem messages to `ChatHistoryMessage` format
62
+ * and sends them to the MCP platform.
63
+ *
64
+ * @param turnContext - The turn context containing conversation information.
65
+ * @param messages - Array of AgentInputItem messages to send.
66
+ * @param toolOptions - Optional ToolOptions for customization.
67
+ * @returns A Promise resolving to an OperationResult indicating success or failure.
68
+ * @throws Error if turnContext is null/undefined.
69
+ * @throws Error if messages is null/undefined.
70
+ * @throws Error if required turn context properties are missing.
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * const items = await session.getItems();
75
+ * const result = await service.sendChatHistoryMessagesAsync(turnContext, items);
76
+ * ```
77
+ */
78
+ sendChatHistoryMessagesAsync(turnContext: TurnContext, messages: AgentInputItem[], toolOptions?: ToolOptions): Promise<OperationResult>;
79
+ /**
80
+ * Converts OpenAI AgentInputItem messages to ChatHistoryMessage format.
81
+ * @param messages - Array of AgentInputItem messages to convert.
82
+ * @returns Array of successfully converted ChatHistoryMessage objects.
83
+ */
84
+ private convertToChatHistoryMessages;
85
+ /**
86
+ * Converts a single OpenAI message to ChatHistoryMessage format.
87
+ * @param message - The AgentInputItem to convert.
88
+ * @returns A ChatHistoryMessage object, or null if conversion fails.
89
+ */
90
+ private convertSingleMessage;
91
+ /**
92
+ * Extracts the role from an OpenAI message.
93
+ * Simply returns message.role directly without any transformation or validation.
94
+ * @param message - The AgentInputItem to extract the role from.
95
+ * @returns The role string from the message.
96
+ */
97
+ private extractRole;
98
+ /**
99
+ * Extracts content from an OpenAI message.
100
+ * @param message - The AgentInputItem to extract content from.
101
+ * @returns The extracted content string.
102
+ * @throws Error if content is empty or cannot be extracted.
103
+ */
104
+ private extractContent;
105
+ /**
106
+ * Extracts or generates an ID for a message.
107
+ * @param message - The AgentInputItem to extract or generate an ID for.
108
+ * @returns The message ID, either existing or newly generated UUID.
109
+ */
110
+ private extractId;
111
+ /**
112
+ * Extracts or generates a timestamp for a message.
113
+ * Note: AgentInputItem types do not have a standard timestamp property,
114
+ * so we always generate the current timestamp.
115
+ * @param _message - The AgentInputItem (unused, as timestamps are always generated).
116
+ * @returns The current Date.
117
+ */
118
+ private extractTimestamp;
119
+ }
120
+ //# sourceMappingURL=McpToolRegistrationService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpToolRegistrationService.d.ts","sourceRoot":"","sources":["../../src/McpToolRegistrationService.ts"],"names":[],"mappings":"AAIA,OAAO,EAA8C,WAAW,EAAsB,MAAM,gCAAgC,CAAC;AAC7H,OAAO,EAAgC,eAAe,EAAkB,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACvI,OAAO,EAAE,0BAA0B,EAA6C,MAAM,iBAAiB,CAAC;AAGxG,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAGvE,OAAO,EAAE,KAAK,EAA2B,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;GAGG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoC;IAClE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqD;IACpF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAErD;;;OAGG;gBACS,cAAc,CAAC,EAAE,sBAAsB,CAAC,0BAA0B,CAAC;IAM/E;;;;;;;;;OASG;IACG,qBAAqB,CACzB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,CAAC;IAwCjB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,oBAAoB,CACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,0BAA0B,EACnC,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,eAAe,CAAC;IA4B3B;;;;;;;;;;;;;;;;;;;OAmBG;IACG,4BAA4B,CAChC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,eAAe,CAAC;IAgC3B;;;;OAIG;IACH,OAAO,CAAC,4BAA4B;IAMpC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAKnB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAwCtB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IASjB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;CAKzB"}
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.McpToolRegistrationService = void 0;
6
+ const uuid_1 = require("uuid");
7
+ const agents_a365_tooling_1 = require("@microsoft/agents-a365-tooling");
8
+ const agents_a365_runtime_1 = require("@microsoft/agents-a365-runtime");
9
+ const configuration_1 = require("./configuration");
10
+ // OpenAI Agents SDK
11
+ const agents_1 = require("@openai/agents");
12
+ /**
13
+ * Discover MCP servers and list tools formatted for the OpenAI Agents SDK.
14
+ * Uses listToolServers to fetch server configs.
15
+ */
16
+ class McpToolRegistrationService {
17
+ /**
18
+ * Construct a McpToolRegistrationService.
19
+ * @param configProvider Optional configuration provider. Defaults to defaultOpenAIToolingConfigurationProvider if not specified.
20
+ */
21
+ constructor(configProvider) {
22
+ this.orchestratorName = "OpenAI";
23
+ this.configProvider = configProvider ?? configuration_1.defaultOpenAIToolingConfigurationProvider;
24
+ this.configService = new agents_a365_tooling_1.McpToolServerConfigurationService(this.configProvider);
25
+ }
26
+ /**
27
+ * Registers MCP tool servers and updates agent options with discovered tools and server configs.
28
+ * Call this to enable dynamic OpenAI tool access based on the current MCP environment.
29
+ * @param agent The OpenAI Agent instance to which MCP servers will be added.
30
+ * @param authorization Authorization object for token exchange.
31
+ * @param authHandlerName The name of the auth handler to use for token exchange.
32
+ * @param turnContext The TurnContext of the current request.
33
+ * @param authToken Optional bearer token for MCP server access.
34
+ * @returns The updated Agent instance with registered MCP servers.
35
+ */
36
+ async addToolServersToAgent(agent, authorization, authHandlerName, turnContext, authToken) {
37
+ if (!agent) {
38
+ throw new Error('Agent is Required');
39
+ }
40
+ if (!authToken) {
41
+ const scope = this.configProvider.getConfiguration().mcpPlatformAuthenticationScope;
42
+ authToken = await agents_a365_runtime_1.AgenticAuthenticationService.GetAgenticUserToken(authorization, authHandlerName, turnContext, [scope]);
43
+ }
44
+ // Validate the authentication token
45
+ agents_a365_tooling_1.Utility.ValidateAuthToken(authToken);
46
+ const options = { orchestratorName: this.orchestratorName };
47
+ const servers = await this.configService.listToolServers(turnContext, authorization, authHandlerName, authToken, options);
48
+ const mcpServers = [];
49
+ for (const server of servers) {
50
+ // Compose headers if values are available
51
+ const headers = agents_a365_tooling_1.Utility.GetToolRequestHeaders(authToken, turnContext, options);
52
+ // Create MCPServerStreamableHttp instance for OpenAI agents
53
+ const mcpServer = new agents_1.MCPServerStreamableHttp({
54
+ url: server.url,
55
+ name: server.mcpServerName,
56
+ requestInit: {
57
+ headers: headers,
58
+ }
59
+ });
60
+ mcpServers.push(mcpServer);
61
+ }
62
+ agent.mcpServers = agent.mcpServers ?? [];
63
+ agent.mcpServers.push(...mcpServers);
64
+ return agent;
65
+ }
66
+ /**
67
+ * Sends chat history from an OpenAI Session to the MCP platform for real-time threat protection.
68
+ *
69
+ * This method extracts messages from the provided OpenAI Session using `getItems()`,
70
+ * converts them to the `ChatHistoryMessage` format, and sends them to the MCP platform.
71
+ *
72
+ * @param turnContext - The turn context containing conversation information.
73
+ * @param session - The OpenAI Session instance to extract messages from.
74
+ * @param limit - Optional limit on the number of messages to retrieve from the session.
75
+ * @param toolOptions - Optional tool options for customization.
76
+ * @returns A Promise resolving to an OperationResult indicating success or failure.
77
+ * @throws Error if turnContext is null/undefined.
78
+ * @throws Error if session is null/undefined.
79
+ * @throws Error if required turn context properties are missing.
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * const session = new OpenAIConversationsSession(sessionOptions);
84
+ * const result = await service.sendChatHistoryAsync(turnContext, session, 50);
85
+ * if (result.succeeded) {
86
+ * console.log('Chat history sent successfully');
87
+ * } else {
88
+ * console.error('Failed to send chat history:', result.errors);
89
+ * }
90
+ * ```
91
+ */
92
+ async sendChatHistoryAsync(turnContext, session, limit, toolOptions) {
93
+ // Validate inputs
94
+ if (!turnContext) {
95
+ throw new Error('turnContext is required');
96
+ }
97
+ if (!session) {
98
+ throw new Error('session is required');
99
+ }
100
+ let items;
101
+ try {
102
+ // Extract messages from session
103
+ items = await session.getItems(limit);
104
+ }
105
+ catch (err) {
106
+ // Convert errors from session.getItems() into a failed OperationResult
107
+ const error = err;
108
+ return agents_a365_runtime_1.OperationResult.failed(new agents_a365_runtime_1.OperationError(error));
109
+ }
110
+ // Delegate to the list-based method
111
+ // Validation errors from this method will propagate
112
+ return await this.sendChatHistoryMessagesAsync(turnContext, items, toolOptions);
113
+ }
114
+ /**
115
+ * Sends a list of OpenAI messages to the MCP platform for real-time threat protection.
116
+ *
117
+ * This method converts the provided AgentInputItem messages to `ChatHistoryMessage` format
118
+ * and sends them to the MCP platform.
119
+ *
120
+ * @param turnContext - The turn context containing conversation information.
121
+ * @param messages - Array of AgentInputItem messages to send.
122
+ * @param toolOptions - Optional ToolOptions for customization.
123
+ * @returns A Promise resolving to an OperationResult indicating success or failure.
124
+ * @throws Error if turnContext is null/undefined.
125
+ * @throws Error if messages is null/undefined.
126
+ * @throws Error if required turn context properties are missing.
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * const items = await session.getItems();
131
+ * const result = await service.sendChatHistoryMessagesAsync(turnContext, items);
132
+ * ```
133
+ */
134
+ async sendChatHistoryMessagesAsync(turnContext, messages, toolOptions) {
135
+ // Validate inputs
136
+ if (!turnContext) {
137
+ throw new Error('turnContext is required');
138
+ }
139
+ if (!messages) {
140
+ throw new Error('messages is required');
141
+ }
142
+ // Set default options
143
+ const effectiveOptions = {
144
+ orchestratorName: toolOptions?.orchestratorName ?? this.orchestratorName
145
+ };
146
+ let chatHistoryMessages;
147
+ try {
148
+ // Convert OpenAI messages to ChatHistoryMessage format
149
+ chatHistoryMessages = this.convertToChatHistoryMessages(messages);
150
+ }
151
+ catch (err) {
152
+ // Convert errors from message conversion into a failed OperationResult
153
+ const error = err;
154
+ return agents_a365_runtime_1.OperationResult.failed(new agents_a365_runtime_1.OperationError(error));
155
+ }
156
+ // Delegate to core service
157
+ return await this.configService.sendChatHistory(turnContext, chatHistoryMessages, effectiveOptions);
158
+ }
159
+ /**
160
+ * Converts OpenAI AgentInputItem messages to ChatHistoryMessage format.
161
+ * @param messages - Array of AgentInputItem messages to convert.
162
+ * @returns Array of successfully converted ChatHistoryMessage objects.
163
+ */
164
+ convertToChatHistoryMessages(messages) {
165
+ return messages
166
+ .map(msg => this.convertSingleMessage(msg))
167
+ .filter((msg) => msg !== null);
168
+ }
169
+ /**
170
+ * Converts a single OpenAI message to ChatHistoryMessage format.
171
+ * @param message - The AgentInputItem to convert.
172
+ * @returns A ChatHistoryMessage object, or null if conversion fails.
173
+ */
174
+ convertSingleMessage(message) {
175
+ try {
176
+ return {
177
+ id: this.extractId(message),
178
+ role: this.extractRole(message),
179
+ content: this.extractContent(message),
180
+ timestamp: this.extractTimestamp(message)
181
+ };
182
+ }
183
+ catch {
184
+ return null;
185
+ }
186
+ }
187
+ /**
188
+ * Extracts the role from an OpenAI message.
189
+ * Simply returns message.role directly without any transformation or validation.
190
+ * @param message - The AgentInputItem to extract the role from.
191
+ * @returns The role string from the message.
192
+ */
193
+ extractRole(message) {
194
+ const { role } = message;
195
+ return role;
196
+ }
197
+ /**
198
+ * Extracts content from an OpenAI message.
199
+ * @param message - The AgentInputItem to extract content from.
200
+ * @returns The extracted content string.
201
+ * @throws Error if content is empty or cannot be extracted.
202
+ */
203
+ extractContent(message) {
204
+ let content;
205
+ const messageWithContent = message;
206
+ const messageWithText = message;
207
+ // Handle string content
208
+ if (typeof messageWithContent.content === 'string') {
209
+ content = messageWithContent.content;
210
+ }
211
+ // Handle array content (ContentPart[])
212
+ else if (Array.isArray(messageWithContent.content)) {
213
+ const textParts = messageWithContent.content
214
+ .filter((part) => {
215
+ if (typeof part === 'string')
216
+ return true;
217
+ return part.type === 'text' || part.type === 'input_text' || (typeof part === 'object' && 'text' in part);
218
+ })
219
+ .map(part => {
220
+ if (typeof part === 'string')
221
+ return part;
222
+ return part.text || '';
223
+ })
224
+ .filter(text => text.length > 0);
225
+ if (textParts.length > 0) {
226
+ content = textParts.join(' ');
227
+ }
228
+ }
229
+ // Try text property as fallback
230
+ else if (typeof messageWithText.text === 'string') {
231
+ content = messageWithText.text;
232
+ }
233
+ // Reject empty content
234
+ if (!content || content.trim().length === 0) {
235
+ throw new Error('Message content cannot be empty');
236
+ }
237
+ return content;
238
+ }
239
+ /**
240
+ * Extracts or generates an ID for a message.
241
+ * @param message - The AgentInputItem to extract or generate an ID for.
242
+ * @returns The message ID, either existing or newly generated UUID.
243
+ */
244
+ extractId(message) {
245
+ const messageWithId = message;
246
+ if (messageWithId.id) {
247
+ return messageWithId.id;
248
+ }
249
+ return (0, uuid_1.v4)();
250
+ }
251
+ /**
252
+ * Extracts or generates a timestamp for a message.
253
+ * Note: AgentInputItem types do not have a standard timestamp property,
254
+ * so we always generate the current timestamp.
255
+ * @param _message - The AgentInputItem (unused, as timestamps are always generated).
256
+ * @returns The current Date.
257
+ */
258
+ extractTimestamp(_message) {
259
+ // AgentInputItem types do not include timestamp properties.
260
+ // Always use current UTC time.
261
+ return new Date();
262
+ }
263
+ }
264
+ exports.McpToolRegistrationService = McpToolRegistrationService;
265
+ //# sourceMappingURL=McpToolRegistrationService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpToolRegistrationService.js","sourceRoot":"","sources":["../../src/McpToolRegistrationService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { ToolingConfiguration } from '@microsoft/agents-a365-tooling';
2
+ import { OpenAIToolingConfigurationOptions } from './OpenAIToolingConfigurationOptions';
3
+ /**
4
+ * Configuration for OpenAI tooling extension package.
5
+ * Inherits all tooling and runtime settings.
6
+ *
7
+ * ## Why This Class Exists
8
+ *
9
+ * Although this class currently adds no new settings beyond what ToolingConfiguration
10
+ * provides, it exists for several important reasons:
11
+ *
12
+ * 1. **Type Safety**: Allows OpenAI-specific services to declare their dependency on
13
+ * `IConfigurationProvider<OpenAIToolingConfiguration>`, making the configuration
14
+ * contract explicit and enabling compile-time checking.
15
+ *
16
+ * 2. **Extension Point**: Provides a clear place to add OpenAI-specific settings
17
+ * (e.g., Agents SDK timeouts, thread polling intervals, run limits) without
18
+ * breaking existing code when those needs arise.
19
+ *
20
+ * 3. **Consistent Pattern**: Maintains symmetry with other extension packages
21
+ * (Claude, LangChain), making the SDK easier to understand and navigate.
22
+ *
23
+ * 4. **Dependency Injection**: Services can be designed to accept this specific
24
+ * configuration type, enabling proper IoC patterns and testability.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * // Service declares explicit dependency on OpenAI configuration
29
+ * class OpenAIService {
30
+ * constructor(private configProvider: IConfigurationProvider<OpenAIToolingConfiguration>) {}
31
+ * }
32
+ *
33
+ * // Future: Add OpenAI-specific settings without breaking changes
34
+ * class OpenAIToolingConfiguration extends ToolingConfiguration {
35
+ * get threadPollingInterval(): number { ... }
36
+ * }
37
+ * ```
38
+ */
39
+ export declare class OpenAIToolingConfiguration extends ToolingConfiguration {
40
+ constructor(overrides?: OpenAIToolingConfigurationOptions);
41
+ }
42
+ //# sourceMappingURL=OpenAIToolingConfiguration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAIToolingConfiguration.d.ts","sourceRoot":"","sources":["../../../src/configuration/OpenAIToolingConfiguration.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAExF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,0BAA2B,SAAQ,oBAAoB;gBACtD,SAAS,CAAC,EAAE,iCAAiC;CAK1D"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.OpenAIToolingConfiguration = void 0;
6
+ const agents_a365_tooling_1 = require("@microsoft/agents-a365-tooling");
7
+ /**
8
+ * Configuration for OpenAI tooling extension package.
9
+ * Inherits all tooling and runtime settings.
10
+ *
11
+ * ## Why This Class Exists
12
+ *
13
+ * Although this class currently adds no new settings beyond what ToolingConfiguration
14
+ * provides, it exists for several important reasons:
15
+ *
16
+ * 1. **Type Safety**: Allows OpenAI-specific services to declare their dependency on
17
+ * `IConfigurationProvider<OpenAIToolingConfiguration>`, making the configuration
18
+ * contract explicit and enabling compile-time checking.
19
+ *
20
+ * 2. **Extension Point**: Provides a clear place to add OpenAI-specific settings
21
+ * (e.g., Agents SDK timeouts, thread polling intervals, run limits) without
22
+ * breaking existing code when those needs arise.
23
+ *
24
+ * 3. **Consistent Pattern**: Maintains symmetry with other extension packages
25
+ * (Claude, LangChain), making the SDK easier to understand and navigate.
26
+ *
27
+ * 4. **Dependency Injection**: Services can be designed to accept this specific
28
+ * configuration type, enabling proper IoC patterns and testability.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // Service declares explicit dependency on OpenAI configuration
33
+ * class OpenAIService {
34
+ * constructor(private configProvider: IConfigurationProvider<OpenAIToolingConfiguration>) {}
35
+ * }
36
+ *
37
+ * // Future: Add OpenAI-specific settings without breaking changes
38
+ * class OpenAIToolingConfiguration extends ToolingConfiguration {
39
+ * get threadPollingInterval(): number { ... }
40
+ * }
41
+ * ```
42
+ */
43
+ class OpenAIToolingConfiguration extends agents_a365_tooling_1.ToolingConfiguration {
44
+ constructor(overrides) {
45
+ super(overrides);
46
+ }
47
+ }
48
+ exports.OpenAIToolingConfiguration = OpenAIToolingConfiguration;
49
+ //# sourceMappingURL=OpenAIToolingConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAIToolingConfiguration.js","sourceRoot":"","sources":["../../../src/configuration/OpenAIToolingConfiguration.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,wEAAsE;AAGtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAa,0BAA2B,SAAQ,0CAAoB;IAClE,YAAY,SAA6C;QACvD,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;CAGF;AAND,gEAMC"}
@@ -0,0 +1,9 @@
1
+ import { ToolingConfigurationOptions } from '@microsoft/agents-a365-tooling';
2
+ /**
3
+ * OpenAI tooling configuration options - extends tooling options.
4
+ * All overrides are functions called on each property access.
5
+ *
6
+ * Currently no additional settings; this type exists for future extensibility.
7
+ */
8
+ export type OpenAIToolingConfigurationOptions = ToolingConfigurationOptions;
9
+ //# sourceMappingURL=OpenAIToolingConfigurationOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAIToolingConfigurationOptions.d.ts","sourceRoot":"","sources":["../../../src/configuration/OpenAIToolingConfigurationOptions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG,2BAA2B,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=OpenAIToolingConfigurationOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAIToolingConfigurationOptions.js","sourceRoot":"","sources":["../../../src/configuration/OpenAIToolingConfigurationOptions.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC"}
@@ -0,0 +1,9 @@
1
+ import { DefaultConfigurationProvider } from '@microsoft/agents-a365-runtime';
2
+ import { OpenAIToolingConfiguration } from './OpenAIToolingConfiguration';
3
+ export * from './OpenAIToolingConfigurationOptions';
4
+ export * from './OpenAIToolingConfiguration';
5
+ /**
6
+ * Shared default provider for OpenAIToolingConfiguration.
7
+ */
8
+ export declare const defaultOpenAIToolingConfigurationProvider: DefaultConfigurationProvider<OpenAIToolingConfiguration>;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/configuration/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,yCAAyC,0DACoB,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.defaultOpenAIToolingConfigurationProvider = void 0;
20
+ const agents_a365_runtime_1 = require("@microsoft/agents-a365-runtime");
21
+ const OpenAIToolingConfiguration_1 = require("./OpenAIToolingConfiguration");
22
+ __exportStar(require("./OpenAIToolingConfigurationOptions"), exports);
23
+ __exportStar(require("./OpenAIToolingConfiguration"), exports);
24
+ /**
25
+ * Shared default provider for OpenAIToolingConfiguration.
26
+ */
27
+ exports.defaultOpenAIToolingConfigurationProvider = new agents_a365_runtime_1.DefaultConfigurationProvider(() => new OpenAIToolingConfiguration_1.OpenAIToolingConfiguration());
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/configuration/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;;;;;;AAElC,wEAA8E;AAC9E,6EAA0E;AAE1E,sEAAoD;AACpD,+DAA6C;AAE7C;;GAEG;AACU,QAAA,yCAAyC,GACpD,IAAI,kDAA4B,CAAC,GAAG,EAAE,CAAC,IAAI,uDAA0B,EAAE,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './McpToolRegistrationService';
2
+ export * from './configuration';
3
+ export { OpenAIConversationsSession } from '@openai/agents-openai';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC"}