@openai/agents-core 0.3.2 → 0.3.4
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 +3 -2
- package/dist/agent.js.map +1 -1
- package/dist/agent.mjs.map +1 -1
- package/dist/guardrail.d.ts +11 -2
- package/dist/guardrail.js +2 -1
- package/dist/guardrail.js.map +1 -1
- package/dist/guardrail.mjs +2 -1
- package/dist/guardrail.mjs.map +1 -1
- package/dist/index.d.ts +3 -3
- 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/mcp.d.ts +17 -2
- package/dist/mcp.js +58 -9
- package/dist/mcp.js.map +1 -1
- package/dist/mcp.mjs +57 -9
- package/dist/mcp.mjs.map +1 -1
- package/dist/metadata.js +2 -2
- package/dist/metadata.mjs +2 -2
- package/dist/model.d.ts +5 -0
- package/dist/run.js +64 -5
- package/dist/run.js.map +1 -1
- package/dist/run.mjs +64 -5
- package/dist/run.mjs.map +1 -1
- package/dist/runImplementation.js +37 -2
- package/dist/runImplementation.js.map +1 -1
- package/dist/runImplementation.mjs +37 -2
- package/dist/runImplementation.mjs.map +1 -1
- package/dist/runState.d.ts +248 -18
- package/dist/runState.js +31 -5
- package/dist/runState.js.map +1 -1
- package/dist/runState.mjs +31 -5
- package/dist/runState.mjs.map +1 -1
- package/dist/shims/mcp-server/node.js +1 -0
- package/dist/shims/mcp-server/node.js.map +1 -1
- package/dist/shims/mcp-server/node.mjs +1 -0
- package/dist/shims/mcp-server/node.mjs.map +1 -1
- package/dist/tracing/index.d.ts +1 -0
- package/dist/tracing/index.js.map +1 -1
- package/dist/tracing/index.mjs.map +1 -1
- package/dist/types/protocol.d.ts +207 -32
- package/dist/types/protocol.js +21 -3
- package/dist/types/protocol.js.map +1 -1
- package/dist/types/protocol.mjs +20 -2
- package/dist/types/protocol.mjs.map +1 -1
- package/dist/usage.d.ts +42 -3
- package/dist/usage.js +97 -12
- package/dist/usage.js.map +1 -1
- package/dist/usage.mjs +96 -13
- package/dist/usage.mjs.map +1 -1
- package/package.json +1 -1
package/dist/usage.js
CHANGED
|
@@ -1,8 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UsageData = exports.Usage = void 0;
|
|
3
|
+
exports.UsageData = exports.RequestUsageData = exports.Usage = exports.RequestUsage = void 0;
|
|
4
4
|
const protocol_1 = require("./types/protocol.js");
|
|
5
|
+
Object.defineProperty(exports, "RequestUsageData", { enumerable: true, get: function () { return protocol_1.RequestUsageData; } });
|
|
5
6
|
Object.defineProperty(exports, "UsageData", { enumerable: true, get: function () { return protocol_1.UsageData; } });
|
|
7
|
+
/**
|
|
8
|
+
* Usage details for a single API request.
|
|
9
|
+
*/
|
|
10
|
+
class RequestUsage {
|
|
11
|
+
/**
|
|
12
|
+
* The number of input tokens used for this request.
|
|
13
|
+
*/
|
|
14
|
+
inputTokens;
|
|
15
|
+
/**
|
|
16
|
+
* The number of output tokens used for this request.
|
|
17
|
+
*/
|
|
18
|
+
outputTokens;
|
|
19
|
+
/**
|
|
20
|
+
* The total number of tokens sent and received for this request.
|
|
21
|
+
*/
|
|
22
|
+
totalTokens;
|
|
23
|
+
/**
|
|
24
|
+
* Details about the input tokens used for this request.
|
|
25
|
+
*/
|
|
26
|
+
inputTokensDetails;
|
|
27
|
+
/**
|
|
28
|
+
* Details about the output tokens used for this request.
|
|
29
|
+
*/
|
|
30
|
+
outputTokensDetails;
|
|
31
|
+
constructor(input) {
|
|
32
|
+
this.inputTokens = input?.inputTokens ?? input?.input_tokens ?? 0;
|
|
33
|
+
this.outputTokens = input?.outputTokens ?? input?.output_tokens ?? 0;
|
|
34
|
+
this.totalTokens =
|
|
35
|
+
input?.totalTokens ??
|
|
36
|
+
input?.total_tokens ??
|
|
37
|
+
this.inputTokens + this.outputTokens;
|
|
38
|
+
const inputTokensDetails = input?.inputTokensDetails ?? input?.input_tokens_details;
|
|
39
|
+
this.inputTokensDetails = inputTokensDetails
|
|
40
|
+
? inputTokensDetails
|
|
41
|
+
: {};
|
|
42
|
+
const outputTokensDetails = input?.outputTokensDetails ?? input?.output_tokens_details;
|
|
43
|
+
this.outputTokensDetails = outputTokensDetails
|
|
44
|
+
? outputTokensDetails
|
|
45
|
+
: {};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.RequestUsage = RequestUsage;
|
|
6
49
|
/**
|
|
7
50
|
* Tracks token usage and request counts for an agent run.
|
|
8
51
|
*/
|
|
@@ -31,6 +74,10 @@ class Usage {
|
|
|
31
74
|
* Details about the output tokens used across all requests.
|
|
32
75
|
*/
|
|
33
76
|
outputTokensDetails = [];
|
|
77
|
+
/**
|
|
78
|
+
* List of per-request usage entries for detailed cost calculations.
|
|
79
|
+
*/
|
|
80
|
+
requestUsageEntries;
|
|
34
81
|
constructor(input) {
|
|
35
82
|
if (typeof input === 'undefined') {
|
|
36
83
|
this.requests = 0;
|
|
@@ -39,27 +86,50 @@ class Usage {
|
|
|
39
86
|
this.totalTokens = 0;
|
|
40
87
|
this.inputTokensDetails = [];
|
|
41
88
|
this.outputTokensDetails = [];
|
|
89
|
+
this.requestUsageEntries = undefined;
|
|
42
90
|
}
|
|
43
91
|
else {
|
|
44
92
|
this.requests = input?.requests ?? 1;
|
|
45
93
|
this.inputTokens = input?.inputTokens ?? input?.input_tokens ?? 0;
|
|
46
94
|
this.outputTokens = input?.outputTokens ?? input?.output_tokens ?? 0;
|
|
47
|
-
this.totalTokens =
|
|
95
|
+
this.totalTokens =
|
|
96
|
+
input?.totalTokens ??
|
|
97
|
+
input?.total_tokens ??
|
|
98
|
+
this.inputTokens + this.outputTokens;
|
|
48
99
|
const inputTokensDetails = input?.inputTokensDetails ?? input?.input_tokens_details;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
100
|
+
if (Array.isArray(inputTokensDetails)) {
|
|
101
|
+
this.inputTokensDetails = inputTokensDetails;
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
this.inputTokensDetails = inputTokensDetails
|
|
105
|
+
? [inputTokensDetails]
|
|
106
|
+
: [];
|
|
107
|
+
}
|
|
52
108
|
const outputTokensDetails = input?.outputTokensDetails ?? input?.output_tokens_details;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
109
|
+
if (Array.isArray(outputTokensDetails)) {
|
|
110
|
+
this.outputTokensDetails = outputTokensDetails;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
this.outputTokensDetails = outputTokensDetails
|
|
114
|
+
? [outputTokensDetails]
|
|
115
|
+
: [];
|
|
116
|
+
}
|
|
117
|
+
const requestUsageEntries = input?.requestUsageEntries ?? input?.request_usage_entries;
|
|
118
|
+
const normalizedRequestUsageEntries = Array.isArray(requestUsageEntries)
|
|
119
|
+
? requestUsageEntries.map((entry) => entry instanceof RequestUsage ? entry : new RequestUsage(entry))
|
|
120
|
+
: undefined;
|
|
121
|
+
this.requestUsageEntries =
|
|
122
|
+
normalizedRequestUsageEntries &&
|
|
123
|
+
normalizedRequestUsageEntries.length > 0
|
|
124
|
+
? normalizedRequestUsageEntries
|
|
125
|
+
: undefined;
|
|
56
126
|
}
|
|
57
127
|
}
|
|
58
128
|
add(newUsage) {
|
|
59
|
-
this.requests += newUsage.requests;
|
|
60
|
-
this.inputTokens += newUsage.inputTokens;
|
|
61
|
-
this.outputTokens += newUsage.outputTokens;
|
|
62
|
-
this.totalTokens += newUsage.totalTokens;
|
|
129
|
+
this.requests += newUsage.requests ?? 0;
|
|
130
|
+
this.inputTokens += newUsage.inputTokens ?? 0;
|
|
131
|
+
this.outputTokens += newUsage.outputTokens ?? 0;
|
|
132
|
+
this.totalTokens += newUsage.totalTokens ?? 0;
|
|
63
133
|
if (newUsage.inputTokensDetails) {
|
|
64
134
|
// The type does not allow undefined, but it could happen runtime
|
|
65
135
|
this.inputTokensDetails.push(...newUsage.inputTokensDetails);
|
|
@@ -68,6 +138,21 @@ class Usage {
|
|
|
68
138
|
// The type does not allow undefined, but it could happen runtime
|
|
69
139
|
this.outputTokensDetails.push(...newUsage.outputTokensDetails);
|
|
70
140
|
}
|
|
141
|
+
if (Array.isArray(newUsage.requestUsageEntries) &&
|
|
142
|
+
newUsage.requestUsageEntries.length > 0) {
|
|
143
|
+
this.requestUsageEntries ??= [];
|
|
144
|
+
this.requestUsageEntries.push(...newUsage.requestUsageEntries.map((entry) => entry instanceof RequestUsage ? entry : new RequestUsage(entry)));
|
|
145
|
+
}
|
|
146
|
+
else if (newUsage.requests === 1 && newUsage.totalTokens > 0) {
|
|
147
|
+
this.requestUsageEntries ??= [];
|
|
148
|
+
this.requestUsageEntries.push(new RequestUsage({
|
|
149
|
+
inputTokens: newUsage.inputTokens,
|
|
150
|
+
outputTokens: newUsage.outputTokens,
|
|
151
|
+
totalTokens: newUsage.totalTokens,
|
|
152
|
+
inputTokensDetails: newUsage.inputTokensDetails?.[0],
|
|
153
|
+
outputTokensDetails: newUsage.outputTokensDetails?.[0],
|
|
154
|
+
}));
|
|
155
|
+
}
|
|
71
156
|
}
|
|
72
157
|
}
|
|
73
158
|
exports.Usage = Usage;
|
package/dist/usage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"}
|
package/dist/usage.mjs
CHANGED
|
@@ -1,4 +1,45 @@
|
|
|
1
|
-
import { UsageData } from "./types/protocol.mjs";
|
|
1
|
+
import { RequestUsageData, UsageData } from "./types/protocol.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Usage details for a single API request.
|
|
4
|
+
*/
|
|
5
|
+
export class RequestUsage {
|
|
6
|
+
/**
|
|
7
|
+
* The number of input tokens used for this request.
|
|
8
|
+
*/
|
|
9
|
+
inputTokens;
|
|
10
|
+
/**
|
|
11
|
+
* The number of output tokens used for this request.
|
|
12
|
+
*/
|
|
13
|
+
outputTokens;
|
|
14
|
+
/**
|
|
15
|
+
* The total number of tokens sent and received for this request.
|
|
16
|
+
*/
|
|
17
|
+
totalTokens;
|
|
18
|
+
/**
|
|
19
|
+
* Details about the input tokens used for this request.
|
|
20
|
+
*/
|
|
21
|
+
inputTokensDetails;
|
|
22
|
+
/**
|
|
23
|
+
* Details about the output tokens used for this request.
|
|
24
|
+
*/
|
|
25
|
+
outputTokensDetails;
|
|
26
|
+
constructor(input) {
|
|
27
|
+
this.inputTokens = input?.inputTokens ?? input?.input_tokens ?? 0;
|
|
28
|
+
this.outputTokens = input?.outputTokens ?? input?.output_tokens ?? 0;
|
|
29
|
+
this.totalTokens =
|
|
30
|
+
input?.totalTokens ??
|
|
31
|
+
input?.total_tokens ??
|
|
32
|
+
this.inputTokens + this.outputTokens;
|
|
33
|
+
const inputTokensDetails = input?.inputTokensDetails ?? input?.input_tokens_details;
|
|
34
|
+
this.inputTokensDetails = inputTokensDetails
|
|
35
|
+
? inputTokensDetails
|
|
36
|
+
: {};
|
|
37
|
+
const outputTokensDetails = input?.outputTokensDetails ?? input?.output_tokens_details;
|
|
38
|
+
this.outputTokensDetails = outputTokensDetails
|
|
39
|
+
? outputTokensDetails
|
|
40
|
+
: {};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
2
43
|
/**
|
|
3
44
|
* Tracks token usage and request counts for an agent run.
|
|
4
45
|
*/
|
|
@@ -27,6 +68,10 @@ export class Usage {
|
|
|
27
68
|
* Details about the output tokens used across all requests.
|
|
28
69
|
*/
|
|
29
70
|
outputTokensDetails = [];
|
|
71
|
+
/**
|
|
72
|
+
* List of per-request usage entries for detailed cost calculations.
|
|
73
|
+
*/
|
|
74
|
+
requestUsageEntries;
|
|
30
75
|
constructor(input) {
|
|
31
76
|
if (typeof input === 'undefined') {
|
|
32
77
|
this.requests = 0;
|
|
@@ -35,27 +80,50 @@ export class Usage {
|
|
|
35
80
|
this.totalTokens = 0;
|
|
36
81
|
this.inputTokensDetails = [];
|
|
37
82
|
this.outputTokensDetails = [];
|
|
83
|
+
this.requestUsageEntries = undefined;
|
|
38
84
|
}
|
|
39
85
|
else {
|
|
40
86
|
this.requests = input?.requests ?? 1;
|
|
41
87
|
this.inputTokens = input?.inputTokens ?? input?.input_tokens ?? 0;
|
|
42
88
|
this.outputTokens = input?.outputTokens ?? input?.output_tokens ?? 0;
|
|
43
|
-
this.totalTokens =
|
|
89
|
+
this.totalTokens =
|
|
90
|
+
input?.totalTokens ??
|
|
91
|
+
input?.total_tokens ??
|
|
92
|
+
this.inputTokens + this.outputTokens;
|
|
44
93
|
const inputTokensDetails = input?.inputTokensDetails ?? input?.input_tokens_details;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
94
|
+
if (Array.isArray(inputTokensDetails)) {
|
|
95
|
+
this.inputTokensDetails = inputTokensDetails;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this.inputTokensDetails = inputTokensDetails
|
|
99
|
+
? [inputTokensDetails]
|
|
100
|
+
: [];
|
|
101
|
+
}
|
|
48
102
|
const outputTokensDetails = input?.outputTokensDetails ?? input?.output_tokens_details;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
103
|
+
if (Array.isArray(outputTokensDetails)) {
|
|
104
|
+
this.outputTokensDetails = outputTokensDetails;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
this.outputTokensDetails = outputTokensDetails
|
|
108
|
+
? [outputTokensDetails]
|
|
109
|
+
: [];
|
|
110
|
+
}
|
|
111
|
+
const requestUsageEntries = input?.requestUsageEntries ?? input?.request_usage_entries;
|
|
112
|
+
const normalizedRequestUsageEntries = Array.isArray(requestUsageEntries)
|
|
113
|
+
? requestUsageEntries.map((entry) => entry instanceof RequestUsage ? entry : new RequestUsage(entry))
|
|
114
|
+
: undefined;
|
|
115
|
+
this.requestUsageEntries =
|
|
116
|
+
normalizedRequestUsageEntries &&
|
|
117
|
+
normalizedRequestUsageEntries.length > 0
|
|
118
|
+
? normalizedRequestUsageEntries
|
|
119
|
+
: undefined;
|
|
52
120
|
}
|
|
53
121
|
}
|
|
54
122
|
add(newUsage) {
|
|
55
|
-
this.requests += newUsage.requests;
|
|
56
|
-
this.inputTokens += newUsage.inputTokens;
|
|
57
|
-
this.outputTokens += newUsage.outputTokens;
|
|
58
|
-
this.totalTokens += newUsage.totalTokens;
|
|
123
|
+
this.requests += newUsage.requests ?? 0;
|
|
124
|
+
this.inputTokens += newUsage.inputTokens ?? 0;
|
|
125
|
+
this.outputTokens += newUsage.outputTokens ?? 0;
|
|
126
|
+
this.totalTokens += newUsage.totalTokens ?? 0;
|
|
59
127
|
if (newUsage.inputTokensDetails) {
|
|
60
128
|
// The type does not allow undefined, but it could happen runtime
|
|
61
129
|
this.inputTokensDetails.push(...newUsage.inputTokensDetails);
|
|
@@ -64,7 +132,22 @@ export class Usage {
|
|
|
64
132
|
// The type does not allow undefined, but it could happen runtime
|
|
65
133
|
this.outputTokensDetails.push(...newUsage.outputTokensDetails);
|
|
66
134
|
}
|
|
135
|
+
if (Array.isArray(newUsage.requestUsageEntries) &&
|
|
136
|
+
newUsage.requestUsageEntries.length > 0) {
|
|
137
|
+
this.requestUsageEntries ??= [];
|
|
138
|
+
this.requestUsageEntries.push(...newUsage.requestUsageEntries.map((entry) => entry instanceof RequestUsage ? entry : new RequestUsage(entry)));
|
|
139
|
+
}
|
|
140
|
+
else if (newUsage.requests === 1 && newUsage.totalTokens > 0) {
|
|
141
|
+
this.requestUsageEntries ??= [];
|
|
142
|
+
this.requestUsageEntries.push(new RequestUsage({
|
|
143
|
+
inputTokens: newUsage.inputTokens,
|
|
144
|
+
outputTokens: newUsage.outputTokens,
|
|
145
|
+
totalTokens: newUsage.totalTokens,
|
|
146
|
+
inputTokensDetails: newUsage.inputTokensDetails?.[0],
|
|
147
|
+
outputTokensDetails: newUsage.outputTokensDetails?.[0],
|
|
148
|
+
}));
|
|
149
|
+
}
|
|
67
150
|
}
|
|
68
151
|
}
|
|
69
|
-
export { UsageData };
|
|
152
|
+
export { RequestUsageData, UsageData };
|
|
70
153
|
//# sourceMappingURL=usage.mjs.map
|
package/dist/usage.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.mjs","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"usage.mjs","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@openai/agents-core",
|
|
3
3
|
"repository": "https://github.com/openai/openai-agents-js",
|
|
4
4
|
"homepage": "https://openai.github.io/openai-agents-js/",
|
|
5
|
-
"version": "0.3.
|
|
5
|
+
"version": "0.3.4",
|
|
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",
|