@openai/agents-openai 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.
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/metadata.js +3 -3
- package/dist/metadata.mjs +3 -3
- package/dist/openaiChatCompletionsConverter.d.ts +1 -0
- package/dist/openaiChatCompletionsConverter.js +122 -16
- package/dist/openaiChatCompletionsConverter.js.map +1 -1
- package/dist/openaiChatCompletionsConverter.mjs +121 -16
- package/dist/openaiChatCompletionsConverter.mjs.map +1 -1
- package/dist/openaiChatCompletionsModel.d.ts +2 -1
- package/dist/openaiChatCompletionsModel.js +20 -3
- package/dist/openaiChatCompletionsModel.js.map +1 -1
- package/dist/openaiChatCompletionsModel.mjs +22 -5
- package/dist/openaiChatCompletionsModel.mjs.map +1 -1
- package/dist/openaiResponsesModel.d.ts +19 -5
- package/dist/openaiResponsesModel.js +724 -74
- package/dist/openaiResponsesModel.js.map +1 -1
- package/dist/openaiResponsesModel.mjs +726 -76
- package/dist/openaiResponsesModel.mjs.map +1 -1
- package/dist/retryAdvice.d.ts +2 -0
- package/dist/retryAdvice.js +98 -0
- package/dist/retryAdvice.js.map +1 -0
- package/dist/retryAdvice.mjs +95 -0
- package/dist/retryAdvice.mjs.map +1 -0
- package/dist/tools.d.ts +22 -1
- package/dist/tools.js +38 -0
- package/dist/tools.js.map +1 -1
- package/dist/tools.mjs +37 -0
- package/dist/tools.mjs.map +1 -1
- package/dist/types/providerData.d.ts +4 -0
- package/dist/utils/providerData.d.ts +26 -2
- package/dist/utils/providerData.js +60 -8
- package/dist/utils/providerData.js.map +1 -1
- package/dist/utils/providerData.mjs +57 -8
- package/dist/utils/providerData.mjs.map +1 -1
- package/package.json +3 -3
package/dist/tools.js
CHANGED
|
@@ -4,7 +4,9 @@ exports.ImageGenerationStatus = exports.CodeInterpreterStatus = exports.FileSear
|
|
|
4
4
|
exports.webSearchTool = webSearchTool;
|
|
5
5
|
exports.fileSearchTool = fileSearchTool;
|
|
6
6
|
exports.codeInterpreterTool = codeInterpreterTool;
|
|
7
|
+
exports.toolSearchTool = toolSearchTool;
|
|
7
8
|
exports.imageGenerationTool = imageGenerationTool;
|
|
9
|
+
const agents_core_1 = require("@openai/agents-core");
|
|
8
10
|
const zod_1 = require("zod");
|
|
9
11
|
// -----------------------------------------------------
|
|
10
12
|
// Status enums
|
|
@@ -84,6 +86,42 @@ function codeInterpreterTool(options = {}) {
|
|
|
84
86
|
providerData,
|
|
85
87
|
};
|
|
86
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Adds tool_search capabilities to your agent.
|
|
91
|
+
*
|
|
92
|
+
* This lets the model search deferred function tools and load them into context on demand.
|
|
93
|
+
* By default, tool search is executed by OpenAI. Set `execution: 'client'` to
|
|
94
|
+
* use a custom loop that receives `tool_search_call` / `tool_search_output`
|
|
95
|
+
* items. The standard runner only supports the default built-in client schema
|
|
96
|
+
* (leave `parameters` unset) and auto-executes `{ paths: string[] }` searches
|
|
97
|
+
* over deferred top-level function tools and deferred namespace members.
|
|
98
|
+
*
|
|
99
|
+
* @returns a hosted tool_search definition.
|
|
100
|
+
*/
|
|
101
|
+
function toolSearchTool(options = {}) {
|
|
102
|
+
if (typeof options.name === 'string' && options.name !== 'tool_search') {
|
|
103
|
+
throw new agents_core_1.UserError('toolSearchTool() only supports the canonical built-in name "tool_search".');
|
|
104
|
+
}
|
|
105
|
+
if (typeof options.execute === 'function' && options.execution !== 'client') {
|
|
106
|
+
throw new agents_core_1.UserError('toolSearchTool() only supports execute when execution is "client".');
|
|
107
|
+
}
|
|
108
|
+
const providerData = {
|
|
109
|
+
type: 'tool_search',
|
|
110
|
+
name: 'tool_search',
|
|
111
|
+
execution: options.execution,
|
|
112
|
+
description: options.description,
|
|
113
|
+
parameters: options.parameters,
|
|
114
|
+
};
|
|
115
|
+
const hostedTool = {
|
|
116
|
+
type: 'hosted_tool',
|
|
117
|
+
name: 'tool_search',
|
|
118
|
+
providerData,
|
|
119
|
+
};
|
|
120
|
+
if (typeof options.execute === 'function') {
|
|
121
|
+
(0, agents_core_1.attachClientToolSearchExecutor)(hostedTool, options.execute);
|
|
122
|
+
}
|
|
123
|
+
return hostedTool;
|
|
124
|
+
}
|
|
87
125
|
/**
|
|
88
126
|
* Adds image generation abilities to your agent
|
|
89
127
|
* @param options Additional configuration for the image generation
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { attachClientToolSearchExecutor, UserError, } from '@openai/agents-core';
|
|
1
2
|
import { z } from 'zod';
|
|
2
3
|
// -----------------------------------------------------
|
|
3
4
|
// Status enums
|
|
@@ -77,6 +78,42 @@ export function codeInterpreterTool(options = {}) {
|
|
|
77
78
|
providerData,
|
|
78
79
|
};
|
|
79
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Adds tool_search capabilities to your agent.
|
|
83
|
+
*
|
|
84
|
+
* This lets the model search deferred function tools and load them into context on demand.
|
|
85
|
+
* By default, tool search is executed by OpenAI. Set `execution: 'client'` to
|
|
86
|
+
* use a custom loop that receives `tool_search_call` / `tool_search_output`
|
|
87
|
+
* items. The standard runner only supports the default built-in client schema
|
|
88
|
+
* (leave `parameters` unset) and auto-executes `{ paths: string[] }` searches
|
|
89
|
+
* over deferred top-level function tools and deferred namespace members.
|
|
90
|
+
*
|
|
91
|
+
* @returns a hosted tool_search definition.
|
|
92
|
+
*/
|
|
93
|
+
export function toolSearchTool(options = {}) {
|
|
94
|
+
if (typeof options.name === 'string' && options.name !== 'tool_search') {
|
|
95
|
+
throw new UserError('toolSearchTool() only supports the canonical built-in name "tool_search".');
|
|
96
|
+
}
|
|
97
|
+
if (typeof options.execute === 'function' && options.execution !== 'client') {
|
|
98
|
+
throw new UserError('toolSearchTool() only supports execute when execution is "client".');
|
|
99
|
+
}
|
|
100
|
+
const providerData = {
|
|
101
|
+
type: 'tool_search',
|
|
102
|
+
name: 'tool_search',
|
|
103
|
+
execution: options.execution,
|
|
104
|
+
description: options.description,
|
|
105
|
+
parameters: options.parameters,
|
|
106
|
+
};
|
|
107
|
+
const hostedTool = {
|
|
108
|
+
type: 'hosted_tool',
|
|
109
|
+
name: 'tool_search',
|
|
110
|
+
providerData,
|
|
111
|
+
};
|
|
112
|
+
if (typeof options.execute === 'function') {
|
|
113
|
+
attachClientToolSearchExecutor(hostedTool, options.execute);
|
|
114
|
+
}
|
|
115
|
+
return hostedTool;
|
|
116
|
+
}
|
|
80
117
|
/**
|
|
81
118
|
* Adds image generation abilities to your agent
|
|
82
119
|
* @param options Additional configuration for the image generation
|
package/dist/tools.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.mjs","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.mjs","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,10 @@ export type CodeInterpreterTool = Omit<OpenAI.Responses.Tool.CodeInterpreter, 't
|
|
|
12
12
|
type: 'code_interpreter';
|
|
13
13
|
name: 'code_interpreter' | (string & {});
|
|
14
14
|
};
|
|
15
|
+
export type ToolSearchTool = Omit<OpenAI.Responses.ToolSearchTool, 'type'> & {
|
|
16
|
+
type: 'tool_search';
|
|
17
|
+
name: 'tool_search';
|
|
18
|
+
};
|
|
15
19
|
export type ImageGenerationTool = Omit<OpenAI.Responses.Tool.ImageGeneration, 'type' | 'background' | 'model' | 'moderation' | 'output_format' | 'quality' | 'size'> & {
|
|
16
20
|
type: 'image_generation';
|
|
17
21
|
name: 'image_generation' | (string & {});
|
|
@@ -1,4 +1,28 @@
|
|
|
1
|
+
type UnknownRecord = Record<string, unknown>;
|
|
2
|
+
type SnakeCaseKey<S extends string> = S extends `${infer Head}${infer Tail}` ? `${Head extends Lowercase<Head> ? Head : `_${Lowercase<Head>}`}${SnakeCaseKey<Tail>}` : S;
|
|
3
|
+
type CamelCaseKey<S extends string> = S extends `${infer Head}_${infer Tail}` ? `${Head}${Capitalize<CamelCaseKey<Tail>>}` : S;
|
|
4
|
+
type SnakeCased<T> = T extends readonly unknown[] ? T : T extends UnknownRecord ? {
|
|
5
|
+
[K in keyof T as K extends string ? SnakeCaseKey<K> : K]: SnakeCased<T[K]>;
|
|
6
|
+
} : T;
|
|
7
|
+
type CamelCased<T> = T extends readonly unknown[] ? {
|
|
8
|
+
[K in keyof T]: CamelCased<T[K]>;
|
|
9
|
+
} : T extends UnknownRecord ? {
|
|
10
|
+
[K in keyof T as K extends string ? CamelCaseKey<K> : K]: CamelCased<T[K]>;
|
|
11
|
+
} : T;
|
|
1
12
|
/**
|
|
2
|
-
* Converts
|
|
13
|
+
* Converts object keys to snake_case recursively while preserving array entries as-is.
|
|
3
14
|
*/
|
|
4
|
-
export declare function camelOrSnakeToSnakeCase<T
|
|
15
|
+
export declare function camelOrSnakeToSnakeCase<T>(value: T): SnakeCased<T>;
|
|
16
|
+
/**
|
|
17
|
+
* Converts snake_case or camelCase keys of a JSON-like value to camelCase recursively.
|
|
18
|
+
*/
|
|
19
|
+
export declare function snakeOrCamelToCamelCase<T>(value: T): CamelCased<T>;
|
|
20
|
+
/**
|
|
21
|
+
* Returns providerData with reserved top-level keys removed.
|
|
22
|
+
*/
|
|
23
|
+
export declare function getProviderDataWithoutReservedKeys(value: unknown, reservedKeys: readonly string[]): UnknownRecord;
|
|
24
|
+
/**
|
|
25
|
+
* Normalizes providerData keys to snake_case, then removes reserved top-level keys.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getSnakeCasedProviderDataWithoutReservedKeys(value: unknown, reservedKeys: readonly string[]): UnknownRecord;
|
|
28
|
+
export {};
|
|
@@ -1,20 +1,72 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.camelOrSnakeToSnakeCase = camelOrSnakeToSnakeCase;
|
|
4
|
+
exports.snakeOrCamelToCamelCase = snakeOrCamelToCamelCase;
|
|
5
|
+
exports.getProviderDataWithoutReservedKeys = getProviderDataWithoutReservedKeys;
|
|
6
|
+
exports.getSnakeCasedProviderDataWithoutReservedKeys = getSnakeCasedProviderDataWithoutReservedKeys;
|
|
4
7
|
/**
|
|
5
|
-
* Converts
|
|
8
|
+
* Converts object keys to snake_case recursively while preserving array entries as-is.
|
|
6
9
|
*/
|
|
7
|
-
function camelOrSnakeToSnakeCase(
|
|
8
|
-
if (
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
function camelOrSnakeToSnakeCase(value) {
|
|
11
|
+
if (Array.isArray(value)) {
|
|
12
|
+
return value.slice();
|
|
13
|
+
}
|
|
14
|
+
if (!isRecord(value)) {
|
|
15
|
+
return value;
|
|
12
16
|
}
|
|
13
17
|
const result = {};
|
|
14
|
-
for (const [key,
|
|
18
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
15
19
|
const snakeKey = key.replace(/([A-Z])/g, '_$1').toLowerCase();
|
|
16
|
-
result[snakeKey] = camelOrSnakeToSnakeCase(
|
|
20
|
+
result[snakeKey] = camelOrSnakeToSnakeCase(entry);
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Converts snake_case or camelCase keys of a JSON-like value to camelCase recursively.
|
|
26
|
+
*/
|
|
27
|
+
function snakeOrCamelToCamelCase(value) {
|
|
28
|
+
if (Array.isArray(value)) {
|
|
29
|
+
return value.map((entry) => snakeOrCamelToCamelCase(entry));
|
|
30
|
+
}
|
|
31
|
+
if (!isRecord(value)) {
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
const result = {};
|
|
35
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
36
|
+
const camelKey = key.replace(/_([a-z])/g, (_match, char) => char.toUpperCase());
|
|
37
|
+
result[camelKey] = snakeOrCamelToCamelCase(entry);
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
function isRecord(value) {
|
|
42
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
43
|
+
}
|
|
44
|
+
function toSnakeCase(key) {
|
|
45
|
+
return key.replace(/([A-Z])/g, '_$1').toLowerCase();
|
|
46
|
+
}
|
|
47
|
+
function omitReservedKeys(value, reservedKeys) {
|
|
48
|
+
if (!isRecord(value)) {
|
|
49
|
+
return {};
|
|
50
|
+
}
|
|
51
|
+
const result = {};
|
|
52
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
53
|
+
if (reservedKeys.has(key)) {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
result[key] = entry;
|
|
17
57
|
}
|
|
18
58
|
return result;
|
|
19
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Returns providerData with reserved top-level keys removed.
|
|
62
|
+
*/
|
|
63
|
+
function getProviderDataWithoutReservedKeys(value, reservedKeys) {
|
|
64
|
+
return omitReservedKeys(value, new Set(reservedKeys));
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Normalizes providerData keys to snake_case, then removes reserved top-level keys.
|
|
68
|
+
*/
|
|
69
|
+
function getSnakeCasedProviderDataWithoutReservedKeys(value, reservedKeys) {
|
|
70
|
+
return omitReservedKeys(camelOrSnakeToSnakeCase(value), new Set(reservedKeys.map((key) => toSnakeCase(key))));
|
|
71
|
+
}
|
|
20
72
|
//# sourceMappingURL=providerData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerData.js","sourceRoot":"","sources":["../../src/utils/providerData.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"providerData.js","sourceRoot":"","sources":["../../src/utils/providerData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,66 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Converts
|
|
2
|
+
* Converts object keys to snake_case recursively while preserving array entries as-is.
|
|
3
3
|
*/
|
|
4
|
-
export function camelOrSnakeToSnakeCase(
|
|
5
|
-
if (
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
export function camelOrSnakeToSnakeCase(value) {
|
|
5
|
+
if (Array.isArray(value)) {
|
|
6
|
+
return value.slice();
|
|
7
|
+
}
|
|
8
|
+
if (!isRecord(value)) {
|
|
9
|
+
return value;
|
|
9
10
|
}
|
|
10
11
|
const result = {};
|
|
11
|
-
for (const [key,
|
|
12
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
12
13
|
const snakeKey = key.replace(/([A-Z])/g, '_$1').toLowerCase();
|
|
13
|
-
result[snakeKey] = camelOrSnakeToSnakeCase(
|
|
14
|
+
result[snakeKey] = camelOrSnakeToSnakeCase(entry);
|
|
15
|
+
}
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Converts snake_case or camelCase keys of a JSON-like value to camelCase recursively.
|
|
20
|
+
*/
|
|
21
|
+
export function snakeOrCamelToCamelCase(value) {
|
|
22
|
+
if (Array.isArray(value)) {
|
|
23
|
+
return value.map((entry) => snakeOrCamelToCamelCase(entry));
|
|
24
|
+
}
|
|
25
|
+
if (!isRecord(value)) {
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
const result = {};
|
|
29
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
30
|
+
const camelKey = key.replace(/_([a-z])/g, (_match, char) => char.toUpperCase());
|
|
31
|
+
result[camelKey] = snakeOrCamelToCamelCase(entry);
|
|
32
|
+
}
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
function isRecord(value) {
|
|
36
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
37
|
+
}
|
|
38
|
+
function toSnakeCase(key) {
|
|
39
|
+
return key.replace(/([A-Z])/g, '_$1').toLowerCase();
|
|
40
|
+
}
|
|
41
|
+
function omitReservedKeys(value, reservedKeys) {
|
|
42
|
+
if (!isRecord(value)) {
|
|
43
|
+
return {};
|
|
44
|
+
}
|
|
45
|
+
const result = {};
|
|
46
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
47
|
+
if (reservedKeys.has(key)) {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
result[key] = entry;
|
|
14
51
|
}
|
|
15
52
|
return result;
|
|
16
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Returns providerData with reserved top-level keys removed.
|
|
56
|
+
*/
|
|
57
|
+
export function getProviderDataWithoutReservedKeys(value, reservedKeys) {
|
|
58
|
+
return omitReservedKeys(value, new Set(reservedKeys));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Normalizes providerData keys to snake_case, then removes reserved top-level keys.
|
|
62
|
+
*/
|
|
63
|
+
export function getSnakeCasedProviderDataWithoutReservedKeys(value, reservedKeys) {
|
|
64
|
+
return omitReservedKeys(camelOrSnakeToSnakeCase(value), new Set(reservedKeys.map((key) => toSnakeCase(key))));
|
|
65
|
+
}
|
|
17
66
|
//# sourceMappingURL=providerData.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerData.mjs","sourceRoot":"","sources":["../../src/utils/providerData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"providerData.mjs","sourceRoot":"","sources":["../../src/utils/providerData.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@openai/agents-openai",
|
|
3
3
|
"repository": "https://github.com/openai/openai-agents-js",
|
|
4
4
|
"homepage": "https://openai.github.io/openai-agents-js/",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.7.0",
|
|
6
6
|
"description": "The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows.",
|
|
7
7
|
"author": "OpenAI <support@openai.com>",
|
|
8
8
|
"main": "dist/index.js",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"debug": "^4.4.0",
|
|
19
|
-
"openai": "^6.
|
|
20
|
-
"@openai/agents-core": "0.
|
|
19
|
+
"openai": "^6.26.0",
|
|
20
|
+
"@openai/agents-core": "0.7.0"
|
|
21
21
|
},
|
|
22
22
|
"keywords": [
|
|
23
23
|
"openai",
|