@openai/agents-core 0.1.6 → 0.1.7
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.
- package/dist/agent.d.ts +14 -1
- package/dist/agent.js +42 -2
- package/dist/agent.js.map +1 -1
- package/dist/agent.mjs +42 -2
- package/dist/agent.mjs.map +1 -1
- package/dist/handoff.d.ts +17 -2
- package/dist/handoff.js +11 -9
- package/dist/handoff.js.map +1 -1
- package/dist/handoff.mjs +11 -9
- package/dist/handoff.mjs.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/mcp.d.ts +33 -7
- package/dist/mcp.js +32 -2
- package/dist/mcp.js.map +1 -1
- package/dist/mcp.mjs +32 -2
- package/dist/mcp.mjs.map +1 -1
- package/dist/metadata.js +2 -2
- package/dist/metadata.mjs +2 -2
- package/dist/run.js +11 -9
- package/dist/run.js.map +1 -1
- package/dist/run.mjs +12 -10
- package/dist/run.mjs.map +1 -1
- package/dist/runImplementation.d.ts +5 -2
- package/dist/runImplementation.js +46 -26
- package/dist/runImplementation.js.map +1 -1
- package/dist/runImplementation.mjs +45 -26
- package/dist/runImplementation.mjs.map +1 -1
- package/dist/shims/mcp-server/browser.d.ts +4 -4
- package/dist/shims/mcp-server/node.d.ts +4 -4
- package/dist/shims/mcp-server/node.js +6 -6
- package/dist/shims/mcp-server/node.js.map +1 -1
- package/dist/shims/mcp-server/node.mjs +6 -6
- package/dist/shims/mcp-server/node.mjs.map +1 -1
- package/dist/tool.d.ts +18 -0
- package/dist/tool.js +8 -0
- package/dist/tool.js.map +1 -1
- package/dist/tool.mjs +8 -0
- package/dist/tool.mjs.map +1 -1
- package/dist/utils/serialize.d.ts +2 -1
- package/dist/utils/serialize.js.map +1 -1
- package/dist/utils/serialize.mjs.map +1 -1
- package/package.json +1 -1
package/dist/agent.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type { RunContext } from './runContext';
|
|
|
8
8
|
import { type FunctionTool, type FunctionToolResult, type Tool, type ToolApprovalFunction } from './tool';
|
|
9
9
|
import type { ResolvedAgentOutput, JsonSchemaDefinition, HandoffsOutput, Expand } from './types';
|
|
10
10
|
import type { RunResult } from './result';
|
|
11
|
-
import type
|
|
11
|
+
import { type Handoff } from './handoff';
|
|
12
12
|
import { NonStreamRunOptions, RunConfig } from './run';
|
|
13
13
|
import { RunToolApprovalItem } from './items';
|
|
14
14
|
import { UnknownContext, TextOutput } from './types';
|
|
@@ -292,6 +292,13 @@ export declare class Agent<TContext = UnknownContext, TOutput extends AgentOutpu
|
|
|
292
292
|
* Additional run options for the agent (as tool) execution.
|
|
293
293
|
*/
|
|
294
294
|
runOptions?: NonStreamRunOptions<TContext>;
|
|
295
|
+
/**
|
|
296
|
+
* Determines whether this tool should be exposed to the model for the current run.
|
|
297
|
+
*/
|
|
298
|
+
isEnabled?: boolean | ((args: {
|
|
299
|
+
runContext: RunContext<TContext>;
|
|
300
|
+
agent: Agent<TContext, TOutput>;
|
|
301
|
+
}) => boolean | Promise<boolean>);
|
|
295
302
|
}): FunctionTool<TContext, typeof AgentAsToolNeedApprovalSchame>;
|
|
296
303
|
/**
|
|
297
304
|
* Returns the system prompt for the agent.
|
|
@@ -318,6 +325,12 @@ export declare class Agent<TContext = UnknownContext, TOutput extends AgentOutpu
|
|
|
318
325
|
* @returns all configured tools
|
|
319
326
|
*/
|
|
320
327
|
getAllTools(runContext: RunContext<TContext>): Promise<Tool<TContext>[]>;
|
|
328
|
+
/**
|
|
329
|
+
* Returns the handoffs that should be exposed to the model for the current run.
|
|
330
|
+
*
|
|
331
|
+
* Handoffs that provide an `isEnabled` function returning `false` are omitted.
|
|
332
|
+
*/
|
|
333
|
+
getEnabledHandoffs(runContext: RunContext<TContext>): Promise<Handoff<any, any>[]>;
|
|
321
334
|
/**
|
|
322
335
|
* Processes the final output of the agent.
|
|
323
336
|
*
|
package/dist/agent.js
CHANGED
|
@@ -11,6 +11,7 @@ const lifecycle_1 = require("./lifecycle.js");
|
|
|
11
11
|
const mcp_1 = require("./mcp.js");
|
|
12
12
|
const defaultModel_1 = require("./defaultModel.js");
|
|
13
13
|
const tool_1 = require("./tool.js");
|
|
14
|
+
const handoff_1 = require("./handoff.js");
|
|
14
15
|
const run_1 = require("./run.js");
|
|
15
16
|
const tools_1 = require("./utils/tools.js");
|
|
16
17
|
const messages_1 = require("./utils/messages.js");
|
|
@@ -171,13 +172,14 @@ class Agent extends lifecycle_1.AgentHooks {
|
|
|
171
172
|
* @returns A tool that runs the agent and returns the output text.
|
|
172
173
|
*/
|
|
173
174
|
asTool(options) {
|
|
174
|
-
const { toolName, toolDescription, customOutputExtractor, needsApproval, runConfig, runOptions, } = options;
|
|
175
|
+
const { toolName, toolDescription, customOutputExtractor, needsApproval, runConfig, runOptions, isEnabled, } = options;
|
|
175
176
|
return (0, tool_1.tool)({
|
|
176
177
|
name: toolName ?? (0, tools_1.toFunctionToolName)(this.name),
|
|
177
178
|
description: toolDescription ?? '',
|
|
178
179
|
parameters: AgentAsToolNeedApprovalSchame,
|
|
179
180
|
strict: true,
|
|
180
181
|
needsApproval,
|
|
182
|
+
isEnabled,
|
|
181
183
|
execute: async (data, context, details) => {
|
|
182
184
|
if (!(0, typeGuards_1.isAgentToolInput)(data)) {
|
|
183
185
|
throw new errors_1.ModelBehaviorError('Agent tool called with invalid input');
|
|
@@ -187,6 +189,13 @@ class Agent extends lifecycle_1.AgentHooks {
|
|
|
187
189
|
context,
|
|
188
190
|
...(runOptions ?? {}),
|
|
189
191
|
});
|
|
192
|
+
const usesStopAtToolNames = typeof this.toolUseBehavior === 'object' &&
|
|
193
|
+
this.toolUseBehavior !== null &&
|
|
194
|
+
'stopAtToolNames' in this.toolUseBehavior;
|
|
195
|
+
if (typeof customOutputExtractor !== 'function' &&
|
|
196
|
+
usesStopAtToolNames) {
|
|
197
|
+
logger_1.default.debug(`You're passing the agent (name: ${this.name}) with toolUseBehavior.stopAtToolNames configured as a tool to a different agent; this may not work as you expect. You may want to have a wrapper function tool to consistently return the final output.`);
|
|
198
|
+
}
|
|
190
199
|
const outputText = typeof customOutputExtractor === 'function'
|
|
191
200
|
? await customOutputExtractor(result)
|
|
192
201
|
: (0, messages_1.getOutputText)(result.rawResponses[result.rawResponses.length - 1]);
|
|
@@ -242,7 +251,38 @@ class Agent extends lifecycle_1.AgentHooks {
|
|
|
242
251
|
* @returns all configured tools
|
|
243
252
|
*/
|
|
244
253
|
async getAllTools(runContext) {
|
|
245
|
-
|
|
254
|
+
const mcpTools = await this.getMcpTools(runContext);
|
|
255
|
+
const enabledTools = [];
|
|
256
|
+
for (const candidate of this.tools) {
|
|
257
|
+
if (candidate.type === 'function') {
|
|
258
|
+
const maybeIsEnabled = candidate.isEnabled;
|
|
259
|
+
const enabled = typeof maybeIsEnabled === 'function'
|
|
260
|
+
? await maybeIsEnabled(runContext, this)
|
|
261
|
+
: typeof maybeIsEnabled === 'boolean'
|
|
262
|
+
? maybeIsEnabled
|
|
263
|
+
: true;
|
|
264
|
+
if (!enabled) {
|
|
265
|
+
continue;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
enabledTools.push(candidate);
|
|
269
|
+
}
|
|
270
|
+
return [...mcpTools, ...enabledTools];
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Returns the handoffs that should be exposed to the model for the current run.
|
|
274
|
+
*
|
|
275
|
+
* Handoffs that provide an `isEnabled` function returning `false` are omitted.
|
|
276
|
+
*/
|
|
277
|
+
async getEnabledHandoffs(runContext) {
|
|
278
|
+
const handoffs = this.handoffs?.map((h) => (0, handoff_1.getHandoff)(h)) ?? [];
|
|
279
|
+
const enabled = [];
|
|
280
|
+
for (const handoff of handoffs) {
|
|
281
|
+
if (await handoff.isEnabled({ runContext, agent: this })) {
|
|
282
|
+
enabled.push(handoff);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
return enabled;
|
|
246
286
|
}
|
|
247
287
|
/**
|
|
248
288
|
* Processes the final output of the agent.
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.mjs
CHANGED
|
@@ -3,6 +3,7 @@ import { AgentHooks } from "./lifecycle.mjs";
|
|
|
3
3
|
import { getAllMcpTools } from "./mcp.mjs";
|
|
4
4
|
import { getDefaultModelSettings, gpt5ReasoningSettingsRequired, isGpt5Default, } from "./defaultModel.mjs";
|
|
5
5
|
import { tool, } from "./tool.mjs";
|
|
6
|
+
import { getHandoff } from "./handoff.mjs";
|
|
6
7
|
import { Runner } from "./run.mjs";
|
|
7
8
|
import { toFunctionToolName } from "./utils/tools.mjs";
|
|
8
9
|
import { getOutputText } from "./utils/messages.mjs";
|
|
@@ -163,13 +164,14 @@ export class Agent extends AgentHooks {
|
|
|
163
164
|
* @returns A tool that runs the agent and returns the output text.
|
|
164
165
|
*/
|
|
165
166
|
asTool(options) {
|
|
166
|
-
const { toolName, toolDescription, customOutputExtractor, needsApproval, runConfig, runOptions, } = options;
|
|
167
|
+
const { toolName, toolDescription, customOutputExtractor, needsApproval, runConfig, runOptions, isEnabled, } = options;
|
|
167
168
|
return tool({
|
|
168
169
|
name: toolName ?? toFunctionToolName(this.name),
|
|
169
170
|
description: toolDescription ?? '',
|
|
170
171
|
parameters: AgentAsToolNeedApprovalSchame,
|
|
171
172
|
strict: true,
|
|
172
173
|
needsApproval,
|
|
174
|
+
isEnabled,
|
|
173
175
|
execute: async (data, context, details) => {
|
|
174
176
|
if (!isAgentToolInput(data)) {
|
|
175
177
|
throw new ModelBehaviorError('Agent tool called with invalid input');
|
|
@@ -179,6 +181,13 @@ export class Agent extends AgentHooks {
|
|
|
179
181
|
context,
|
|
180
182
|
...(runOptions ?? {}),
|
|
181
183
|
});
|
|
184
|
+
const usesStopAtToolNames = typeof this.toolUseBehavior === 'object' &&
|
|
185
|
+
this.toolUseBehavior !== null &&
|
|
186
|
+
'stopAtToolNames' in this.toolUseBehavior;
|
|
187
|
+
if (typeof customOutputExtractor !== 'function' &&
|
|
188
|
+
usesStopAtToolNames) {
|
|
189
|
+
logger.debug(`You're passing the agent (name: ${this.name}) with toolUseBehavior.stopAtToolNames configured as a tool to a different agent; this may not work as you expect. You may want to have a wrapper function tool to consistently return the final output.`);
|
|
190
|
+
}
|
|
182
191
|
const outputText = typeof customOutputExtractor === 'function'
|
|
183
192
|
? await customOutputExtractor(result)
|
|
184
193
|
: getOutputText(result.rawResponses[result.rawResponses.length - 1]);
|
|
@@ -234,7 +243,38 @@ export class Agent extends AgentHooks {
|
|
|
234
243
|
* @returns all configured tools
|
|
235
244
|
*/
|
|
236
245
|
async getAllTools(runContext) {
|
|
237
|
-
|
|
246
|
+
const mcpTools = await this.getMcpTools(runContext);
|
|
247
|
+
const enabledTools = [];
|
|
248
|
+
for (const candidate of this.tools) {
|
|
249
|
+
if (candidate.type === 'function') {
|
|
250
|
+
const maybeIsEnabled = candidate.isEnabled;
|
|
251
|
+
const enabled = typeof maybeIsEnabled === 'function'
|
|
252
|
+
? await maybeIsEnabled(runContext, this)
|
|
253
|
+
: typeof maybeIsEnabled === 'boolean'
|
|
254
|
+
? maybeIsEnabled
|
|
255
|
+
: true;
|
|
256
|
+
if (!enabled) {
|
|
257
|
+
continue;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
enabledTools.push(candidate);
|
|
261
|
+
}
|
|
262
|
+
return [...mcpTools, ...enabledTools];
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Returns the handoffs that should be exposed to the model for the current run.
|
|
266
|
+
*
|
|
267
|
+
* Handoffs that provide an `isEnabled` function returning `false` are omitted.
|
|
268
|
+
*/
|
|
269
|
+
async getEnabledHandoffs(runContext) {
|
|
270
|
+
const handoffs = this.handoffs?.map((h) => getHandoff(h)) ?? [];
|
|
271
|
+
const enabled = [];
|
|
272
|
+
for (const handoff of handoffs) {
|
|
273
|
+
if (await handoff.isEnabled({ runContext, agent: this })) {
|
|
274
|
+
enabled.push(handoff);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return enabled;
|
|
238
278
|
}
|
|
239
279
|
/**
|
|
240
280
|
* Processes the final output of the agent.
|
package/dist/agent.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.mjs","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"OACO,EAAE,CAAC,EAAE,MAAM,KAAK;OAGhB,EAAE,UAAU,EAAE;OACd,EAAE,cAAc,EAAkB;OAElC,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,aAAa,GACd;OAEM,EAGL,IAAI,
|
|
1
|
+
{"version":3,"file":"agent.mjs","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/handoff.d.ts
CHANGED
|
@@ -43,6 +43,15 @@ export declare function getTransferMessage<TContext, TOutput extends AgentOutput
|
|
|
43
43
|
* @template TContext The context of the handoff
|
|
44
44
|
* @template TOutput The output type of the handoff
|
|
45
45
|
*/
|
|
46
|
+
type HandoffEnabledPredicate<TContext = UnknownContext> = (args: {
|
|
47
|
+
runContext: RunContext<TContext>;
|
|
48
|
+
agent: Agent<any, any>;
|
|
49
|
+
}) => boolean | Promise<boolean>;
|
|
50
|
+
type HandoffEnabledOption<TContext> = boolean | HandoffEnabledPredicate<TContext>;
|
|
51
|
+
export type HandoffEnabledFunction<TContext = UnknownContext> = (args: {
|
|
52
|
+
runContext: RunContext<TContext>;
|
|
53
|
+
agent: Agent<any, any>;
|
|
54
|
+
}) => Promise<boolean>;
|
|
46
55
|
export declare class Handoff<TContext = UnknownContext, TOutput extends AgentOutputType = TextOutput> {
|
|
47
56
|
/**
|
|
48
57
|
* The name of the tool that represents the handoff.
|
|
@@ -99,6 +108,7 @@ export declare class Handoff<TContext = UnknownContext, TOutput extends AgentOut
|
|
|
99
108
|
parameters: JsonObjectSchema<any>;
|
|
100
109
|
strict: boolean;
|
|
101
110
|
};
|
|
111
|
+
isEnabled: HandoffEnabledFunction<TContext>;
|
|
102
112
|
constructor(agent: Agent<TContext, TOutput>, onInvokeHandoff: (context: RunContext<TContext>, args: string) => Promise<Agent<TContext, TOutput>> | Agent<TContext, TOutput>);
|
|
103
113
|
}
|
|
104
114
|
/**
|
|
@@ -108,7 +118,7 @@ export type OnHandoffCallback<TInputType extends ToolInputParameters> = (context
|
|
|
108
118
|
/**
|
|
109
119
|
* Configuration for a handoff.
|
|
110
120
|
*/
|
|
111
|
-
export type HandoffConfig<TInputType extends ToolInputParameters> = {
|
|
121
|
+
export type HandoffConfig<TInputType extends ToolInputParameters, TContext = UnknownContext> = {
|
|
112
122
|
/**
|
|
113
123
|
* Optional override for the name of the tool that represents the handoff.
|
|
114
124
|
*/
|
|
@@ -130,6 +140,10 @@ export type HandoffConfig<TInputType extends ToolInputParameters> = {
|
|
|
130
140
|
* A function that filters the inputs that are passed to the next agent.
|
|
131
141
|
*/
|
|
132
142
|
inputFilter?: HandoffInputFilter;
|
|
143
|
+
/**
|
|
144
|
+
* Determines whether the handoff should be available to the model for the current run.
|
|
145
|
+
*/
|
|
146
|
+
isEnabled?: HandoffEnabledOption<TContext>;
|
|
133
147
|
};
|
|
134
148
|
/**
|
|
135
149
|
* Creates a handoff from an agent. Handoffs are automatically created when you pass an agent
|
|
@@ -140,7 +154,7 @@ export type HandoffConfig<TInputType extends ToolInputParameters> = {
|
|
|
140
154
|
* @template TOutput The output type of the handoff
|
|
141
155
|
* @template TInputType The input type of the handoff
|
|
142
156
|
*/
|
|
143
|
-
export declare function handoff<TContext = UnknownContext, TOutput extends AgentOutputType = TextOutput, TInputType extends ToolInputParameters = ToolInputParameters>(agent: Agent<TContext, TOutput>, config?: HandoffConfig<TInputType>): Handoff<TContext, TOutput>;
|
|
157
|
+
export declare function handoff<TContext = UnknownContext, TOutput extends AgentOutputType = TextOutput, TInputType extends ToolInputParameters = ToolInputParameters>(agent: Agent<TContext, TOutput>, config?: HandoffConfig<TInputType, TContext>): Handoff<TContext, TOutput>;
|
|
144
158
|
/**
|
|
145
159
|
* Returns a handoff for the given agent. If the agent is already wrapped into a handoff,
|
|
146
160
|
* it will be returned as is. Otherwise, a new handoff instance will be created.
|
|
@@ -149,3 +163,4 @@ export declare function handoff<TContext = UnknownContext, TOutput extends Agent
|
|
|
149
163
|
* @template TOutput The output type of the handoff
|
|
150
164
|
*/
|
|
151
165
|
export declare function getHandoff<TContext, TOutput extends AgentOutputType>(agent: Agent<TContext, TOutput> | Handoff<TContext, TOutput>): Handoff<TContext, TOutput>;
|
|
166
|
+
export {};
|
package/dist/handoff.js
CHANGED
|
@@ -39,15 +39,6 @@ function defaultHandoffToolName(agent) {
|
|
|
39
39
|
function defaultHandoffToolDescription(agent) {
|
|
40
40
|
return `Handoff to the ${agent.name} agent to handle the request. ${agent.handoffDescription ?? ''}`;
|
|
41
41
|
}
|
|
42
|
-
/**
|
|
43
|
-
* A handoff is when an agent delegates a task to another agent.
|
|
44
|
-
* For example, in a customer support scenario you might have a "triage agent" that determines which
|
|
45
|
-
* agent should handle the user's request, and sub-agents that specialize in different areas like
|
|
46
|
-
* billing, account management, etc.
|
|
47
|
-
*
|
|
48
|
-
* @template TContext The context of the handoff
|
|
49
|
-
* @template TOutput The output type of the handoff
|
|
50
|
-
*/
|
|
51
42
|
class Handoff {
|
|
52
43
|
/**
|
|
53
44
|
* The name of the tool that represents the handoff.
|
|
@@ -111,6 +102,7 @@ class Handoff {
|
|
|
111
102
|
strict: this.strictJsonSchema,
|
|
112
103
|
};
|
|
113
104
|
}
|
|
105
|
+
isEnabled = async () => true;
|
|
114
106
|
constructor(agent, onInvokeHandoff) {
|
|
115
107
|
this.agentName = agent.name;
|
|
116
108
|
this.onInvokeHandoff = onInvokeHandoff;
|
|
@@ -172,6 +164,16 @@ function handoff(agent, config = {}) {
|
|
|
172
164
|
return agent;
|
|
173
165
|
}
|
|
174
166
|
const handoff = new Handoff(agent, onInvokeHandoff);
|
|
167
|
+
if (typeof config.isEnabled === 'function') {
|
|
168
|
+
const predicate = config.isEnabled;
|
|
169
|
+
handoff.isEnabled = async ({ runContext, agent }) => {
|
|
170
|
+
const result = await predicate({ runContext, agent });
|
|
171
|
+
return Boolean(result);
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
else if (typeof config.isEnabled === 'boolean') {
|
|
175
|
+
handoff.isEnabled = async () => config.isEnabled;
|
|
176
|
+
}
|
|
175
177
|
if (config.inputType) {
|
|
176
178
|
const result = (0, tools_2.getSchemaAndParserFromInputType)(config.inputType, handoff.toolName);
|
|
177
179
|
handoff.inputJsonSchema = result.schema;
|
package/dist/handoff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../src/handoff.ts"],"names":[],"mappings":";;;;;;AAmDA,gDAIC;
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../src/handoff.ts"],"names":[],"mappings":";;;;;;AAmDA,gDAIC;AA2MD,0BAgGC;AASD,gCAQC;AAzWD,wCAAyD;AAEzD,4CAAmD;AACnD,4CAAgE;AAChE,kDAA0D;AAC1D,yDAA8B;AA8B9B;;;;;GAKG;AACH,SAAgB,kBAAkB,CAChC,KAA+B;IAE/B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAC7B,KAA+B;IAE/B,OAAO,eAAe,IAAA,0BAAkB,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAS,6BAA6B,CAGpC,KAA+B;IAC/B,OAAO,kBAAkB,KAAK,CAAC,IAAI,iCACjC,KAAK,CAAC,kBAAkB,IAAI,EAC9B,EAAE,CAAC;AACL,CAAC;AAyBD,MAAa,OAAO;IAIlB;;OAEG;IACI,QAAQ,CAAS;IAExB;;OAEG;IACI,eAAe,CAAS;IAE/B;;OAEG;IACI,eAAe,GAA0B;QAC9C,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IAEF;;;OAGG;IACI,gBAAgB,GAAY,IAAI,CAAC;IAExC;;;;;;OAMG;IACI,eAAe,CAG4C;IAElE;;OAEG;IACI,SAAS,CAAS;IAEzB;;;;;;;;;;OAUG;IACI,WAAW,CAAsB;IAExC;;OAEG;IACI,KAAK,CAA2B;IAEvC;;OAEG;IACH,wBAAwB;QACtB,OAAO;YACL,IAAI,EAAE,UAAmB;YACzB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,WAAW,EAAE,IAAI,CAAC,eAAe;YACjC,UAAU,EAAE,IAAI,CAAC,eAAe;YAChC,MAAM,EAAE,IAAI,CAAC,gBAAgB;SAC9B,CAAC;IACJ,CAAC;IAEM,SAAS,GAAqC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC;IAEtE,YACE,KAA+B,EAC/B,eAGiE;QAEjE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AA7FD,0BA6FC;AAiDD;;;;;;;;GAQG;AACH,SAAgB,OAAO,CAKrB,KAA+B,EAC/B,SAA8C,EAAE;IAEhD,IAAI,MAAM,GAAkD,SAAS,CAAC;IAEtE,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IACxC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IACxC,MAAM,mCAAmC,GAAG,YAAY,KAAK,YAAY,CAAC;IAE1E,IAAI,CAAC,mCAAmC,EAAE,CAAC;QACzC,MAAM,IAAI,kBAAS,CACjB,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,eAAe,CAC5B,OAAwB,EACxB,eAAwB;QAExB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,IAAA,+BAAqB,EAAC;oBACpB,OAAO,EAAE,sDAAsD,eAAe,EAAE;oBAChF,IAAI,EAAE;wBACJ,OAAO,EAAE,gBAAgB;qBAC1B;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,2BAAkB,CAC1B,2CAA2C,CAC5C,CAAC;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,kEAAkE;gBAClE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC7C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAA,+BAAqB,EAAC;oBACpB,OAAO,EAAE,uBAAuB;oBAChC,IAAI,EAAE,EAAE;iBACT,CAAC,CAAC;gBACH,IAAI,CAAC,gBAAM,CAAC,eAAe,EAAE,CAAC;oBAC5B,gBAAM,CAAC,KAAK,CACV,8BAA8B,eAAe,YAAY,KAAK,EAAE,CACjE,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,2BAAkB,CAAC,uBAAuB,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAEpD,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,SAA8C,CAAC;QACxE,OAAO,CAAC,SAAS,GAAG,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,CAAC,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,SAAoB,CAAC;IAC9D,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAA,uCAA+B,EAC5C,MAAM,CAAC,SAAS,EAChB,OAAO,CAAC,QAAQ,CACjB,CAAC;QACF,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;QACxC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAChC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAC7C,CAAC;IAED,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAC;QACnC,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,uBAAuB,CAAC;IAC3D,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC3C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CACxB,KAA4D;IAE5D,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC"}
|
package/dist/handoff.mjs
CHANGED
|
@@ -30,15 +30,6 @@ function defaultHandoffToolName(agent) {
|
|
|
30
30
|
function defaultHandoffToolDescription(agent) {
|
|
31
31
|
return `Handoff to the ${agent.name} agent to handle the request. ${agent.handoffDescription ?? ''}`;
|
|
32
32
|
}
|
|
33
|
-
/**
|
|
34
|
-
* A handoff is when an agent delegates a task to another agent.
|
|
35
|
-
* For example, in a customer support scenario you might have a "triage agent" that determines which
|
|
36
|
-
* agent should handle the user's request, and sub-agents that specialize in different areas like
|
|
37
|
-
* billing, account management, etc.
|
|
38
|
-
*
|
|
39
|
-
* @template TContext The context of the handoff
|
|
40
|
-
* @template TOutput The output type of the handoff
|
|
41
|
-
*/
|
|
42
33
|
export class Handoff {
|
|
43
34
|
/**
|
|
44
35
|
* The name of the tool that represents the handoff.
|
|
@@ -102,6 +93,7 @@ export class Handoff {
|
|
|
102
93
|
strict: this.strictJsonSchema,
|
|
103
94
|
};
|
|
104
95
|
}
|
|
96
|
+
isEnabled = async () => true;
|
|
105
97
|
constructor(agent, onInvokeHandoff) {
|
|
106
98
|
this.agentName = agent.name;
|
|
107
99
|
this.onInvokeHandoff = onInvokeHandoff;
|
|
@@ -162,6 +154,16 @@ export function handoff(agent, config = {}) {
|
|
|
162
154
|
return agent;
|
|
163
155
|
}
|
|
164
156
|
const handoff = new Handoff(agent, onInvokeHandoff);
|
|
157
|
+
if (typeof config.isEnabled === 'function') {
|
|
158
|
+
const predicate = config.isEnabled;
|
|
159
|
+
handoff.isEnabled = async ({ runContext, agent }) => {
|
|
160
|
+
const result = await predicate({ runContext, agent });
|
|
161
|
+
return Boolean(result);
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
else if (typeof config.isEnabled === 'boolean') {
|
|
165
|
+
handoff.isEnabled = async () => config.isEnabled;
|
|
166
|
+
}
|
|
165
167
|
if (config.inputType) {
|
|
166
168
|
const result = getSchemaAndParserFromInputType(config.inputType, handoff.toolName);
|
|
167
169
|
handoff.inputJsonSchema = result.schema;
|
package/dist/handoff.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.mjs","sourceRoot":"","sources":["../src/handoff.ts"],"names":[],"mappings":"OAUO,EAAE,kBAAkB,EAAE,SAAS,EAAE;OAEjC,EAAE,kBAAkB,EAAE;OACtB,EAAE,+BAA+B,EAAE;OACnC,EAAE,qBAAqB,EAAE;OACzB,MAAM;AA8Bb;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAA+B;IAE/B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAC7B,KAA+B;IAE/B,OAAO,eAAe,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAS,6BAA6B,CAGpC,KAA+B;IAC/B,OAAO,kBAAkB,KAAK,CAAC,IAAI,iCACjC,KAAK,CAAC,kBAAkB,IAAI,EAC9B,EAAE,CAAC;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"handoff.mjs","sourceRoot":"","sources":["../src/handoff.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { Computer } from './computer';
|
|
|
4
4
|
export { AgentsError, GuardrailExecutionError, InputGuardrailTripwireTriggered, MaxTurnsExceededError, ModelBehaviorError, OutputGuardrailTripwireTriggered, ToolCallError, UserError, SystemError, } from './errors';
|
|
5
5
|
export { RunAgentUpdatedStreamEvent, RunRawModelStreamEvent, RunItemStreamEvent, RunStreamEvent, } from './events';
|
|
6
6
|
export { defineOutputGuardrail, GuardrailFunctionOutput, InputGuardrail, InputGuardrailFunction, InputGuardrailFunctionArgs, InputGuardrailMetadata, InputGuardrailResult, OutputGuardrail, OutputGuardrailDefinition, OutputGuardrailFunction, OutputGuardrailFunctionArgs, OutputGuardrailMetadata, OutputGuardrailResult, } from './guardrail';
|
|
7
|
-
export { getHandoff, getTransferMessage, Handoff, handoff, HandoffInputData, } from './handoff';
|
|
7
|
+
export { getHandoff, getTransferMessage, Handoff, handoff, HandoffInputData, HandoffEnabledFunction, } from './handoff';
|
|
8
8
|
export { assistant, system, user } from './helpers/message';
|
|
9
9
|
export { extractAllTextOutput, RunHandoffCallItem, RunHandoffOutputItem, RunItem, RunMessageOutputItem, RunReasoningItem, RunToolApprovalItem, RunToolCallItem, RunToolCallOutputItem, } from './items';
|
|
10
10
|
export { AgentHooks } from './lifecycle';
|
|
@@ -18,7 +18,7 @@ export { RunResult, StreamedRunResult } from './result';
|
|
|
18
18
|
export { IndividualRunOptions, NonStreamRunOptions, run, RunConfig, Runner, StreamRunOptions, } from './run';
|
|
19
19
|
export { RunContext } from './runContext';
|
|
20
20
|
export { RunState } from './runState';
|
|
21
|
-
export { HostedTool, ComputerTool, computerTool, HostedMCPTool, hostedMcpTool, FunctionTool, FunctionToolResult, Tool, tool, ToolExecuteArgument, } from './tool';
|
|
21
|
+
export { HostedTool, ComputerTool, computerTool, HostedMCPTool, hostedMcpTool, FunctionTool, FunctionToolResult, Tool, tool, ToolExecuteArgument, ToolEnabledFunction, } from './tool';
|
|
22
22
|
export * from './tracing';
|
|
23
23
|
export { getGlobalTraceProvider, TraceProvider } from './tracing/provider';
|
|
24
24
|
export type { AgentInputItem, AgentOutputItem, AssistantMessageItem, HostedToolCallItem, ComputerCallResultItem, ComputerUseCallItem, FunctionCallItem, FunctionCallResultItem, JsonSchemaDefinition, ReasoningItem, ResponseStreamEvent, SystemMessageItem, TextOutput, UnknownContext, UnknownItem, UserMessageItem, StreamEvent, StreamEventTextStream, StreamEventResponseCompleted, StreamEventResponseStarted, StreamEventGenericItem, } from './types';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA8C;AAC9C,sDAAuD;AAEvD,qDAAiE;AAAxD,6GAAA,mBAAmB,OAAA;AAC5B,oCAUiB;AATf,8FAAA,KAAK,OAAA;AAWP,sCAUkB;AAThB,qGAAA,WAAW,OAAA;AACX,iHAAA,uBAAuB,OAAA;AACvB,yHAAA,+BAA+B,OAAA;AAC/B,+GAAA,qBAAqB,OAAA;AACrB,4GAAA,kBAAkB,OAAA;AAClB,0HAAA,gCAAgC,OAAA;AAChC,uGAAA,aAAa,OAAA;AACb,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AAEb,sCAKkB;AAJhB,oHAAA,0BAA0B,OAAA;AAC1B,gHAAA,sBAAsB,OAAA;AACtB,4GAAA,kBAAkB,OAAA;AAGpB,4CAcqB;AAbnB,kHAAA,qBAAqB,OAAA;AAcvB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA8C;AAC9C,sDAAuD;AAEvD,qDAAiE;AAAxD,6GAAA,mBAAmB,OAAA;AAC5B,oCAUiB;AATf,8FAAA,KAAK,OAAA;AAWP,sCAUkB;AAThB,qGAAA,WAAW,OAAA;AACX,iHAAA,uBAAuB,OAAA;AACvB,yHAAA,+BAA+B,OAAA;AAC/B,+GAAA,qBAAqB,OAAA;AACrB,4GAAA,kBAAkB,OAAA;AAClB,0HAAA,gCAAgC,OAAA;AAChC,uGAAA,aAAa,OAAA;AACb,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AAEb,sCAKkB;AAJhB,oHAAA,0BAA0B,OAAA;AAC1B,gHAAA,sBAAsB,OAAA;AACtB,4GAAA,kBAAkB,OAAA;AAGpB,4CAcqB;AAbnB,kHAAA,qBAAqB,OAAA;AAcvB,wCAOmB;AANjB,qGAAA,UAAU,OAAA;AACV,6GAAA,kBAAkB,OAAA;AAClB,kGAAA,OAAO,OAAA;AACP,kGAAA,OAAO,OAAA;AAIT,gDAA4D;AAAnD,oGAAA,SAAS,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,+FAAA,IAAI,OAAA;AAChC,oCAUiB;AATf,6GAAA,oBAAoB,OAAA;AACpB,2GAAA,kBAAkB,OAAA;AAClB,6GAAA,oBAAoB,OAAA;AAEpB,6GAAA,oBAAoB,OAAA;AACpB,yGAAA,gBAAgB,OAAA;AAChB,4GAAA,mBAAmB,OAAA;AACnB,wGAAA,eAAe,OAAA;AACf,8GAAA,qBAAqB,OAAA;AAEvB,4CAAyC;AAAhC,uGAAA,UAAU,OAAA;AACnB,sCAAqC;AAA5B,mGAAA,SAAS,OAAA;AAClB,gCASe;AARb,qGAAA,cAAc,OAAA;AACd,iHAAA,0BAA0B,OAAA;AAC1B,wGAAA,iBAAiB,OAAA;AAEjB,qGAAA,cAAc,OAAA;AACd,8GAAA,uBAAuB,OAAA;AACvB,mGAAA,YAAY,OAAA;AAGd,wCAKmB;AADjB,oHAAA,yBAAyB,OAAA;AAa3B,kDAMwB;AALtB,sIAAA,sCAAsC,OAAA;AACtC,6HAAA,6BAA6B,OAAA;AAC7B,+GAAA,eAAe,OAAA;AACf,uHAAA,uBAAuB,OAAA;AACvB,6GAAA,aAAa,OAAA;AAEf,4CAAsD;AAA7C,oHAAA,uBAAuB,OAAA;AAChC,sCAAwD;AAA/C,mGAAA,SAAS,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AACrC,gCAOe;AAJb,0FAAA,GAAG,OAAA;AAEH,6FAAA,MAAM,OAAA;AAGR,8CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,0CAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,kCAYgB;AATd,oGAAA,YAAY,OAAA;AAEZ,qGAAA,aAAa,OAAA;AAIb,4FAAA,IAAI,OAAA;AAIN,qDAA0B;AAC1B,kDAA2E;AAAlE,kHAAA,sBAAsB,OAAA;AAAE,yGAAA,aAAa,OAAA;AAyB9C,oCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAEd;;;GAGG;AACH,gEAA6C;AAE7C;;;;;GAKG;AACH,IAAA,2BAAiB,EAAC,IAAA,4BAAgB,GAAE,CAAC,CAAC"}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"OAAO,EAAE,iBAAiB,EAAE;OACrB,EAAE,gBAAgB,EAAE;OAEpB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B;OACzD,EACL,KAAK,GASN;OAEM,EACL,WAAW,EACX,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,kBAAkB,EAClB,gCAAgC,EAChC,aAAa,EACb,SAAS,EACT,WAAW,GACZ;OACM,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,kBAAkB,GAEnB;OACM,EACL,qBAAqB,GAatB;OACM,EACL,UAAU,EACV,kBAAkB,EAClB,OAAO,EACP,OAAO,
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"OAAO,EAAE,iBAAiB,EAAE;OACrB,EAAE,gBAAgB,EAAE;OAEpB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B;OACzD,EACL,KAAK,GASN;OAEM,EACL,WAAW,EACX,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,kBAAkB,EAClB,gCAAgC,EAChC,aAAa,EACb,SAAS,EACT,WAAW,GACZ;OACM,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,kBAAkB,GAEnB;OACM,EACL,qBAAqB,GAatB;OACM,EACL,UAAU,EACV,kBAAkB,EAClB,OAAO,EACP,OAAO,GAGR;OACM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;OAC3B,EACL,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EAEpB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,GACtB;OACM,EAAE,UAAU,EAAE;OACd,EAAE,SAAS,EAAE;OACb,EACL,cAAc,EACd,0BAA0B,EAC1B,iBAAiB,EAEjB,cAAc,EACd,uBAAuB,EACvB,YAAY,GAEb;OACM,EAIL,yBAAyB,GAC1B;OAYM,EACL,sCAAsC,EACtC,6BAA6B,EAC7B,eAAe,EACf,uBAAuB,EACvB,aAAa,GACd;OACM,EAAE,uBAAuB,EAAE;OAC3B,EAAE,SAAS,EAAE,iBAAiB,EAAE;OAChC,EAGL,GAAG,EAEH,MAAM,GAEP;OACM,EAAE,UAAU,EAAE;OACd,EAAE,QAAQ,EAAE;OACZ,EAGL,YAAY,EAEZ,aAAa,EAIb,IAAI,GAGL;;OAEM,EAAE,sBAAsB,EAAE,aAAa,EAAE;OAyBzC,EAAE,KAAK,EAAE;OAMT,KAAK,QAAQ;AAEpB;;;;;GAKG;AACH,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,CAAC"}
|
package/dist/mcp.d.ts
CHANGED
|
@@ -15,24 +15,29 @@ export declare const DEFAULT_SSE_MCP_CLIENT_LOGGER_NAME = "openai-agents:sse-mcp
|
|
|
15
15
|
export interface MCPServer {
|
|
16
16
|
cacheToolsList: boolean;
|
|
17
17
|
toolFilter?: MCPToolFilterCallable | MCPToolFilterStatic;
|
|
18
|
+
/**
|
|
19
|
+
* Whether to include structuredContent in tool outputs when available.
|
|
20
|
+
*/
|
|
21
|
+
useStructuredContent?: boolean;
|
|
18
22
|
connect(): Promise<void>;
|
|
19
23
|
readonly name: string;
|
|
20
24
|
close(): Promise<void>;
|
|
21
25
|
listTools(): Promise<MCPTool[]>;
|
|
22
|
-
callTool(toolName: string, args: Record<string, unknown> | null): Promise<
|
|
26
|
+
callTool(toolName: string, args: Record<string, unknown> | null): Promise<CallToolResult>;
|
|
23
27
|
invalidateToolsCache(): Promise<void>;
|
|
24
28
|
}
|
|
25
29
|
export declare abstract class BaseMCPServerStdio implements MCPServer {
|
|
26
30
|
cacheToolsList: boolean;
|
|
27
31
|
protected _cachedTools: any[] | undefined;
|
|
28
32
|
toolFilter?: MCPToolFilterCallable | MCPToolFilterStatic;
|
|
33
|
+
useStructuredContent?: boolean;
|
|
29
34
|
protected logger: Logger;
|
|
30
35
|
constructor(options: MCPServerStdioOptions);
|
|
31
36
|
abstract get name(): string;
|
|
32
37
|
abstract connect(): Promise<void>;
|
|
33
38
|
abstract close(): Promise<void>;
|
|
34
39
|
abstract listTools(): Promise<any[]>;
|
|
35
|
-
abstract callTool(_toolName: string, _args: Record<string, unknown> | null): Promise<
|
|
40
|
+
abstract callTool(_toolName: string, _args: Record<string, unknown> | null): Promise<CallToolResult>;
|
|
36
41
|
abstract invalidateToolsCache(): Promise<void>;
|
|
37
42
|
/**
|
|
38
43
|
* Logs a debug message when debug logging is enabled.
|
|
@@ -44,13 +49,14 @@ export declare abstract class BaseMCPServerStreamableHttp implements MCPServer {
|
|
|
44
49
|
cacheToolsList: boolean;
|
|
45
50
|
protected _cachedTools: any[] | undefined;
|
|
46
51
|
toolFilter?: MCPToolFilterCallable | MCPToolFilterStatic;
|
|
52
|
+
useStructuredContent?: boolean;
|
|
47
53
|
protected logger: Logger;
|
|
48
54
|
constructor(options: MCPServerStreamableHttpOptions);
|
|
49
55
|
abstract get name(): string;
|
|
50
56
|
abstract connect(): Promise<void>;
|
|
51
57
|
abstract close(): Promise<void>;
|
|
52
58
|
abstract listTools(): Promise<any[]>;
|
|
53
|
-
abstract callTool(_toolName: string, _args: Record<string, unknown> | null): Promise<
|
|
59
|
+
abstract callTool(_toolName: string, _args: Record<string, unknown> | null): Promise<CallToolResult>;
|
|
54
60
|
abstract invalidateToolsCache(): Promise<void>;
|
|
55
61
|
/**
|
|
56
62
|
* Logs a debug message when debug logging is enabled.
|
|
@@ -62,13 +68,14 @@ export declare abstract class BaseMCPServerSSE implements MCPServer {
|
|
|
62
68
|
cacheToolsList: boolean;
|
|
63
69
|
protected _cachedTools: any[] | undefined;
|
|
64
70
|
toolFilter?: MCPToolFilterCallable | MCPToolFilterStatic;
|
|
71
|
+
useStructuredContent?: boolean;
|
|
65
72
|
protected logger: Logger;
|
|
66
73
|
constructor(options: MCPServerSSEOptions);
|
|
67
74
|
abstract get name(): string;
|
|
68
75
|
abstract connect(): Promise<void>;
|
|
69
76
|
abstract close(): Promise<void>;
|
|
70
77
|
abstract listTools(): Promise<any[]>;
|
|
71
|
-
abstract callTool(_toolName: string, _args: Record<string, unknown> | null): Promise<
|
|
78
|
+
abstract callTool(_toolName: string, _args: Record<string, unknown> | null): Promise<CallToolResult>;
|
|
72
79
|
abstract invalidateToolsCache(): Promise<void>;
|
|
73
80
|
/**
|
|
74
81
|
* Logs a debug message when debug logging is enabled.
|
|
@@ -131,7 +138,7 @@ export declare class MCPServerStdio extends BaseMCPServerStdio {
|
|
|
131
138
|
connect(): Promise<void>;
|
|
132
139
|
close(): Promise<void>;
|
|
133
140
|
listTools(): Promise<MCPTool[]>;
|
|
134
|
-
callTool(toolName: string, args: Record<string, unknown> | null): Promise<
|
|
141
|
+
callTool(toolName: string, args: Record<string, unknown> | null): Promise<CallToolResult>;
|
|
135
142
|
invalidateToolsCache(): Promise<void>;
|
|
136
143
|
}
|
|
137
144
|
export declare class MCPServerStreamableHttp extends BaseMCPServerStreamableHttp {
|
|
@@ -141,7 +148,7 @@ export declare class MCPServerStreamableHttp extends BaseMCPServerStreamableHttp
|
|
|
141
148
|
connect(): Promise<void>;
|
|
142
149
|
close(): Promise<void>;
|
|
143
150
|
listTools(): Promise<MCPTool[]>;
|
|
144
|
-
callTool(toolName: string, args: Record<string, unknown> | null): Promise<
|
|
151
|
+
callTool(toolName: string, args: Record<string, unknown> | null): Promise<CallToolResult>;
|
|
145
152
|
invalidateToolsCache(): Promise<void>;
|
|
146
153
|
}
|
|
147
154
|
export declare class MCPServerSSE extends BaseMCPServerSSE {
|
|
@@ -151,7 +158,7 @@ export declare class MCPServerSSE extends BaseMCPServerSSE {
|
|
|
151
158
|
connect(): Promise<void>;
|
|
152
159
|
close(): Promise<void>;
|
|
153
160
|
listTools(): Promise<MCPTool[]>;
|
|
154
|
-
callTool(toolName: string, args: Record<string, unknown> | null): Promise<
|
|
161
|
+
callTool(toolName: string, args: Record<string, unknown> | null): Promise<CallToolResult>;
|
|
155
162
|
invalidateToolsCache(): Promise<void>;
|
|
156
163
|
}
|
|
157
164
|
/**
|
|
@@ -177,6 +184,7 @@ export declare function getAllMcpTools<TContext = UnknownContext>(mcpServers: MC
|
|
|
177
184
|
export declare function getAllMcpTools<TContext = UnknownContext>(opts: GetAllMcpToolsOptions<TContext>): Promise<Tool<TContext>[]>;
|
|
178
185
|
/**
|
|
179
186
|
* Converts an MCP tool definition to a function tool for the Agents SDK.
|
|
187
|
+
* When useStructuredContent is enabled, returns JSON strings for consistency with Python SDK.
|
|
180
188
|
*/
|
|
181
189
|
export declare function mcpToFunctionTool(mcpTool: MCPTool, server: MCPServer, convertSchemasToStrict: boolean): FunctionTool<unknown, JsonObjectSchemaStrict<any>, string> | FunctionTool<unknown, JsonObjectSchemaNonStrict<any>, string>;
|
|
182
190
|
/**
|
|
@@ -193,6 +201,10 @@ export interface BaseMCPServerStdioOptions {
|
|
|
193
201
|
encodingErrorHandler?: 'strict' | 'ignore' | 'replace';
|
|
194
202
|
logger?: Logger;
|
|
195
203
|
toolFilter?: MCPToolFilterCallable | MCPToolFilterStatic;
|
|
204
|
+
/**
|
|
205
|
+
* Whether to include structuredContent in tool outputs when available.
|
|
206
|
+
*/
|
|
207
|
+
useStructuredContent?: boolean;
|
|
196
208
|
timeout?: number;
|
|
197
209
|
}
|
|
198
210
|
export interface DefaultMCPServerStdioOptions extends BaseMCPServerStdioOptions {
|
|
@@ -210,6 +222,10 @@ export interface MCPServerStreamableHttpOptions {
|
|
|
210
222
|
name?: string;
|
|
211
223
|
logger?: Logger;
|
|
212
224
|
toolFilter?: MCPToolFilterCallable | MCPToolFilterStatic;
|
|
225
|
+
/**
|
|
226
|
+
* Whether to include structuredContent in tool outputs when available.
|
|
227
|
+
*/
|
|
228
|
+
useStructuredContent?: boolean;
|
|
213
229
|
timeout?: number;
|
|
214
230
|
authProvider?: any;
|
|
215
231
|
requestInit?: any;
|
|
@@ -224,6 +240,10 @@ export interface MCPServerSSEOptions {
|
|
|
224
240
|
name?: string;
|
|
225
241
|
logger?: Logger;
|
|
226
242
|
toolFilter?: MCPToolFilterCallable | MCPToolFilterStatic;
|
|
243
|
+
/**
|
|
244
|
+
* Whether to include structuredContent in tool outputs when available.
|
|
245
|
+
*/
|
|
246
|
+
useStructuredContent?: boolean;
|
|
227
247
|
timeout?: number;
|
|
228
248
|
authProvider?: any;
|
|
229
249
|
requestInit?: any;
|
|
@@ -255,12 +275,18 @@ export interface JsonRpcResponse {
|
|
|
255
275
|
result?: any;
|
|
256
276
|
error?: any;
|
|
257
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Structured content that can be returned by MCP tools.
|
|
280
|
+
* Supports various data types including objects, arrays, primitives, and null.
|
|
281
|
+
*/
|
|
282
|
+
export type StructuredContent = Record<string, unknown> | unknown[] | string | number | boolean | null;
|
|
258
283
|
export interface CallToolResponse extends JsonRpcResponse {
|
|
259
284
|
result: {
|
|
260
285
|
content: {
|
|
261
286
|
type: string;
|
|
262
287
|
text: string;
|
|
263
288
|
}[];
|
|
289
|
+
structuredContent?: StructuredContent;
|
|
264
290
|
};
|
|
265
291
|
}
|
|
266
292
|
export type CallToolResult = CallToolResponse['result'];
|