@openai/agents-openai 0.2.1 → 0.3.1

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/index.d.ts CHANGED
@@ -4,3 +4,4 @@ export { OpenAIChatCompletionsModel } from './openaiChatCompletionsModel';
4
4
  export { setDefaultOpenAIClient, setOpenAIAPI, setDefaultOpenAIKey, setTracingExportApiKey, } from './defaults';
5
5
  export { setDefaultOpenAITracingExporter, OpenAITracingExporter, OpenAITracingExporterOptions, } from './openaiTracingExporter';
6
6
  export { webSearchTool, fileSearchTool, codeInterpreterTool, imageGenerationTool, } from './tools';
7
+ export { OpenAIConversationsSession, startOpenAIConversationsSession, } from './memory/openaiConversationsSession';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.imageGenerationTool = exports.codeInterpreterTool = exports.fileSearchTool = exports.webSearchTool = exports.OpenAITracingExporter = exports.setDefaultOpenAITracingExporter = exports.setTracingExportApiKey = exports.setDefaultOpenAIKey = exports.setOpenAIAPI = exports.setDefaultOpenAIClient = exports.OpenAIChatCompletionsModel = exports.OpenAIResponsesModel = exports.OpenAIProvider = void 0;
3
+ exports.startOpenAIConversationsSession = exports.OpenAIConversationsSession = exports.imageGenerationTool = exports.codeInterpreterTool = exports.fileSearchTool = exports.webSearchTool = exports.OpenAITracingExporter = exports.setDefaultOpenAITracingExporter = exports.setTracingExportApiKey = exports.setDefaultOpenAIKey = exports.setOpenAIAPI = exports.setDefaultOpenAIClient = exports.OpenAIChatCompletionsModel = exports.OpenAIResponsesModel = exports.OpenAIProvider = void 0;
4
4
  var openaiProvider_1 = require("./openaiProvider.js");
5
5
  Object.defineProperty(exports, "OpenAIProvider", { enumerable: true, get: function () { return openaiProvider_1.OpenAIProvider; } });
6
6
  var openaiResponsesModel_1 = require("./openaiResponsesModel.js");
@@ -20,4 +20,7 @@ Object.defineProperty(exports, "webSearchTool", { enumerable: true, get: functio
20
20
  Object.defineProperty(exports, "fileSearchTool", { enumerable: true, get: function () { return tools_1.fileSearchTool; } });
21
21
  Object.defineProperty(exports, "codeInterpreterTool", { enumerable: true, get: function () { return tools_1.codeInterpreterTool; } });
22
22
  Object.defineProperty(exports, "imageGenerationTool", { enumerable: true, get: function () { return tools_1.imageGenerationTool; } });
23
+ var openaiConversationsSession_1 = require("./memory/openaiConversationsSession.js");
24
+ Object.defineProperty(exports, "OpenAIConversationsSession", { enumerable: true, get: function () { return openaiConversationsSession_1.OpenAIConversationsSession; } });
25
+ Object.defineProperty(exports, "startOpenAIConversationsSession", { enumerable: true, get: function () { return openaiConversationsSession_1.startOpenAIConversationsSession; } });
23
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,kEAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,8EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,0CAKoB;AAJlB,kHAAA,sBAAsB,OAAA;AACtB,wGAAA,YAAY,OAAA;AACZ,+GAAA,mBAAmB,OAAA;AACnB,kHAAA,sBAAsB,OAAA;AAExB,oEAIiC;AAH/B,wIAAA,+BAA+B,OAAA;AAC/B,8HAAA,qBAAqB,OAAA;AAGvB,oCAKiB;AAJf,sGAAA,aAAa,OAAA;AACb,uGAAA,cAAc,OAAA;AACd,4GAAA,mBAAmB,OAAA;AACnB,4GAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,kEAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,8EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,0CAKoB;AAJlB,kHAAA,sBAAsB,OAAA;AACtB,wGAAA,YAAY,OAAA;AACZ,+GAAA,mBAAmB,OAAA;AACnB,kHAAA,sBAAsB,OAAA;AAExB,oEAIiC;AAH/B,wIAAA,+BAA+B,OAAA;AAC/B,8HAAA,qBAAqB,OAAA;AAGvB,oCAKiB;AAJf,sGAAA,aAAa,OAAA;AACb,uGAAA,cAAc,OAAA;AACd,4GAAA,mBAAmB,OAAA;AACnB,4GAAA,mBAAmB,OAAA;AAErB,qFAG6C;AAF3C,wIAAA,0BAA0B,OAAA;AAC1B,6IAAA,+BAA+B,OAAA"}
package/dist/index.mjs CHANGED
@@ -4,4 +4,5 @@ export { OpenAIChatCompletionsModel } from "./openaiChatCompletionsModel.mjs";
4
4
  export { setDefaultOpenAIClient, setOpenAIAPI, setDefaultOpenAIKey, setTracingExportApiKey, } from "./defaults.mjs";
5
5
  export { setDefaultOpenAITracingExporter, OpenAITracingExporter, } from "./openaiTracingExporter.mjs";
6
6
  export { webSearchTool, fileSearchTool, codeInterpreterTool, imageGenerationTool, } from "./tools.mjs";
7
+ export { OpenAIConversationsSession, startOpenAIConversationsSession, } from "./memory/openaiConversationsSession.mjs";
7
8
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"OAAO,EAAE,cAAc,EAAE;OAClB,EAAE,oBAAoB,EAAE;OACxB,EAAE,0BAA0B,EAAE;OAC9B,EACL,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,GACvB;OACM,EACL,+BAA+B,EAC/B,qBAAqB,GAEtB;OACM,EACL,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"OAAO,EAAE,cAAc,EAAE;OAClB,EAAE,oBAAoB,EAAE;OACxB,EAAE,0BAA0B,EAAE;OAC9B,EACL,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,GACvB;OACM,EACL,+BAA+B,EAC/B,qBAAqB,GAEtB;OACM,EACL,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB;OACM,EACL,0BAA0B,EAC1B,+BAA+B,GAChC"}
@@ -0,0 +1,21 @@
1
+ import OpenAI from 'openai';
2
+ import type { AgentInputItem, Session } from '@openai/agents-core';
3
+ export type OpenAIConversationsSessionOptions = {
4
+ conversationId?: string;
5
+ client?: OpenAI;
6
+ apiKey?: string;
7
+ baseURL?: string;
8
+ organization?: string;
9
+ project?: string;
10
+ };
11
+ export declare function startOpenAIConversationsSession(client?: OpenAI): Promise<string>;
12
+ export declare class OpenAIConversationsSession implements Session {
13
+ #private;
14
+ constructor(options?: OpenAIConversationsSessionOptions);
15
+ get sessionId(): string | undefined;
16
+ getSessionId(): Promise<string>;
17
+ getItems(limit?: number): Promise<AgentInputItem[]>;
18
+ addItems(items: AgentInputItem[]): Promise<void>;
19
+ popItem(): Promise<AgentInputItem | undefined>;
20
+ clearSession(): Promise<void>;
21
+ }
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OpenAIConversationsSession = void 0;
7
+ exports.startOpenAIConversationsSession = startOpenAIConversationsSession;
8
+ const openai_1 = __importDefault(require("openai"));
9
+ const defaults_1 = require("../defaults.js");
10
+ const openaiResponsesModel_1 = require("../openaiResponsesModel.js");
11
+ async function startOpenAIConversationsSession(client) {
12
+ const resolvedClient = client ?? resolveClient({});
13
+ const response = await resolvedClient.conversations.create({ items: [] });
14
+ return response.id;
15
+ }
16
+ class OpenAIConversationsSession {
17
+ #client;
18
+ #conversationId;
19
+ constructor(options = {}) {
20
+ this.#client = resolveClient(options);
21
+ this.#conversationId = options.conversationId;
22
+ }
23
+ get sessionId() {
24
+ return this.#conversationId;
25
+ }
26
+ async getSessionId() {
27
+ if (!this.#conversationId) {
28
+ this.#conversationId = await startOpenAIConversationsSession(this.#client);
29
+ }
30
+ return this.#conversationId;
31
+ }
32
+ async getItems(limit) {
33
+ const conversationId = await this.getSessionId();
34
+ // Convert each API item into the Agent SDK's input shape. Some API payloads expand into multiple items.
35
+ const toAgentItems = (item) => {
36
+ if (item.type === 'message' && item.role === 'user') {
37
+ const message = item;
38
+ return [
39
+ {
40
+ id: item.id,
41
+ type: 'message',
42
+ role: 'user',
43
+ content: (message.content ?? [])
44
+ .map((c) => {
45
+ if (c.type === 'input_text') {
46
+ return { type: 'input_text', text: c.text };
47
+ }
48
+ else if (c.type === 'input_image') {
49
+ if (c.image_url) {
50
+ return { type: 'input_image', image: c.image_url };
51
+ }
52
+ else if (c.file_id) {
53
+ return { type: 'input_image', image: { id: c.file_id } };
54
+ }
55
+ }
56
+ else if (c.type === 'input_file') {
57
+ if (c.file_data) {
58
+ const fileItem = {
59
+ type: 'input_file',
60
+ file: c.file_data,
61
+ };
62
+ if (c.filename) {
63
+ fileItem.filename = c.filename;
64
+ }
65
+ return fileItem;
66
+ }
67
+ if (c.file_url) {
68
+ const fileItem = {
69
+ type: 'input_file',
70
+ file: c.file_url,
71
+ };
72
+ if (c.filename) {
73
+ fileItem.filename = c.filename;
74
+ }
75
+ return fileItem;
76
+ }
77
+ else if (c.file_id) {
78
+ const fileItem = {
79
+ type: 'input_file',
80
+ file: { id: c.file_id },
81
+ };
82
+ if (c.filename) {
83
+ fileItem.filename = c.filename;
84
+ }
85
+ return fileItem;
86
+ }
87
+ }
88
+ // Add more content types here when they're added
89
+ return null;
90
+ })
91
+ .filter((c) => c !== null),
92
+ },
93
+ ];
94
+ }
95
+ const outputItems = item
96
+ .output;
97
+ if (isResponseOutputItemArray(outputItems)) {
98
+ return (0, openaiResponsesModel_1.convertToOutputItem)(outputItems);
99
+ }
100
+ return (0, openaiResponsesModel_1.convertToOutputItem)([item]);
101
+ };
102
+ if (limit === undefined) {
103
+ const items = [];
104
+ const iterator = this.#client.conversations.items.list(conversationId, {
105
+ order: 'asc',
106
+ });
107
+ for await (const item of iterator) {
108
+ items.push(...toAgentItems(item));
109
+ }
110
+ return items;
111
+ }
112
+ if (limit <= 0) {
113
+ return [];
114
+ }
115
+ const itemGroups = [];
116
+ let total = 0;
117
+ const iterator = this.#client.conversations.items.list(conversationId, {
118
+ limit,
119
+ order: 'desc',
120
+ });
121
+ for await (const item of iterator) {
122
+ const group = toAgentItems(item);
123
+ if (!group.length) {
124
+ continue;
125
+ }
126
+ itemGroups.push(group);
127
+ total += group.length;
128
+ if (total >= limit) {
129
+ break;
130
+ }
131
+ }
132
+ // Iterate in reverse because the API returned items in descending order.
133
+ const orderedItems = [];
134
+ for (let index = itemGroups.length - 1; index >= 0; index -= 1) {
135
+ orderedItems.push(...itemGroups[index]);
136
+ }
137
+ if (orderedItems.length > limit) {
138
+ orderedItems.splice(0, orderedItems.length - limit);
139
+ }
140
+ return orderedItems;
141
+ }
142
+ async addItems(items) {
143
+ if (!items.length) {
144
+ return;
145
+ }
146
+ const conversationId = await this.getSessionId();
147
+ await this.#client.conversations.items.create(conversationId, {
148
+ items: (0, openaiResponsesModel_1.getInputItems)(items),
149
+ });
150
+ }
151
+ async popItem() {
152
+ const conversationId = await this.getSessionId();
153
+ const [latest] = await this.getItems(1);
154
+ if (!latest) {
155
+ return undefined;
156
+ }
157
+ const itemId = latest.id;
158
+ if (itemId) {
159
+ await this.#client.conversations.items.delete(itemId, {
160
+ conversation_id: conversationId,
161
+ });
162
+ }
163
+ return latest;
164
+ }
165
+ async clearSession() {
166
+ if (!this.#conversationId) {
167
+ return;
168
+ }
169
+ await this.#client.conversations.delete(this.#conversationId);
170
+ this.#conversationId = undefined;
171
+ }
172
+ }
173
+ exports.OpenAIConversationsSession = OpenAIConversationsSession;
174
+ // --------------------------------------------------------------
175
+ // Internals
176
+ // --------------------------------------------------------------
177
+ const INPUT_CONTENT_TYPES = new Set([
178
+ 'input_text',
179
+ 'input_image',
180
+ 'input_file',
181
+ 'input_audio',
182
+ ]);
183
+ function isObject(value) {
184
+ return typeof value === 'object' && value !== null;
185
+ }
186
+ // Treats a value as ResponseOutputItem[] only when each entry resembles an output item rather than raw input content.
187
+ function isResponseOutputItemArray(value) {
188
+ if (!Array.isArray(value) || value.length === 0) {
189
+ return false;
190
+ }
191
+ return value.every((entry) => {
192
+ if (!isObject(entry)) {
193
+ return false;
194
+ }
195
+ const type = entry.type;
196
+ if (typeof type !== 'string') {
197
+ return false;
198
+ }
199
+ if (INPUT_CONTENT_TYPES.has(type)) {
200
+ return false;
201
+ }
202
+ // Fallback: pre-emptively exclude future input_* variants so they never masquerade as response outputs.
203
+ return !type.startsWith('input_');
204
+ });
205
+ }
206
+ function resolveClient(options) {
207
+ if (options.client) {
208
+ return options.client;
209
+ }
210
+ return ((0, defaults_1.getDefaultOpenAIClient)() ??
211
+ new openai_1.default({
212
+ apiKey: options.apiKey ?? (0, defaults_1.getDefaultOpenAIKey)(),
213
+ baseURL: options.baseURL,
214
+ organization: options.organization,
215
+ project: options.project,
216
+ }));
217
+ }
218
+ //# sourceMappingURL=openaiConversationsSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openaiConversationsSession.js","sourceRoot":"","sources":["../../src/memory/openaiConversationsSession.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,210 @@
1
+ import OpenAI from 'openai';
2
+ import { getDefaultOpenAIClient, getDefaultOpenAIKey } from "../defaults.mjs";
3
+ import { convertToOutputItem, getInputItems } from "../openaiResponsesModel.mjs";
4
+ export async function startOpenAIConversationsSession(client) {
5
+ const resolvedClient = client ?? resolveClient({});
6
+ const response = await resolvedClient.conversations.create({ items: [] });
7
+ return response.id;
8
+ }
9
+ export class OpenAIConversationsSession {
10
+ #client;
11
+ #conversationId;
12
+ constructor(options = {}) {
13
+ this.#client = resolveClient(options);
14
+ this.#conversationId = options.conversationId;
15
+ }
16
+ get sessionId() {
17
+ return this.#conversationId;
18
+ }
19
+ async getSessionId() {
20
+ if (!this.#conversationId) {
21
+ this.#conversationId = await startOpenAIConversationsSession(this.#client);
22
+ }
23
+ return this.#conversationId;
24
+ }
25
+ async getItems(limit) {
26
+ const conversationId = await this.getSessionId();
27
+ // Convert each API item into the Agent SDK's input shape. Some API payloads expand into multiple items.
28
+ const toAgentItems = (item) => {
29
+ if (item.type === 'message' && item.role === 'user') {
30
+ const message = item;
31
+ return [
32
+ {
33
+ id: item.id,
34
+ type: 'message',
35
+ role: 'user',
36
+ content: (message.content ?? [])
37
+ .map((c) => {
38
+ if (c.type === 'input_text') {
39
+ return { type: 'input_text', text: c.text };
40
+ }
41
+ else if (c.type === 'input_image') {
42
+ if (c.image_url) {
43
+ return { type: 'input_image', image: c.image_url };
44
+ }
45
+ else if (c.file_id) {
46
+ return { type: 'input_image', image: { id: c.file_id } };
47
+ }
48
+ }
49
+ else if (c.type === 'input_file') {
50
+ if (c.file_data) {
51
+ const fileItem = {
52
+ type: 'input_file',
53
+ file: c.file_data,
54
+ };
55
+ if (c.filename) {
56
+ fileItem.filename = c.filename;
57
+ }
58
+ return fileItem;
59
+ }
60
+ if (c.file_url) {
61
+ const fileItem = {
62
+ type: 'input_file',
63
+ file: c.file_url,
64
+ };
65
+ if (c.filename) {
66
+ fileItem.filename = c.filename;
67
+ }
68
+ return fileItem;
69
+ }
70
+ else if (c.file_id) {
71
+ const fileItem = {
72
+ type: 'input_file',
73
+ file: { id: c.file_id },
74
+ };
75
+ if (c.filename) {
76
+ fileItem.filename = c.filename;
77
+ }
78
+ return fileItem;
79
+ }
80
+ }
81
+ // Add more content types here when they're added
82
+ return null;
83
+ })
84
+ .filter((c) => c !== null),
85
+ },
86
+ ];
87
+ }
88
+ const outputItems = item
89
+ .output;
90
+ if (isResponseOutputItemArray(outputItems)) {
91
+ return convertToOutputItem(outputItems);
92
+ }
93
+ return convertToOutputItem([item]);
94
+ };
95
+ if (limit === undefined) {
96
+ const items = [];
97
+ const iterator = this.#client.conversations.items.list(conversationId, {
98
+ order: 'asc',
99
+ });
100
+ for await (const item of iterator) {
101
+ items.push(...toAgentItems(item));
102
+ }
103
+ return items;
104
+ }
105
+ if (limit <= 0) {
106
+ return [];
107
+ }
108
+ const itemGroups = [];
109
+ let total = 0;
110
+ const iterator = this.#client.conversations.items.list(conversationId, {
111
+ limit,
112
+ order: 'desc',
113
+ });
114
+ for await (const item of iterator) {
115
+ const group = toAgentItems(item);
116
+ if (!group.length) {
117
+ continue;
118
+ }
119
+ itemGroups.push(group);
120
+ total += group.length;
121
+ if (total >= limit) {
122
+ break;
123
+ }
124
+ }
125
+ // Iterate in reverse because the API returned items in descending order.
126
+ const orderedItems = [];
127
+ for (let index = itemGroups.length - 1; index >= 0; index -= 1) {
128
+ orderedItems.push(...itemGroups[index]);
129
+ }
130
+ if (orderedItems.length > limit) {
131
+ orderedItems.splice(0, orderedItems.length - limit);
132
+ }
133
+ return orderedItems;
134
+ }
135
+ async addItems(items) {
136
+ if (!items.length) {
137
+ return;
138
+ }
139
+ const conversationId = await this.getSessionId();
140
+ await this.#client.conversations.items.create(conversationId, {
141
+ items: getInputItems(items),
142
+ });
143
+ }
144
+ async popItem() {
145
+ const conversationId = await this.getSessionId();
146
+ const [latest] = await this.getItems(1);
147
+ if (!latest) {
148
+ return undefined;
149
+ }
150
+ const itemId = latest.id;
151
+ if (itemId) {
152
+ await this.#client.conversations.items.delete(itemId, {
153
+ conversation_id: conversationId,
154
+ });
155
+ }
156
+ return latest;
157
+ }
158
+ async clearSession() {
159
+ if (!this.#conversationId) {
160
+ return;
161
+ }
162
+ await this.#client.conversations.delete(this.#conversationId);
163
+ this.#conversationId = undefined;
164
+ }
165
+ }
166
+ // --------------------------------------------------------------
167
+ // Internals
168
+ // --------------------------------------------------------------
169
+ const INPUT_CONTENT_TYPES = new Set([
170
+ 'input_text',
171
+ 'input_image',
172
+ 'input_file',
173
+ 'input_audio',
174
+ ]);
175
+ function isObject(value) {
176
+ return typeof value === 'object' && value !== null;
177
+ }
178
+ // Treats a value as ResponseOutputItem[] only when each entry resembles an output item rather than raw input content.
179
+ function isResponseOutputItemArray(value) {
180
+ if (!Array.isArray(value) || value.length === 0) {
181
+ return false;
182
+ }
183
+ return value.every((entry) => {
184
+ if (!isObject(entry)) {
185
+ return false;
186
+ }
187
+ const type = entry.type;
188
+ if (typeof type !== 'string') {
189
+ return false;
190
+ }
191
+ if (INPUT_CONTENT_TYPES.has(type)) {
192
+ return false;
193
+ }
194
+ // Fallback: pre-emptively exclude future input_* variants so they never masquerade as response outputs.
195
+ return !type.startsWith('input_');
196
+ });
197
+ }
198
+ function resolveClient(options) {
199
+ if (options.client) {
200
+ return options.client;
201
+ }
202
+ return (getDefaultOpenAIClient() ??
203
+ new OpenAI({
204
+ apiKey: options.apiKey ?? getDefaultOpenAIKey(),
205
+ baseURL: options.baseURL,
206
+ organization: options.organization,
207
+ project: options.project,
208
+ }));
209
+ }
210
+ //# sourceMappingURL=openaiConversationsSession.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openaiConversationsSession.mjs","sourceRoot":"","sources":["../../src/memory/openaiConversationsSession.ts"],"names":[],"mappings":"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"}
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-openai",
7
- "version": "0.2.1",
7
+ "version": "0.3.1",
8
8
  "versions": {
9
- "@openai/agents-openai": "0.2.1",
9
+ "@openai/agents-openai": "0.3.1",
10
10
  "@openai/agents-core": "workspace:*",
11
11
  "openai": "^6"
12
12
  }
package/dist/metadata.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  // This file is automatically generated
2
2
  export const METADATA = {
3
3
  "name": "@openai/agents-openai",
4
- "version": "0.2.1",
4
+ "version": "0.3.1",
5
5
  "versions": {
6
- "@openai/agents-openai": "0.2.1",
6
+ "@openai/agents-openai": "0.3.1",
7
7
  "@openai/agents-core": "workspace:*",
8
8
  "openai": "^6"
9
9
  }
@@ -205,7 +205,11 @@ function itemsToMessages(items) {
205
205
  }
206
206
  }
207
207
  else if (item.type === 'computer_call' ||
208
- item.type === 'computer_call_result') {
208
+ item.type === 'computer_call_result' ||
209
+ item.type === 'shell_call' ||
210
+ item.type === 'shell_call_output' ||
211
+ item.type === 'apply_patch_call' ||
212
+ item.type === 'apply_patch_call_output') {
209
213
  throw new agents_core_1.UserError('Computer use calls are not supported for chat completions. Got item: ' +
210
214
  JSON.stringify(item));
211
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openaiChatCompletionsConverter.js","sourceRoot":"","sources":["../src/openaiChatCompletionsConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openaiChatCompletionsConverter.js","sourceRoot":"","sources":["../src/openaiChatCompletionsConverter.ts"],"names":[],"mappings":"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"}
@@ -197,7 +197,11 @@ export function itemsToMessages(items) {
197
197
  }
198
198
  }
199
199
  else if (item.type === 'computer_call' ||
200
- item.type === 'computer_call_result') {
200
+ item.type === 'computer_call_result' ||
201
+ item.type === 'shell_call' ||
202
+ item.type === 'shell_call_output' ||
203
+ item.type === 'apply_patch_call' ||
204
+ item.type === 'apply_patch_call_output') {
201
205
  throw new UserError('Computer use calls are not supported for chat completions. Got item: ' +
202
206
  JSON.stringify(item));
203
207
  }