@openai/agents-core 0.3.4 → 0.3.5
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 +22 -6
- package/dist/agent.js +55 -6
- package/dist/agent.js.map +1 -1
- package/dist/agent.mjs +55 -6
- package/dist/agent.mjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/lifecycle.d.ts +18 -3
- package/dist/lifecycle.js.map +1 -1
- package/dist/lifecycle.mjs.map +1 -1
- package/dist/metadata.js +2 -2
- package/dist/metadata.mjs +2 -2
- package/dist/run.js +53 -20
- package/dist/run.js.map +1 -1
- package/dist/run.mjs +53 -20
- package/dist/run.mjs.map +1 -1
- package/dist/runContext.d.ts +1 -2
- package/dist/runContext.js +1 -2
- package/dist/runContext.js.map +1 -1
- package/dist/runContext.mjs +1 -2
- package/dist/runContext.mjs.map +1 -1
- package/dist/runImplementation.js +8 -0
- package/dist/runImplementation.js.map +1 -1
- package/dist/runImplementation.mjs +8 -0
- package/dist/runImplementation.mjs.map +1 -1
- package/dist/tracing/index.d.ts +1 -1
- package/dist/tracing/index.js.map +1 -1
- package/dist/tracing/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/agent.d.ts
CHANGED
|
@@ -6,17 +6,29 @@ import type { Model, ModelSettings, Prompt } from './model';
|
|
|
6
6
|
import type { RunContext } from './runContext';
|
|
7
7
|
import { type FunctionTool, type FunctionToolResult, type Tool, type ToolApprovalFunction } from './tool';
|
|
8
8
|
import type { ResolvedAgentOutput, JsonSchemaDefinition, HandoffsOutput, Expand } from './types';
|
|
9
|
-
import type { RunResult } from './result';
|
|
9
|
+
import type { RunResult, StreamedRunResult } from './result';
|
|
10
10
|
import { type Handoff } from './handoff';
|
|
11
|
-
import {
|
|
11
|
+
import { StreamRunOptions, RunConfig } from './run';
|
|
12
12
|
import { RunToolApprovalItem } from './items';
|
|
13
13
|
import { UnknownContext, TextOutput } from './types';
|
|
14
14
|
import type * as protocol from './types/protocol';
|
|
15
15
|
import type { ZodObjectLike } from './utils/zodCompat';
|
|
16
|
-
type
|
|
17
|
-
type
|
|
16
|
+
import type { RunStreamEvent } from './events';
|
|
17
|
+
type AnyAgentRunResult = RunResult<any, Agent<any, any>> | StreamedRunResult<any, Agent<any, any>>;
|
|
18
|
+
type CompletedRunResult<TContext, TAgent extends Agent<TContext, any>> = (RunResult<TContext, TAgent> | StreamedRunResult<TContext, TAgent>) & {
|
|
18
19
|
finalOutput: ResolvedAgentOutput<TAgent['outputType']>;
|
|
19
20
|
};
|
|
21
|
+
type AgentToolRunOptions<TContext> = Omit<StreamRunOptions<TContext>, 'stream'>;
|
|
22
|
+
type AgentToolStreamEvent<TAgent extends Agent<any, any>> = {
|
|
23
|
+
event: RunStreamEvent;
|
|
24
|
+
agent: TAgent;
|
|
25
|
+
toolCall?: protocol.FunctionCallItem;
|
|
26
|
+
};
|
|
27
|
+
type AgentToolEventName = RunStreamEvent['type'] | '*';
|
|
28
|
+
type AgentToolEventHandler<TAgent extends Agent<any, any>> = (event: AgentToolStreamEvent<TAgent>) => void | Promise<void>;
|
|
29
|
+
type AgentTool<TContext, TAgent extends Agent<TContext, any>> = FunctionTool<TContext, typeof AgentAsToolNeedApprovalSchame> & {
|
|
30
|
+
on: (name: AgentToolEventName, handler: AgentToolEventHandler<TAgent>) => AgentTool<TContext, TAgent>;
|
|
31
|
+
};
|
|
20
32
|
export declare function saveAgentToolRunResult(toolCall: protocol.FunctionCallItem | undefined, runResult: AnyAgentRunResult): void;
|
|
21
33
|
export declare function consumeAgentToolRunResult(toolCall: protocol.FunctionCallItem): AnyAgentRunResult | undefined;
|
|
22
34
|
export type ToolUseBehaviorFlags = 'run_llm_again' | 'stop_on_first_tool';
|
|
@@ -293,7 +305,7 @@ export declare class Agent<TContext = UnknownContext, TOutput extends AgentOutpu
|
|
|
293
305
|
/**
|
|
294
306
|
* Additional run options for the agent (as tool) execution.
|
|
295
307
|
*/
|
|
296
|
-
runOptions?:
|
|
308
|
+
runOptions?: AgentToolRunOptions<TContext>;
|
|
297
309
|
/**
|
|
298
310
|
* Determines whether this tool should be exposed to the model for the current run.
|
|
299
311
|
*/
|
|
@@ -301,7 +313,11 @@ export declare class Agent<TContext = UnknownContext, TOutput extends AgentOutpu
|
|
|
301
313
|
runContext: RunContext<TContext>;
|
|
302
314
|
agent: Agent<TContext, TOutput>;
|
|
303
315
|
}) => boolean | Promise<boolean>);
|
|
304
|
-
|
|
316
|
+
/**
|
|
317
|
+
* Optional hook to receive streamed events from the nested agent run.
|
|
318
|
+
*/
|
|
319
|
+
onStream?: (event: AgentToolStreamEvent<TAgent>) => void | Promise<void>;
|
|
320
|
+
}): AgentTool<TContext, TAgent>;
|
|
305
321
|
/**
|
|
306
322
|
* Returns the system prompt for the agent.
|
|
307
323
|
*
|
package/dist/agent.js
CHANGED
|
@@ -174,8 +174,22 @@ class Agent extends lifecycle_1.AgentHooks {
|
|
|
174
174
|
* @returns A tool that runs the agent and returns the output text.
|
|
175
175
|
*/
|
|
176
176
|
asTool(options) {
|
|
177
|
-
const { toolName, toolDescription, customOutputExtractor, needsApproval, runConfig, runOptions, isEnabled, } = options;
|
|
178
|
-
|
|
177
|
+
const { toolName, toolDescription, customOutputExtractor, needsApproval, runConfig, runOptions, isEnabled, onStream, } = options;
|
|
178
|
+
// Event handlers are scoped to this agent tool instance and are not shared; we only support registration (no removal) to keep the API surface small.
|
|
179
|
+
const eventHandlers = new Map();
|
|
180
|
+
const emitEvent = async (event) => {
|
|
181
|
+
// We intentionally keep only add semantics (no off) to reduce surface area; handlers are scoped to this agent tool instance.
|
|
182
|
+
const specific = eventHandlers.get(event.event.type);
|
|
183
|
+
const wildcard = eventHandlers.get('*');
|
|
184
|
+
const candidates = [
|
|
185
|
+
...(onStream ? [onStream] : []),
|
|
186
|
+
...(specific ? Array.from(specific) : []),
|
|
187
|
+
...(wildcard ? Array.from(wildcard) : []),
|
|
188
|
+
];
|
|
189
|
+
// Run all handlers in parallel so a slow onStream callback does not block on(...) handlers (and vice versa).
|
|
190
|
+
await Promise.allSettled(candidates.map((handler) => Promise.resolve().then(() => handler(event))));
|
|
191
|
+
};
|
|
192
|
+
const baseTool = (0, tool_1.tool)({
|
|
179
193
|
name: toolName ?? (0, tools_1.toFunctionToolName)(this.name),
|
|
180
194
|
description: toolDescription ?? '',
|
|
181
195
|
parameters: AgentAsToolNeedApprovalSchame,
|
|
@@ -187,10 +201,35 @@ class Agent extends lifecycle_1.AgentHooks {
|
|
|
187
201
|
throw new errors_1.ModelBehaviorError('Agent tool called with invalid input');
|
|
188
202
|
}
|
|
189
203
|
const runner = new run_1.Runner(runConfig ?? {});
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
204
|
+
// Only flip to streaming mode when a handler is provided to avoid extra overhead for callers that do not need events.
|
|
205
|
+
// Flip to streaming if either a legacy onStream callback or event handlers are registered; otherwise stay on the non-stream path to avoid extra overhead.
|
|
206
|
+
const shouldStream = typeof onStream === 'function' || eventHandlers.size > 0;
|
|
207
|
+
const result = shouldStream
|
|
208
|
+
? await runner.run(this, data.input, {
|
|
209
|
+
context,
|
|
210
|
+
...(runOptions ?? {}),
|
|
211
|
+
stream: true,
|
|
212
|
+
})
|
|
213
|
+
: await runner.run(this, data.input, {
|
|
214
|
+
context,
|
|
215
|
+
...(runOptions ?? {}),
|
|
216
|
+
});
|
|
217
|
+
const streamPayload = {
|
|
218
|
+
agent: this,
|
|
219
|
+
toolCall: details?.toolCall,
|
|
220
|
+
};
|
|
221
|
+
if (shouldStream) {
|
|
222
|
+
// Cast through unknown: the async iterator shape matches and we want to drain the stream for side effects while keeping the public API stable.
|
|
223
|
+
const streamResult = result;
|
|
224
|
+
// Drain the stream to deliver every event to registered handlers; ensure completion awaited so the nested run finishes before returning.
|
|
225
|
+
for await (const event of streamResult) {
|
|
226
|
+
await emitEvent({
|
|
227
|
+
event,
|
|
228
|
+
...streamPayload,
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
await streamResult.completed;
|
|
232
|
+
}
|
|
194
233
|
const completedResult = result;
|
|
195
234
|
const usesStopAtToolNames = typeof this.toolUseBehavior === 'object' &&
|
|
196
235
|
this.toolUseBehavior !== null &&
|
|
@@ -208,6 +247,16 @@ class Agent extends lifecycle_1.AgentHooks {
|
|
|
208
247
|
return outputText;
|
|
209
248
|
},
|
|
210
249
|
});
|
|
250
|
+
const agentTool = {
|
|
251
|
+
...baseTool,
|
|
252
|
+
on: (name, handler) => {
|
|
253
|
+
const set = eventHandlers.get(name) ?? new Set();
|
|
254
|
+
set.add(handler);
|
|
255
|
+
eventHandlers.set(name, set);
|
|
256
|
+
return agentTool;
|
|
257
|
+
},
|
|
258
|
+
};
|
|
259
|
+
return agentTool;
|
|
211
260
|
}
|
|
212
261
|
/**
|
|
213
262
|
* Returns the system prompt for 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
|
@@ -166,8 +166,22 @@ export class Agent extends AgentHooks {
|
|
|
166
166
|
* @returns A tool that runs the agent and returns the output text.
|
|
167
167
|
*/
|
|
168
168
|
asTool(options) {
|
|
169
|
-
const { toolName, toolDescription, customOutputExtractor, needsApproval, runConfig, runOptions, isEnabled, } = options;
|
|
170
|
-
|
|
169
|
+
const { toolName, toolDescription, customOutputExtractor, needsApproval, runConfig, runOptions, isEnabled, onStream, } = options;
|
|
170
|
+
// Event handlers are scoped to this agent tool instance and are not shared; we only support registration (no removal) to keep the API surface small.
|
|
171
|
+
const eventHandlers = new Map();
|
|
172
|
+
const emitEvent = async (event) => {
|
|
173
|
+
// We intentionally keep only add semantics (no off) to reduce surface area; handlers are scoped to this agent tool instance.
|
|
174
|
+
const specific = eventHandlers.get(event.event.type);
|
|
175
|
+
const wildcard = eventHandlers.get('*');
|
|
176
|
+
const candidates = [
|
|
177
|
+
...(onStream ? [onStream] : []),
|
|
178
|
+
...(specific ? Array.from(specific) : []),
|
|
179
|
+
...(wildcard ? Array.from(wildcard) : []),
|
|
180
|
+
];
|
|
181
|
+
// Run all handlers in parallel so a slow onStream callback does not block on(...) handlers (and vice versa).
|
|
182
|
+
await Promise.allSettled(candidates.map((handler) => Promise.resolve().then(() => handler(event))));
|
|
183
|
+
};
|
|
184
|
+
const baseTool = tool({
|
|
171
185
|
name: toolName ?? toFunctionToolName(this.name),
|
|
172
186
|
description: toolDescription ?? '',
|
|
173
187
|
parameters: AgentAsToolNeedApprovalSchame,
|
|
@@ -179,10 +193,35 @@ export class Agent extends AgentHooks {
|
|
|
179
193
|
throw new ModelBehaviorError('Agent tool called with invalid input');
|
|
180
194
|
}
|
|
181
195
|
const runner = new Runner(runConfig ?? {});
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
196
|
+
// Only flip to streaming mode when a handler is provided to avoid extra overhead for callers that do not need events.
|
|
197
|
+
// Flip to streaming if either a legacy onStream callback or event handlers are registered; otherwise stay on the non-stream path to avoid extra overhead.
|
|
198
|
+
const shouldStream = typeof onStream === 'function' || eventHandlers.size > 0;
|
|
199
|
+
const result = shouldStream
|
|
200
|
+
? await runner.run(this, data.input, {
|
|
201
|
+
context,
|
|
202
|
+
...(runOptions ?? {}),
|
|
203
|
+
stream: true,
|
|
204
|
+
})
|
|
205
|
+
: await runner.run(this, data.input, {
|
|
206
|
+
context,
|
|
207
|
+
...(runOptions ?? {}),
|
|
208
|
+
});
|
|
209
|
+
const streamPayload = {
|
|
210
|
+
agent: this,
|
|
211
|
+
toolCall: details?.toolCall,
|
|
212
|
+
};
|
|
213
|
+
if (shouldStream) {
|
|
214
|
+
// Cast through unknown: the async iterator shape matches and we want to drain the stream for side effects while keeping the public API stable.
|
|
215
|
+
const streamResult = result;
|
|
216
|
+
// Drain the stream to deliver every event to registered handlers; ensure completion awaited so the nested run finishes before returning.
|
|
217
|
+
for await (const event of streamResult) {
|
|
218
|
+
await emitEvent({
|
|
219
|
+
event,
|
|
220
|
+
...streamPayload,
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
await streamResult.completed;
|
|
224
|
+
}
|
|
186
225
|
const completedResult = result;
|
|
187
226
|
const usesStopAtToolNames = typeof this.toolUseBehavior === 'object' &&
|
|
188
227
|
this.toolUseBehavior !== null &&
|
|
@@ -200,6 +239,16 @@ export class Agent extends AgentHooks {
|
|
|
200
239
|
return outputText;
|
|
201
240
|
},
|
|
202
241
|
});
|
|
242
|
+
const agentTool = {
|
|
243
|
+
...baseTool,
|
|
244
|
+
on: (name, handler) => {
|
|
245
|
+
const set = eventHandlers.get(name) ?? new Set();
|
|
246
|
+
set.add(handler);
|
|
247
|
+
eventHandlers.set(name, set);
|
|
248
|
+
return agentTool;
|
|
249
|
+
},
|
|
250
|
+
};
|
|
251
|
+
return agentTool;
|
|
203
252
|
}
|
|
204
253
|
/**
|
|
205
254
|
* Returns the system prompt for the agent.
|
package/dist/agent.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.mjs","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"OAAO,EAAE,CAAC,EAAE,MAAM,KAAK;OAGhB,EAAE,UAAU,EAAE;OACd,EAAE,cAAc,EAAkB;OAElC,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,aAAa,GACd;OAEM,EAGL,IAAI,GAIL;OAQM,EAAE,UAAU,EAAgB;OAC5B,
|
|
1
|
+
{"version":3,"file":"agent.mjs","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export { IndividualRunOptions, NonStreamRunOptions, run, RunConfig, Runner, Stre
|
|
|
22
22
|
export type { ModelInputData, CallModelInputFilter, CallModelInputFilterArgs, } from './run';
|
|
23
23
|
export { RunContext } from './runContext';
|
|
24
24
|
export { RunState } from './runState';
|
|
25
|
-
export { HostedTool, ComputerTool, computerTool, ShellTool, shellTool, ApplyPatchTool, applyPatchTool, HostedMCPTool, hostedMcpTool, FunctionTool, FunctionToolResult, Tool,
|
|
25
|
+
export { HostedTool, ComputerTool, computerTool, ShellTool, shellTool, ApplyPatchTool, applyPatchTool, HostedMCPTool, hostedMcpTool, FunctionTool, FunctionToolResult, Tool, tool, ToolExecuteArgument, ToolEnabledFunction, } from './tool';
|
|
26
26
|
export type { ToolOutputText, ToolOutputImage, ToolOutputFileContent, ToolCallStructuredOutput, ToolCallOutputContent, } from './types/protocol';
|
|
27
27
|
export * from './tracing';
|
|
28
28
|
export { getGlobalTraceProvider, TraceProvider } from './tracing/provider';
|
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;AAaP,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,kDAA8C;AAArC,sGAAA,SAAS,OAAA;AAClB,gCAUe;AATb,qGAAA,cAAc,OAAA;AACd,iHAAA,0BAA0B,OAAA;AAC1B,wGAAA,iBAAiB,OAAA;AAEjB,qGAAA,cAAc,OAAA;AACd,8GAAA,uBAAuB,OAAA;AACvB,mGAAA,YAAY,OAAA;AAId,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;AAQR,8CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,0CAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,
|
|
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;AAaP,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,kDAA8C;AAArC,sGAAA,SAAS,OAAA;AAClB,gCAUe;AATb,qGAAA,cAAc,OAAA;AACd,iHAAA,0BAA0B,OAAA;AAC1B,wGAAA,iBAAiB,OAAA;AAEjB,qGAAA,cAAc,OAAA;AACd,8GAAA,uBAAuB,OAAA;AACvB,mGAAA,YAAY,OAAA;AAId,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;AAQR,8CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,0CAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,kCAgBgB;AAbd,oGAAA,YAAY,OAAA;AAEZ,iGAAA,SAAS,OAAA;AAET,sGAAA,cAAc,OAAA;AAEd,qGAAA,aAAa,OAAA;AAIb,4FAAA,IAAI,OAAA;AAWN,qDAA0B;AAC1B,kDAA2E;AAAlE,kHAAA,sBAAsB,OAAA;AAAE,yGAAA,aAAa,OAAA;AA6B9C,oCAA8C;AAArC,qGAAA,YAAY,OAAA;AAAE,8FAAA,KAAK,OAAA;AAE5B,2DAAuD;AAA9C,8GAAA,aAAa,OAAA;AAEtB;;;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;OAIM,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,EAAE,SAAS,EAAE;OACb,EACL,cAAc,EACd,0BAA0B,EAC1B,iBAAiB,EAEjB,cAAc,EACd,uBAAuB,EACvB,YAAY,GAGb;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;OAMM,EAAE,UAAU,EAAE;OACd,EAAE,QAAQ,EAAE;OACZ,EAGL,YAAY,EAEZ,SAAS,EAET,cAAc,EAEd,aAAa,
|
|
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;OAIM,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,EAAE,SAAS,EAAE;OACb,EACL,cAAc,EACd,0BAA0B,EAC1B,iBAAiB,EAEjB,cAAc,EACd,uBAAuB,EACvB,YAAY,GAGb;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;OAMM,EAAE,UAAU,EAAE;OACd,EAAE,QAAQ,EAAE;OACZ,EAGL,YAAY,EAEZ,SAAS,EAET,cAAc,EAEd,aAAa,EAIb,IAAI,GAGL;;OASM,EAAE,sBAAsB,EAAE,aAAa,EAAE;OA6BzC,EAAE,YAAY,EAAE,KAAK,EAAE;OAEvB,EAAE,aAAa,EAAE;OAMjB,KAAK,QAAQ;AAEpB;;;;;GAKG;AACH,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,CAAC"}
|
package/dist/lifecycle.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { RunContext } from './runContext';
|
|
|
2
2
|
import type { Agent, AgentOutputType } from './agent';
|
|
3
3
|
import { Tool } from './tool';
|
|
4
4
|
import { RuntimeEventEmitter, EventEmitter, EventEmitterEvents } from '@openai/agents-core/_shims';
|
|
5
|
-
import { TextOutput, UnknownContext } from './types';
|
|
5
|
+
import { AgentInputItem, TextOutput, UnknownContext } from './types';
|
|
6
6
|
import * as protocol from './types/protocol';
|
|
7
7
|
export declare abstract class EventEmitterDelegate<EventTypes extends EventEmitterEvents = Record<string, any[]>> implements EventEmitter<EventTypes> {
|
|
8
8
|
protected abstract eventEmitter: EventEmitter<EventTypes>;
|
|
@@ -14,9 +14,20 @@ export declare abstract class EventEmitterDelegate<EventTypes extends EventEmitt
|
|
|
14
14
|
export type AgentHookEvents<TContext = UnknownContext, TOutput extends AgentOutputType = TextOutput> = {
|
|
15
15
|
/**
|
|
16
16
|
* @param context - The context of the run
|
|
17
|
+
* @param agent - The agent that is starting
|
|
18
|
+
* @param turnInput - The input items for the current turn
|
|
17
19
|
*/
|
|
18
|
-
agent_start: [
|
|
20
|
+
agent_start: [
|
|
21
|
+
context: RunContext<TContext>,
|
|
22
|
+
agent: Agent<TContext, TOutput>,
|
|
23
|
+
turnInput?: AgentInputItem[]
|
|
24
|
+
];
|
|
19
25
|
/**
|
|
26
|
+
* Note that the second argument is not consistent with the run hooks here.
|
|
27
|
+
* Changing the list is a breaking change, so we don't make changes for it in the short term
|
|
28
|
+
* If we revisit the argument data structure (e.g., migrating to a single object instead),
|
|
29
|
+
* more properties could be easily added later on.
|
|
30
|
+
*
|
|
20
31
|
* @param context - The context of the run
|
|
21
32
|
* @param output - The output of the agent
|
|
22
33
|
*/
|
|
@@ -66,7 +77,11 @@ export type RunHookEvents<TContext = UnknownContext, TOutput extends AgentOutput
|
|
|
66
77
|
* @param context - The context of the run
|
|
67
78
|
* @param agent - The agent that is starting
|
|
68
79
|
*/
|
|
69
|
-
agent_start: [
|
|
80
|
+
agent_start: [
|
|
81
|
+
context: RunContext<TContext>,
|
|
82
|
+
agent: Agent<TContext, TOutput>,
|
|
83
|
+
turnInput?: AgentInputItem[]
|
|
84
|
+
];
|
|
70
85
|
/**
|
|
71
86
|
* @param context - The context of the run
|
|
72
87
|
* @param agent - The agent that is ending
|
package/dist/lifecycle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":";;;AAGA,uDAIoC;AAIpC,MAAsB,oBAAoB;
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":";;;AAGA,uDAIoC;AAIpC,MAAsB,oBAAoB;IAKxC,EAAE,CACA,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,GAAG,CACD,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,CAA6B,IAAO,EAAE,GAAG,IAAmB;QAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CACF,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AA7BD,oDA6BC;AAwDD;;;GAGG;AACH,MAAa,UAGX,SAAQ,oBAAwD;IACtD,YAAY,GAAG,IAAI,4BAAmB,EAE7C,CAAC;CACL;AAPD,gCAOC;AA6DD;;;GAGG;AACH,MAAa,QAGX,SAAQ,oBAAsD;IACpD,YAAY,GAAG,IAAI,4BAAmB,EAE7C,CAAC;CACL;AAPD,4BAOC"}
|
package/dist/lifecycle.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.mjs","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"OAGO,EACL,mBAAmB,GAGpB,MAAM,4BAA4B;AAInC,MAAM,OAAgB,oBAAoB;
|
|
1
|
+
{"version":3,"file":"lifecycle.mjs","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"OAGO,EACL,mBAAmB,GAGpB,MAAM,4BAA4B;AAInC,MAAM,OAAgB,oBAAoB;IAKxC,EAAE,CACA,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,GAAG,CACD,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,CAA6B,IAAO,EAAE,GAAG,IAAmB;QAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CACF,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AAwDD;;;GAGG;AACH,MAAM,OAAO,UAGX,SAAQ,oBAAwD;IACtD,YAAY,GAAG,IAAI,mBAAmB,EAE7C,CAAC;CACL;AA6DD;;;GAGG;AACH,MAAM,OAAO,QAGX,SAAQ,oBAAsD;IACpD,YAAY,GAAG,IAAI,mBAAmB,EAE7C,CAAC;CACL"}
|
package/dist/metadata.js
CHANGED
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.METADATA = void 0;
|
|
5
5
|
exports.METADATA = {
|
|
6
6
|
"name": "@openai/agents-core",
|
|
7
|
-
"version": "0.3.
|
|
7
|
+
"version": "0.3.5",
|
|
8
8
|
"versions": {
|
|
9
|
-
"@openai/agents-core": "0.3.
|
|
9
|
+
"@openai/agents-core": "0.3.5",
|
|
10
10
|
"openai": "^6"
|
|
11
11
|
}
|
|
12
12
|
};
|
package/dist/metadata.mjs
CHANGED
package/dist/run.js
CHANGED
|
@@ -365,6 +365,7 @@ class Runner extends lifecycle_1.RunHooks {
|
|
|
365
365
|
modelResponses: state._modelResponses,
|
|
366
366
|
});
|
|
367
367
|
}
|
|
368
|
+
let continuingInterruptedTurn = false;
|
|
368
369
|
try {
|
|
369
370
|
while (true) {
|
|
370
371
|
// if we don't have a current step, we treat this as a new run
|
|
@@ -380,20 +381,34 @@ class Runner extends lifecycle_1.RunHooks {
|
|
|
380
381
|
state._toolUseTracker.addToolUse(state._currentAgent, state._lastProcessedResponse.toolsUsed);
|
|
381
382
|
state._originalInput = turnResult.originalInput;
|
|
382
383
|
state._generatedItems = turnResult.generatedItems;
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
}
|
|
386
|
-
state._currentStep = turnResult.nextStep;
|
|
384
|
+
// Don't reset counter here - resolveInterruptedTurn already adjusted it via rewind logic
|
|
385
|
+
// The counter will be reset when _currentTurn is incremented (starting a new turn)
|
|
387
386
|
if (turnResult.nextStep.type === 'next_step_interruption') {
|
|
388
387
|
// we are still in an interruption, so we need to avoid an infinite loop
|
|
388
|
+
state._currentStep = turnResult.nextStep;
|
|
389
389
|
return new result_1.RunResult(state);
|
|
390
390
|
}
|
|
391
|
-
|
|
391
|
+
// If continuing from interruption with next_step_run_again, set step to undefined
|
|
392
|
+
// so the loop treats it as a new step without incrementing the turn.
|
|
393
|
+
// The counter has already been adjusted by resolveInterruptedTurn's rewind logic.
|
|
394
|
+
if (turnResult.nextStep.type === 'next_step_run_again') {
|
|
395
|
+
continuingInterruptedTurn = true;
|
|
396
|
+
state._currentStep = undefined;
|
|
397
|
+
continue;
|
|
398
|
+
}
|
|
399
|
+
continuingInterruptedTurn = false;
|
|
400
|
+
state._currentStep = turnResult.nextStep;
|
|
392
401
|
}
|
|
393
402
|
if (state._currentStep.type === 'next_step_run_again') {
|
|
394
403
|
const artifacts = await prepareAgentArtifacts(state);
|
|
395
|
-
|
|
396
|
-
|
|
404
|
+
const isResumingFromInterruption = isResumedState && continuingInterruptedTurn;
|
|
405
|
+
continuingInterruptedTurn = false;
|
|
406
|
+
// Do not advance the turn when resuming from an interruption; the next model call is
|
|
407
|
+
// still part of the same logical turn.
|
|
408
|
+
if (!isResumingFromInterruption) {
|
|
409
|
+
state._currentTurn++;
|
|
410
|
+
state._currentTurnPersistedItemCount = 0;
|
|
411
|
+
}
|
|
397
412
|
if (state._currentTurn > state._maxTurns) {
|
|
398
413
|
state._currentAgentSpan?.setError({
|
|
399
414
|
message: 'Max turns exceeded',
|
|
@@ -403,7 +418,8 @@ class Runner extends lifecycle_1.RunHooks {
|
|
|
403
418
|
}
|
|
404
419
|
logger_1.default.debug(`Running agent ${state._currentAgent.name} (turn ${state._currentTurn})`);
|
|
405
420
|
let parallelGuardrailPromise;
|
|
406
|
-
|
|
421
|
+
// Only run input guardrails on the first turn of a new run.
|
|
422
|
+
if (state._currentTurn === 1 && !isResumingFromInterruption) {
|
|
407
423
|
const guardrails = this.#splitInputGuardrails(state);
|
|
408
424
|
if (guardrails.blocking.length > 0) {
|
|
409
425
|
await this.#runInputGuardrails(state, guardrails.blocking);
|
|
@@ -417,8 +433,8 @@ class Runner extends lifecycle_1.RunHooks {
|
|
|
417
433
|
? serverConversationTracker.prepareInput(state._originalInput, state._generatedItems)
|
|
418
434
|
: getTurnInput(state._originalInput, state._generatedItems);
|
|
419
435
|
if (state._noActiveAgentRun) {
|
|
420
|
-
state._currentAgent.emit('agent_start', state._context, state._currentAgent);
|
|
421
|
-
this.emit('agent_start', state._context, state._currentAgent);
|
|
436
|
+
state._currentAgent.emit('agent_start', state._context, state._currentAgent, turnInput);
|
|
437
|
+
this.emit('agent_start', state._context, state._currentAgent, turnInput);
|
|
422
438
|
}
|
|
423
439
|
const preparedCall = await this.#prepareModelCall(state, options, artifacts, turnInput, serverConversationTracker, sessionInputUpdate);
|
|
424
440
|
state._lastTurnResponse = await preparedCall.model.getResponse({
|
|
@@ -536,6 +552,7 @@ class Runner extends lifecycle_1.RunHooks {
|
|
|
536
552
|
modelResponses: result.state._modelResponses,
|
|
537
553
|
});
|
|
538
554
|
}
|
|
555
|
+
let continuingInterruptedTurn = false;
|
|
539
556
|
try {
|
|
540
557
|
while (true) {
|
|
541
558
|
const currentAgent = result.state._currentAgent;
|
|
@@ -553,20 +570,34 @@ class Runner extends lifecycle_1.RunHooks {
|
|
|
553
570
|
result.state._toolUseTracker.addToolUse(result.state._currentAgent, result.state._lastProcessedResponse.toolsUsed);
|
|
554
571
|
result.state._originalInput = turnResult.originalInput;
|
|
555
572
|
result.state._generatedItems = turnResult.generatedItems;
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
}
|
|
559
|
-
result.state._currentStep = turnResult.nextStep;
|
|
573
|
+
// Don't reset counter here - resolveInterruptedTurn already adjusted it via rewind logic
|
|
574
|
+
// The counter will be reset when _currentTurn is incremented (starting a new turn)
|
|
560
575
|
if (turnResult.nextStep.type === 'next_step_interruption') {
|
|
561
576
|
// we are still in an interruption, so we need to avoid an infinite loop
|
|
577
|
+
result.state._currentStep = turnResult.nextStep;
|
|
562
578
|
return;
|
|
563
579
|
}
|
|
564
|
-
|
|
580
|
+
// If continuing from interruption with next_step_run_again, set step to undefined
|
|
581
|
+
// so the loop treats it as a new step without incrementing the turn.
|
|
582
|
+
// The counter has already been adjusted by resolveInterruptedTurn's rewind logic.
|
|
583
|
+
if (turnResult.nextStep.type === 'next_step_run_again') {
|
|
584
|
+
continuingInterruptedTurn = true;
|
|
585
|
+
result.state._currentStep = undefined;
|
|
586
|
+
continue;
|
|
587
|
+
}
|
|
588
|
+
continuingInterruptedTurn = false;
|
|
589
|
+
result.state._currentStep = turnResult.nextStep;
|
|
565
590
|
}
|
|
566
591
|
if (result.state._currentStep.type === 'next_step_run_again') {
|
|
567
592
|
const artifacts = await prepareAgentArtifacts(result.state);
|
|
568
|
-
|
|
569
|
-
|
|
593
|
+
const isResumingFromInterruption = isResumedState && continuingInterruptedTurn;
|
|
594
|
+
continuingInterruptedTurn = false;
|
|
595
|
+
// Do not advance the turn when resuming from an interruption; the next model call is
|
|
596
|
+
// still part of the same logical turn.
|
|
597
|
+
if (!isResumingFromInterruption) {
|
|
598
|
+
result.state._currentTurn++;
|
|
599
|
+
result.state._currentTurnPersistedItemCount = 0;
|
|
600
|
+
}
|
|
570
601
|
if (result.state._currentTurn > result.state._maxTurns) {
|
|
571
602
|
result.state._currentAgentSpan?.setError({
|
|
572
603
|
message: 'Max turns exceeded',
|
|
@@ -577,7 +608,8 @@ class Runner extends lifecycle_1.RunHooks {
|
|
|
577
608
|
logger_1.default.debug(`Running agent ${currentAgent.name} (turn ${result.state._currentTurn})`);
|
|
578
609
|
let guardrailError;
|
|
579
610
|
let parallelGuardrailPromise;
|
|
580
|
-
|
|
611
|
+
// Only run input guardrails on the first turn of a new run.
|
|
612
|
+
if (result.state._currentTurn === 1 && !isResumingFromInterruption) {
|
|
581
613
|
const guardrails = this.#splitInputGuardrails(result.state);
|
|
582
614
|
if (guardrails.blocking.length > 0) {
|
|
583
615
|
await this.#runInputGuardrails(result.state, guardrails.blocking);
|
|
@@ -594,8 +626,8 @@ class Runner extends lifecycle_1.RunHooks {
|
|
|
594
626
|
? serverConversationTracker.prepareInput(result.input, result.newItems)
|
|
595
627
|
: getTurnInput(result.input, result.newItems);
|
|
596
628
|
if (result.state._noActiveAgentRun) {
|
|
597
|
-
currentAgent.emit('agent_start', result.state._context, currentAgent);
|
|
598
|
-
this.emit('agent_start', result.state._context, currentAgent);
|
|
629
|
+
currentAgent.emit('agent_start', result.state._context, currentAgent, turnInput);
|
|
630
|
+
this.emit('agent_start', result.state._context, currentAgent, turnInput);
|
|
599
631
|
}
|
|
600
632
|
let finalResponse = undefined;
|
|
601
633
|
const preparedCall = await this.#prepareModelCall(result.state, options, artifacts, turnInput, serverConversationTracker, sessionInputUpdate);
|
|
@@ -632,6 +664,7 @@ class Runner extends lifecycle_1.RunHooks {
|
|
|
632
664
|
output: parsed.response.output,
|
|
633
665
|
responseId: parsed.response.id,
|
|
634
666
|
};
|
|
667
|
+
result.state._context.usage.add(finalResponse.usage);
|
|
635
668
|
}
|
|
636
669
|
if (result.cancelled) {
|
|
637
670
|
// When the user's code exits a loop to consume the stream, we need to break
|