@openai/agents-core 0.5.4 → 0.7.0

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 (121) hide show
  1. package/dist/agentToolRunConfig.js +2 -10
  2. package/dist/agentToolRunConfig.js.map +1 -1
  3. package/dist/agentToolRunConfig.mjs +2 -10
  4. package/dist/agentToolRunConfig.mjs.map +1 -1
  5. package/dist/computer.d.ts +10 -2
  6. package/dist/events.d.ts +1 -1
  7. package/dist/events.js.map +1 -1
  8. package/dist/events.mjs.map +1 -1
  9. package/dist/extensions/handoffFilters.d.ts +4 -3
  10. package/dist/extensions/handoffFilters.js +8 -3
  11. package/dist/extensions/handoffFilters.js.map +1 -1
  12. package/dist/extensions/handoffFilters.mjs +9 -4
  13. package/dist/extensions/handoffFilters.mjs.map +1 -1
  14. package/dist/index.d.ts +6 -5
  15. package/dist/index.js +10 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/index.mjs +3 -2
  18. package/dist/index.mjs.map +1 -1
  19. package/dist/items.d.ts +1158 -32
  20. package/dist/items.js +56 -2
  21. package/dist/items.js.map +1 -1
  22. package/dist/items.mjs +53 -1
  23. package/dist/items.mjs.map +1 -1
  24. package/dist/metadata.js +3 -3
  25. package/dist/metadata.mjs +3 -3
  26. package/dist/model.d.ts +160 -2
  27. package/dist/run.js +6 -8
  28. package/dist/run.js.map +1 -1
  29. package/dist/run.mjs +8 -10
  30. package/dist/run.mjs.map +1 -1
  31. package/dist/runContext.js +116 -67
  32. package/dist/runContext.js.map +1 -1
  33. package/dist/runContext.mjs +116 -67
  34. package/dist/runContext.mjs.map +1 -1
  35. package/dist/runState.d.ts +493 -17
  36. package/dist/runState.js +303 -12
  37. package/dist/runState.js.map +1 -1
  38. package/dist/runState.mjs +304 -13
  39. package/dist/runState.mjs.map +1 -1
  40. package/dist/runner/modelOutputs.d.ts +5 -1
  41. package/dist/runner/modelOutputs.js +552 -12
  42. package/dist/runner/modelOutputs.js.map +1 -1
  43. package/dist/runner/modelOutputs.mjs +552 -13
  44. package/dist/runner/modelOutputs.mjs.map +1 -1
  45. package/dist/runner/modelPreparation.js +5 -2
  46. package/dist/runner/modelPreparation.js.map +1 -1
  47. package/dist/runner/modelPreparation.mjs +5 -2
  48. package/dist/runner/modelPreparation.mjs.map +1 -1
  49. package/dist/runner/modelRetry.d.ts +13 -0
  50. package/dist/runner/modelRetry.js +581 -0
  51. package/dist/runner/modelRetry.js.map +1 -0
  52. package/dist/runner/modelRetry.mjs +576 -0
  53. package/dist/runner/modelRetry.mjs.map +1 -0
  54. package/dist/runner/modelSettings.d.ts +1 -0
  55. package/dist/runner/modelSettings.js +9 -0
  56. package/dist/runner/modelSettings.js.map +1 -1
  57. package/dist/runner/modelSettings.mjs +7 -0
  58. package/dist/runner/modelSettings.mjs.map +1 -1
  59. package/dist/runner/modelSettingsMerge.d.ts +2 -0
  60. package/dist/runner/modelSettingsMerge.js +54 -0
  61. package/dist/runner/modelSettingsMerge.js.map +1 -0
  62. package/dist/runner/modelSettingsMerge.mjs +51 -0
  63. package/dist/runner/modelSettingsMerge.mjs.map +1 -0
  64. package/dist/runner/sessionPersistence.js +17 -3
  65. package/dist/runner/sessionPersistence.js.map +1 -1
  66. package/dist/runner/sessionPersistence.mjs +17 -3
  67. package/dist/runner/sessionPersistence.mjs.map +1 -1
  68. package/dist/runner/streaming.js +8 -0
  69. package/dist/runner/streaming.js.map +1 -1
  70. package/dist/runner/streaming.mjs +9 -1
  71. package/dist/runner/streaming.mjs.map +1 -1
  72. package/dist/runner/toolExecution.js +102 -67
  73. package/dist/runner/toolExecution.js.map +1 -1
  74. package/dist/runner/toolExecution.mjs +102 -67
  75. package/dist/runner/toolExecution.mjs.map +1 -1
  76. package/dist/runner/toolSearch.d.ts +23 -0
  77. package/dist/runner/toolSearch.js +426 -0
  78. package/dist/runner/toolSearch.js.map +1 -0
  79. package/dist/runner/toolSearch.mjs +416 -0
  80. package/dist/runner/toolSearch.mjs.map +1 -0
  81. package/dist/runner/turnResolution.js +2 -1
  82. package/dist/runner/turnResolution.js.map +1 -1
  83. package/dist/runner/turnResolution.mjs +2 -1
  84. package/dist/runner/turnResolution.mjs.map +1 -1
  85. package/dist/tool.d.ts +50 -0
  86. package/dist/tool.js +79 -0
  87. package/dist/tool.js.map +1 -1
  88. package/dist/tool.mjs +74 -0
  89. package/dist/tool.mjs.map +1 -1
  90. package/dist/toolIdentity.d.ts +23 -0
  91. package/dist/toolIdentity.js +105 -0
  92. package/dist/toolIdentity.js.map +1 -0
  93. package/dist/toolIdentity.mjs +89 -0
  94. package/dist/toolIdentity.mjs.map +1 -0
  95. package/dist/tooling.d.ts +24 -0
  96. package/dist/tooling.js +110 -0
  97. package/dist/tooling.js.map +1 -0
  98. package/dist/tooling.mjs +97 -0
  99. package/dist/tooling.mjs.map +1 -0
  100. package/dist/types/aliases.d.ts +3 -3
  101. package/dist/types/protocol.d.ts +417 -12
  102. package/dist/types/protocol.js +59 -4
  103. package/dist/types/protocol.js.map +1 -1
  104. package/dist/types/protocol.mjs +57 -2
  105. package/dist/types/protocol.mjs.map +1 -1
  106. package/dist/types/providerData.d.ts +2 -0
  107. package/dist/utils/index.d.ts +2 -0
  108. package/dist/utils/index.js +15 -1
  109. package/dist/utils/index.js.map +1 -1
  110. package/dist/utils/index.mjs +2 -0
  111. package/dist/utils/index.mjs.map +1 -1
  112. package/dist/utils/serialize.js +37 -6
  113. package/dist/utils/serialize.js.map +1 -1
  114. package/dist/utils/serialize.mjs +37 -6
  115. package/dist/utils/serialize.mjs.map +1 -1
  116. package/dist/utils/toolSearch.d.ts +1 -0
  117. package/dist/utils/toolSearch.js +13 -0
  118. package/dist/utils/toolSearch.js.map +1 -0
  119. package/dist/utils/toolSearch.mjs +2 -0
  120. package/dist/utils/toolSearch.mjs.map +1 -0
  121. package/package.json +2 -2
@@ -1,5 +1,61 @@
1
1
  import logger from "./logger.mjs";
2
2
  import { Usage } from "./usage.mjs";
3
+ const COMPUTER_APPROVAL_TOOL_NAMES = new Set([
4
+ 'computer',
5
+ 'computer_use_preview',
6
+ ]);
7
+ function getApprovalToolNameCandidates(toolName) {
8
+ if (!COMPUTER_APPROVAL_TOOL_NAMES.has(toolName)) {
9
+ return [toolName];
10
+ }
11
+ return toolName === 'computer'
12
+ ? ['computer', 'computer_use_preview']
13
+ : ['computer_use_preview', 'computer'];
14
+ }
15
+ function mergeApprovalList(current, incoming) {
16
+ if (current === true || incoming === true) {
17
+ return true;
18
+ }
19
+ const currentList = Array.isArray(current) ? current : [];
20
+ const incomingList = Array.isArray(incoming) ? incoming : [];
21
+ return Array.from(new Set([...currentList, ...incomingList]));
22
+ }
23
+ function mergeApprovalMessages(current, incoming) {
24
+ if (current.rejected === true) {
25
+ return current.messages;
26
+ }
27
+ const merged = current.messages || incoming.messages
28
+ ? { ...incoming.messages, ...current.messages }
29
+ : undefined;
30
+ if (!merged) {
31
+ return undefined;
32
+ }
33
+ if (Array.isArray(current.rejected)) {
34
+ for (const callId of current.rejected) {
35
+ if (!current.messages ||
36
+ !Object.prototype.hasOwnProperty.call(current.messages, callId)) {
37
+ delete merged[callId];
38
+ }
39
+ }
40
+ }
41
+ return Object.keys(merged).length > 0 ? merged : undefined;
42
+ }
43
+ function mergeStickyRejectMessage(current, incoming) {
44
+ if (current.rejected === true) {
45
+ return current.stickyRejectMessage;
46
+ }
47
+ return current.stickyRejectMessage ?? incoming.stickyRejectMessage;
48
+ }
49
+ function mergeApprovalRecords(current, incoming) {
50
+ const mergedMessages = mergeApprovalMessages(current, incoming);
51
+ const stickyRejectMessage = mergeStickyRejectMessage(current, incoming);
52
+ return {
53
+ approved: mergeApprovalList(current.approved, incoming.approved),
54
+ rejected: mergeApprovalList(current.rejected, incoming.rejected),
55
+ ...(mergedMessages ? { messages: mergedMessages } : {}),
56
+ ...(stickyRejectMessage !== undefined ? { stickyRejectMessage } : {}),
57
+ };
58
+ }
3
59
  /**
4
60
  * A context object that is passed to the `Runner.run()` method.
5
61
  */
@@ -50,7 +106,10 @@ export class RunContext {
50
106
  * @param approvals - The approvals map to rebuild.
51
107
  */
52
108
  _rebuildApprovals(approvals) {
53
- this.#approvals = new Map(Object.entries(approvals));
109
+ this.#approvals = new Map();
110
+ for (const [toolName, approval] of Object.entries(approvals)) {
111
+ this.#setApprovalRecord(toolName, approval);
112
+ }
54
113
  }
55
114
  /**
56
115
  * Merge approvals from a serialized state without discarding existing entries.
@@ -59,54 +118,8 @@ export class RunContext {
59
118
  * @param approvals - The approvals map to merge.
60
119
  */
61
120
  _mergeApprovals(approvals) {
62
- const mergeApproval = (current, incoming) => {
63
- if (current === true || incoming === true) {
64
- return true;
65
- }
66
- const currentList = Array.isArray(current) ? current : [];
67
- const incomingList = Array.isArray(incoming) ? incoming : [];
68
- return Array.from(new Set([...currentList, ...incomingList]));
69
- };
70
- const mergeMessages = (current, incoming) => {
71
- if (current.rejected === true) {
72
- return current.messages;
73
- }
74
- const merged = current.messages || incoming.messages
75
- ? { ...incoming.messages, ...current.messages }
76
- : undefined;
77
- if (!merged) {
78
- return undefined;
79
- }
80
- if (Array.isArray(current.rejected)) {
81
- for (const callId of current.rejected) {
82
- if (!current.messages ||
83
- !Object.prototype.hasOwnProperty.call(current.messages, callId)) {
84
- delete merged[callId];
85
- }
86
- }
87
- }
88
- return Object.keys(merged).length > 0 ? merged : undefined;
89
- };
90
- const mergeStickyRejectMessage = (current, incoming) => {
91
- if (current.rejected === true) {
92
- return current.stickyRejectMessage;
93
- }
94
- return current.stickyRejectMessage ?? incoming.stickyRejectMessage;
95
- };
96
121
  for (const [toolName, incoming] of Object.entries(approvals)) {
97
- const existing = this.#approvals.get(toolName);
98
- if (!existing) {
99
- this.#approvals.set(toolName, incoming);
100
- continue;
101
- }
102
- const mergedMessages = mergeMessages(existing, incoming);
103
- const stickyRejectMessage = mergeStickyRejectMessage(existing, incoming);
104
- this.#approvals.set(toolName, {
105
- approved: mergeApproval(existing.approved, incoming.approved),
106
- rejected: mergeApproval(existing.rejected, incoming.rejected),
107
- ...(mergedMessages ? { messages: mergedMessages } : {}),
108
- ...(stickyRejectMessage !== undefined ? { stickyRejectMessage } : {}),
109
- });
122
+ this.#setApprovalRecord(toolName, incoming);
110
123
  }
111
124
  }
112
125
  /**
@@ -117,11 +130,17 @@ export class RunContext {
117
130
  * @returns The message string if one was provided, `undefined` otherwise.
118
131
  */
119
132
  getRejectionMessage(toolName, callId) {
120
- const approvalEntry = this.#approvals.get(toolName);
121
- return (approvalEntry?.messages?.[callId] ??
122
- (approvalEntry?.rejected === true
123
- ? approvalEntry.stickyRejectMessage
124
- : undefined));
133
+ for (const approvalEntry of this.#getApprovalEntries(toolName)) {
134
+ if (typeof approvalEntry.messages?.[callId] === 'string') {
135
+ return approvalEntry.messages[callId];
136
+ }
137
+ }
138
+ for (const approvalEntry of this.#getApprovalEntries(toolName)) {
139
+ if (approvalEntry.rejected === true) {
140
+ return approvalEntry.stickyRejectMessage;
141
+ }
142
+ }
143
+ return undefined;
125
144
  }
126
145
  #getCallId(approvalItem) {
127
146
  if ('callId' in approvalItem.rawItem) {
@@ -138,23 +157,25 @@ export class RunContext {
138
157
  */
139
158
  isToolApproved(approval) {
140
159
  const { toolName, callId } = approval;
141
- const approvalEntry = this.#approvals.get(toolName);
142
- if (approvalEntry?.approved === true && approvalEntry.rejected === true) {
160
+ const approvalEntries = this.#getApprovalEntries(toolName);
161
+ const hasPermanentApproval = approvalEntries.some((approvalEntry) => approvalEntry.approved === true);
162
+ const hasPermanentRejection = approvalEntries.some((approvalEntry) => approvalEntry.rejected === true);
163
+ if (hasPermanentApproval && hasPermanentRejection) {
143
164
  logger.warn('Tool is permanently approved and rejected at the same time. Approval takes precedence');
144
165
  return true;
145
166
  }
146
- if (approvalEntry?.approved === true) {
167
+ if (hasPermanentApproval) {
147
168
  return true;
148
169
  }
149
- if (approvalEntry?.rejected === true) {
170
+ if (hasPermanentRejection) {
150
171
  return false;
151
172
  }
152
- const individualCallApproval = Array.isArray(approvalEntry?.approved)
173
+ const individualCallApproval = approvalEntries.some((approvalEntry) => Array.isArray(approvalEntry.approved)
153
174
  ? approvalEntry.approved.includes(callId)
154
- : false;
155
- const individualCallRejection = Array.isArray(approvalEntry?.rejected)
175
+ : false);
176
+ const individualCallRejection = approvalEntries.some((approvalEntry) => Array.isArray(approvalEntry.rejected)
156
177
  ? approvalEntry.rejected.includes(callId)
157
- : false;
178
+ : false);
158
179
  if (individualCallApproval && individualCallRejection) {
159
180
  logger.warn(`Tool call ${callId} is both approved and rejected at the same time. Approval takes precedence`);
160
181
  return true;
@@ -175,21 +196,22 @@ export class RunContext {
175
196
  */
176
197
  approveTool(approvalItem, { alwaysApprove = false } = {}) {
177
198
  const toolName = approvalItem.toolName ?? approvalItem.rawItem.name;
199
+ const approvalKey = this.#getApprovalStorageKey(toolName);
178
200
  if (alwaysApprove) {
179
- this.#approvals.set(toolName, {
201
+ this.#approvals.set(approvalKey, {
180
202
  approved: true,
181
203
  rejected: [],
182
204
  });
183
205
  return;
184
206
  }
185
- const approvalEntry = this.#approvals.get(toolName) ?? {
207
+ const approvalEntry = this.#approvals.get(approvalKey) ?? {
186
208
  approved: [],
187
209
  rejected: [],
188
210
  };
189
211
  if (Array.isArray(approvalEntry.approved)) {
190
212
  approvalEntry.approved.push(this.#getCallId(approvalItem));
191
213
  }
192
- this.#approvals.set(toolName, approvalEntry);
214
+ this.#approvals.set(approvalKey, approvalEntry);
193
215
  }
194
216
  /**
195
217
  * Reject a tool call.
@@ -198,9 +220,10 @@ export class RunContext {
198
220
  */
199
221
  rejectTool(approvalItem, { alwaysReject = false, message, } = {}) {
200
222
  const toolName = approvalItem.toolName ?? approvalItem.rawItem.name;
223
+ const approvalKey = this.#getApprovalStorageKey(toolName);
201
224
  if (alwaysReject) {
202
225
  const callId = this.#getCallId(approvalItem);
203
- this.#approvals.set(toolName, {
226
+ this.#approvals.set(approvalKey, {
204
227
  approved: false,
205
228
  rejected: true,
206
229
  ...(message !== undefined
@@ -212,7 +235,7 @@ export class RunContext {
212
235
  });
213
236
  return;
214
237
  }
215
- const approvalEntry = this.#approvals.get(toolName) ?? {
238
+ const approvalEntry = this.#approvals.get(approvalKey) ?? {
216
239
  approved: [],
217
240
  rejected: [],
218
241
  };
@@ -224,7 +247,7 @@ export class RunContext {
224
247
  approvalEntry.messages[callId] = message;
225
248
  }
226
249
  }
227
- this.#approvals.set(toolName, approvalEntry);
250
+ this.#approvals.set(approvalKey, approvalEntry);
228
251
  }
229
252
  /**
230
253
  * Creates a child context that shares approvals and usage, with tool input set.
@@ -255,5 +278,31 @@ export class RunContext {
255
278
  }
256
279
  return json;
257
280
  }
281
+ #getApprovalEntries(toolName) {
282
+ return getApprovalToolNameCandidates(toolName)
283
+ .map((candidate) => this.#approvals.get(candidate))
284
+ .filter((approval) => approval !== undefined);
285
+ }
286
+ #getApprovalStorageKey(toolName) {
287
+ return (getApprovalToolNameCandidates(toolName).find((candidate) => this.#approvals.has(candidate)) ?? toolName);
288
+ }
289
+ #setApprovalRecord(toolName, incoming) {
290
+ const candidates = getApprovalToolNameCandidates(toolName);
291
+ const existingEntries = candidates
292
+ .map((candidate) => this.#approvals.get(candidate))
293
+ .filter((approval) => approval !== undefined);
294
+ const mergedExisting = existingEntries.reduce((current, approval) => current ? mergeApprovalRecords(current, approval) : approval, undefined);
295
+ const merged = mergedExisting
296
+ ? mergeApprovalRecords(mergedExisting, incoming)
297
+ : incoming;
298
+ const targetKey = candidates.find((candidate) => this.#approvals.has(candidate)) ??
299
+ toolName;
300
+ this.#approvals.set(targetKey, merged);
301
+ for (const candidate of candidates) {
302
+ if (candidate !== targetKey) {
303
+ this.#approvals.delete(candidate);
304
+ }
305
+ }
306
+ }
258
307
  }
259
308
  //# sourceMappingURL=runContext.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"runContext.mjs","sourceRoot":"","sources":["../src/runContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runContext.mjs","sourceRoot":"","sources":["../src/runContext.ts"],"names":[],"mappings":"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"}