@openai/agents-core 0.1.8 → 0.1.10

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/run.js CHANGED
@@ -39,14 +39,121 @@ function getTracing(tracingDisabled, traceIncludeSensitiveData) {
39
39
  }
40
40
  return 'enabled_without_data';
41
41
  }
42
+ function toAgentInputList(originalInput) {
43
+ if (typeof originalInput === 'string') {
44
+ return [{ type: 'message', role: 'user', content: originalInput }];
45
+ }
46
+ return [...originalInput];
47
+ }
48
+ /**
49
+ * Internal module for tracking the items in turns and ensuring that we don't send duplicate items.
50
+ * This logic is vital for properly handling the items to send during multiple turns
51
+ * when you use either `conversationId` or `previousResponseId`.
52
+ * Both scenarios expect an agent loop to send only new items for each Responses API call.
53
+ *
54
+ * see also: https://platform.openai.com/docs/guides/conversation-state?api-mode=responses
55
+ */
56
+ class ServerConversationTracker {
57
+ // Conversation ID:
58
+ // - https://platform.openai.com/docs/guides/conversation-state?api-mode=responses#using-the-conversations-api
59
+ // - https://platform.openai.com/docs/api-reference/conversations/create
60
+ conversationId;
61
+ // Previous Response ID:
62
+ // https://platform.openai.com/docs/guides/conversation-state?api-mode=responses#passing-context-from-the-previous-response
63
+ previousResponseId;
64
+ // Using this flag because WeakSet does not provide a way to check its size
65
+ sentInitialInput = false;
66
+ // The items already sent to the model; using WeakSet for memory efficiency
67
+ sentItems = new WeakSet();
68
+ // The items received from the server; using WeakSet for memory efficiency
69
+ serverItems = new WeakSet();
70
+ constructor({ conversationId, previousResponseId, }) {
71
+ this.conversationId = conversationId ?? undefined;
72
+ this.previousResponseId = previousResponseId ?? undefined;
73
+ }
74
+ /**
75
+ * Pre-populates tracker caches from an existing RunState when resuming server-managed runs.
76
+ */
77
+ primeFromState({ originalInput, generatedItems, modelResponses, }) {
78
+ if (this.sentInitialInput) {
79
+ return;
80
+ }
81
+ for (const item of toAgentInputList(originalInput)) {
82
+ if (item && typeof item === 'object') {
83
+ this.sentItems.add(item);
84
+ }
85
+ }
86
+ this.sentInitialInput = true;
87
+ const latestResponse = modelResponses[modelResponses.length - 1];
88
+ for (const response of modelResponses) {
89
+ for (const item of response.output) {
90
+ if (item && typeof item === 'object') {
91
+ this.serverItems.add(item);
92
+ }
93
+ }
94
+ }
95
+ if (!this.conversationId && latestResponse?.responseId) {
96
+ this.previousResponseId = latestResponse.responseId;
97
+ }
98
+ for (const item of generatedItems) {
99
+ const rawItem = item.rawItem;
100
+ if (!rawItem || typeof rawItem !== 'object') {
101
+ continue;
102
+ }
103
+ if (this.serverItems.has(rawItem)) {
104
+ this.sentItems.add(rawItem);
105
+ }
106
+ }
107
+ }
108
+ trackServerItems(modelResponse) {
109
+ if (!modelResponse) {
110
+ return;
111
+ }
112
+ for (const item of modelResponse.output) {
113
+ if (item && typeof item === 'object') {
114
+ this.serverItems.add(item);
115
+ }
116
+ }
117
+ if (!this.conversationId &&
118
+ this.previousResponseId !== undefined &&
119
+ modelResponse.responseId) {
120
+ this.previousResponseId = modelResponse.responseId;
121
+ }
122
+ }
123
+ prepareInput(originalInput, generatedItems) {
124
+ const inputItems = [];
125
+ if (!this.sentInitialInput) {
126
+ const initialItems = toAgentInputList(originalInput);
127
+ for (const item of initialItems) {
128
+ inputItems.push(item);
129
+ if (item && typeof item === 'object') {
130
+ this.sentItems.add(item);
131
+ }
132
+ }
133
+ this.sentInitialInput = true;
134
+ }
135
+ for (const item of generatedItems) {
136
+ if (item.type === 'tool_approval_item') {
137
+ continue;
138
+ }
139
+ const rawItem = item.rawItem;
140
+ if (!rawItem || typeof rawItem !== 'object') {
141
+ continue;
142
+ }
143
+ if (this.sentItems.has(rawItem) || this.serverItems.has(rawItem)) {
144
+ continue;
145
+ }
146
+ inputItems.push(rawItem);
147
+ this.sentItems.add(rawItem);
148
+ }
149
+ return inputItems;
150
+ }
151
+ }
42
152
  function getTurnInput(originalInput, generatedItems) {
43
153
  const rawItems = generatedItems
44
154
  .filter((item) => item.type !== 'tool_approval_item') // don't include approval items to avoid double function calls
45
155
  .map((item) => item.rawItem);
46
- if (typeof originalInput === 'string') {
47
- originalInput = [{ type: 'message', role: 'user', content: originalInput }];
48
- }
49
- return [...originalInput, ...rawItems];
156
+ return [...toAgentInputList(originalInput), ...rawItems];
50
157
  }
51
158
  /**
52
159
  * A Runner is responsible for running an agent workflow.
@@ -80,11 +187,25 @@ class Runner extends lifecycle_1.RunHooks {
80
187
  async #runIndividualNonStream(startingAgent, input, options) {
81
188
  return (0, context_1.withNewSpanContext)(async () => {
82
189
  // if we have a saved state we use that one, otherwise we create a new one
83
- const state = input instanceof runState_1.RunState
190
+ const isResumedState = input instanceof runState_1.RunState;
191
+ const state = isResumedState
84
192
  ? input
85
193
  : new runState_1.RunState(options.context instanceof runContext_1.RunContext
86
194
  ? options.context
87
195
  : new runContext_1.RunContext(options.context), input, startingAgent, options.maxTurns ?? DEFAULT_MAX_TURNS);
196
+ const serverConversationTracker = options.conversationId || options.previousResponseId
197
+ ? new ServerConversationTracker({
198
+ conversationId: options.conversationId,
199
+ previousResponseId: options.previousResponseId,
200
+ })
201
+ : undefined;
202
+ if (serverConversationTracker && isResumedState) {
203
+ serverConversationTracker.primeFromState({
204
+ originalInput: state._originalInput,
205
+ generatedItems: state._generatedItems,
206
+ modelResponses: state._modelResponses,
207
+ });
208
+ }
88
209
  try {
89
210
  while (true) {
90
211
  const explictlyModelSet = (state._currentAgent.model !== undefined &&
@@ -146,7 +267,9 @@ class Runner extends lifecycle_1.RunHooks {
146
267
  if (state._currentTurn === 1) {
147
268
  await this.#runInputGuardrails(state);
148
269
  }
149
- const turnInput = getTurnInput(state._originalInput, state._generatedItems);
270
+ const turnInput = serverConversationTracker
271
+ ? serverConversationTracker.prepareInput(state._originalInput, state._generatedItems)
272
+ : getTurnInput(state._originalInput, state._generatedItems);
150
273
  if (state._noActiveAgentRun) {
151
274
  state._currentAgent.emit('agent_start', state._context, state._currentAgent);
152
275
  this.emit('agent_start', state._context, state._currentAgent);
@@ -158,12 +281,18 @@ class Runner extends lifecycle_1.RunHooks {
158
281
  const agentModelSettings = state._currentAgent.modelSettings;
159
282
  modelSettings = adjustModelSettingsForNonGPT5RunnerModel(explictlyModelSet, agentModelSettings, model, modelSettings);
160
283
  modelSettings = (0, runImplementation_1.maybeResetToolChoice)(state._currentAgent, state._toolUseTracker, modelSettings);
284
+ const previousResponseId = serverConversationTracker?.previousResponseId ??
285
+ options.previousResponseId;
286
+ const conversationId = serverConversationTracker?.conversationId ??
287
+ options.conversationId;
161
288
  state._lastTurnResponse = await model.getResponse({
162
289
  systemInstructions: await state._currentAgent.getSystemPrompt(state._context),
163
290
  prompt: await state._currentAgent.getPrompt(state._context),
291
+ // Explicit agent/run config models should take precedence over prompt defaults.
292
+ ...(explictlyModelSet ? { overridePromptModel: true } : {}),
164
293
  input: turnInput,
165
- previousResponseId: options.previousResponseId,
166
- conversationId: options.conversationId,
294
+ previousResponseId,
295
+ conversationId,
167
296
  modelSettings,
168
297
  tools: serializedTools,
169
298
  outputType: (0, tools_1.convertAgentOutputTypeToSerializable)(state._currentAgent.outputType),
@@ -174,6 +303,7 @@ class Runner extends lifecycle_1.RunHooks {
174
303
  state._modelResponses.push(state._lastTurnResponse);
175
304
  state._context.usage.add(state._lastTurnResponse.usage);
176
305
  state._noActiveAgentRun = false;
306
+ serverConversationTracker?.trackServerItems(state._lastTurnResponse);
177
307
  const processedResponse = (0, runImplementation_1.processModelResponse)(state._lastTurnResponse, state._currentAgent, tools, handoffs);
178
308
  state._lastProcessedResponse = processedResponse;
179
309
  const turnResult = await (0, runImplementation_1.executeToolsAndSideEffects)(state._currentAgent, state._originalInput, state._generatedItems, state._lastTurnResponse, state._lastProcessedResponse, this, state);
@@ -310,7 +440,20 @@ class Runner extends lifecycle_1.RunHooks {
310
440
  /**
311
441
  * @internal
312
442
  */
313
- async #runStreamLoop(result, options) {
443
+ async #runStreamLoop(result, options, isResumedState) {
444
+ const serverConversationTracker = options.conversationId || options.previousResponseId
445
+ ? new ServerConversationTracker({
446
+ conversationId: options.conversationId,
447
+ previousResponseId: options.previousResponseId,
448
+ })
449
+ : undefined;
450
+ if (serverConversationTracker && isResumedState) {
451
+ serverConversationTracker.primeFromState({
452
+ originalInput: result.state._originalInput,
453
+ generatedItems: result.state._generatedItems,
454
+ modelResponses: result.state._modelResponses,
455
+ });
456
+ }
314
457
  try {
315
458
  while (true) {
316
459
  const currentAgent = result.state._currentAgent;
@@ -378,18 +521,25 @@ class Runner extends lifecycle_1.RunHooks {
378
521
  const agentModelSettings = currentAgent.modelSettings;
379
522
  modelSettings = adjustModelSettingsForNonGPT5RunnerModel(explictlyModelSet, agentModelSettings, model, modelSettings);
380
523
  modelSettings = (0, runImplementation_1.maybeResetToolChoice)(currentAgent, result.state._toolUseTracker, modelSettings);
381
- const turnInput = getTurnInput(result.input, result.newItems);
524
+ const turnInput = serverConversationTracker
525
+ ? serverConversationTracker.prepareInput(result.input, result.newItems)
526
+ : getTurnInput(result.input, result.newItems);
382
527
  if (result.state._noActiveAgentRun) {
383
528
  currentAgent.emit('agent_start', result.state._context, currentAgent);
384
529
  this.emit('agent_start', result.state._context, currentAgent);
385
530
  }
386
531
  let finalResponse = undefined;
532
+ const previousResponseId = serverConversationTracker?.previousResponseId ??
533
+ options.previousResponseId;
534
+ const conversationId = serverConversationTracker?.conversationId ?? options.conversationId;
387
535
  for await (const event of model.getStreamedResponse({
388
536
  systemInstructions: await currentAgent.getSystemPrompt(result.state._context),
389
537
  prompt: await currentAgent.getPrompt(result.state._context),
538
+ // Streaming requests should also honor explicitly chosen models.
539
+ ...(explictlyModelSet ? { overridePromptModel: true } : {}),
390
540
  input: turnInput,
391
- previousResponseId: options.previousResponseId,
392
- conversationId: options.conversationId,
541
+ previousResponseId,
542
+ conversationId,
393
543
  modelSettings,
394
544
  tools: serializedTools,
395
545
  handoffs: serializedHandoffs,
@@ -417,6 +567,7 @@ class Runner extends lifecycle_1.RunHooks {
417
567
  throw new errors_1.ModelBehaviorError('Model did not produce a final response!', result.state);
418
568
  }
419
569
  result.state._lastTurnResponse = finalResponse;
570
+ serverConversationTracker?.trackServerItems(finalResponse);
420
571
  result.state._modelResponses.push(result.state._lastTurnResponse);
421
572
  const processedResponse = (0, runImplementation_1.processModelResponse)(result.state._lastTurnResponse, currentAgent, tools, handoffs);
422
573
  result.state._lastProcessedResponse = processedResponse;
@@ -490,7 +641,8 @@ class Runner extends lifecycle_1.RunHooks {
490
641
  options = options ?? {};
491
642
  return (0, context_1.withNewSpanContext)(async () => {
492
643
  // Initialize or reuse existing state
493
- const state = input instanceof runState_1.RunState
644
+ const isResumedState = input instanceof runState_1.RunState;
645
+ const state = isResumedState
494
646
  ? input
495
647
  : new runState_1.RunState(options.context instanceof runContext_1.RunContext
496
648
  ? options.context
@@ -503,11 +655,13 @@ class Runner extends lifecycle_1.RunHooks {
503
655
  // Setup defaults
504
656
  result.maxTurns = options.maxTurns ?? state._maxTurns;
505
657
  // Continue the stream loop without blocking
506
- this.#runStreamLoop(result, options).then(() => {
658
+ const streamLoopPromise = this.#runStreamLoop(result, options, isResumedState).then(() => {
507
659
  result._done();
508
660
  }, (err) => {
509
661
  result._raiseError(err);
510
662
  });
663
+ // Attach the stream loop promise so trace end waits for the loop to complete
664
+ result._setStreamLoopPromise(streamLoopPromise);
511
665
  return result;
512
666
  });
513
667
  }
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}