@openai/agents-core 0.9.0 → 0.9.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/memory/session.d.ts +7 -0
- package/dist/memory/session.js.map +1 -1
- package/dist/memory/session.mjs.map +1 -1
- package/dist/metadata.js +2 -2
- package/dist/metadata.mjs +2 -2
- package/dist/run.js +36 -0
- package/dist/run.js.map +1 -1
- package/dist/run.mjs +36 -0
- package/dist/run.mjs.map +1 -1
- package/dist/runState.d.ts +28 -3
- package/dist/runState.js +321 -45
- package/dist/runState.js.map +1 -1
- package/dist/runState.mjs +320 -45
- package/dist/runState.mjs.map +1 -1
- package/dist/runner/sessionPersistence.js +33 -12
- package/dist/runner/sessionPersistence.js.map +1 -1
- package/dist/runner/sessionPersistence.mjs +33 -12
- package/dist/runner/sessionPersistence.mjs.map +1 -1
- package/dist/runner/streamReconciliation.d.ts +14 -0
- package/dist/runner/streamReconciliation.js +80 -0
- package/dist/runner/streamReconciliation.js.map +1 -0
- package/dist/runner/streamReconciliation.mjs +72 -0
- package/dist/runner/streamReconciliation.mjs.map +1 -0
- package/dist/runner/toolUseTracker.d.ts +3 -1
- package/dist/runner/toolUseTracker.js +2 -2
- package/dist/runner/toolUseTracker.js.map +1 -1
- package/dist/runner/toolUseTracker.mjs +2 -2
- package/dist/runner/toolUseTracker.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createStreamAbortReconciliationState = createStreamAbortReconciliationState;
|
|
4
|
+
exports.recordStreamEventForAbortReconciliation = recordStreamEventForAbortReconciliation;
|
|
5
|
+
exports.buildAbortReconciliationInput = buildAbortReconciliationInput;
|
|
6
|
+
exports.getAbortReconciliationPreviousResponseId = getAbortReconciliationPreviousResponseId;
|
|
7
|
+
exports.shouldReconcileStreamAbort = shouldReconcileStreamAbort;
|
|
8
|
+
exports.markAbortReconciliationComplete = markAbortReconciliationComplete;
|
|
9
|
+
function createStreamAbortReconciliationState() {
|
|
10
|
+
return {
|
|
11
|
+
pendingFunctionCalls: new Map(),
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function recordStreamEventForAbortReconciliation(state, event) {
|
|
15
|
+
if (event.type === 'response_done') {
|
|
16
|
+
state.pendingFunctionCalls.clear();
|
|
17
|
+
state.responseId = event.response.id;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (event.type !== 'model' || !isRecord(event.event)) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const rawEvent = event.event;
|
|
24
|
+
if (rawEvent.type === 'response.created' &&
|
|
25
|
+
isRecord(rawEvent.response) &&
|
|
26
|
+
typeof rawEvent.response.id === 'string') {
|
|
27
|
+
state.responseId = rawEvent.response.id;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (rawEvent.type !== 'response.output_item.done' ||
|
|
31
|
+
!isRecord(rawEvent.item)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const item = rawEvent.item;
|
|
35
|
+
if (item.type === 'function_call' && typeof item.call_id === 'string') {
|
|
36
|
+
state.pendingFunctionCalls.set(item.call_id, {
|
|
37
|
+
callId: item.call_id,
|
|
38
|
+
name: typeof item.name === 'string' ? item.name : item.call_id,
|
|
39
|
+
...(typeof item.namespace === 'string'
|
|
40
|
+
? { namespace: item.namespace }
|
|
41
|
+
: {}),
|
|
42
|
+
});
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (item.type === 'function_call_output' &&
|
|
46
|
+
typeof item.call_id === 'string') {
|
|
47
|
+
state.pendingFunctionCalls.delete(item.call_id);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function buildAbortReconciliationInput(state) {
|
|
51
|
+
return Array.from(state.pendingFunctionCalls.values(), (toolCall) => ({
|
|
52
|
+
type: 'function_call_result',
|
|
53
|
+
name: toolCall.name,
|
|
54
|
+
...(typeof toolCall.namespace === 'string'
|
|
55
|
+
? { namespace: toolCall.namespace }
|
|
56
|
+
: {}),
|
|
57
|
+
callId: toolCall.callId,
|
|
58
|
+
status: 'incomplete',
|
|
59
|
+
output: { type: 'text', text: 'aborted' },
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
function getAbortReconciliationPreviousResponseId(state, request) {
|
|
63
|
+
if (request.conversationId) {
|
|
64
|
+
return request.previousResponseId;
|
|
65
|
+
}
|
|
66
|
+
return state.responseId ?? request.previousResponseId;
|
|
67
|
+
}
|
|
68
|
+
function shouldReconcileStreamAbort(state) {
|
|
69
|
+
return state.pendingFunctionCalls.size > 0;
|
|
70
|
+
}
|
|
71
|
+
function markAbortReconciliationComplete(state, response) {
|
|
72
|
+
state.pendingFunctionCalls.clear();
|
|
73
|
+
if (response?.responseId) {
|
|
74
|
+
state.responseId = response.responseId;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function isRecord(value) {
|
|
78
|
+
return typeof value === 'object' && value !== null;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=streamReconciliation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamReconciliation.js","sourceRoot":"","sources":["../../src/runner/streamReconciliation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export function createStreamAbortReconciliationState() {
|
|
2
|
+
return {
|
|
3
|
+
pendingFunctionCalls: new Map(),
|
|
4
|
+
};
|
|
5
|
+
}
|
|
6
|
+
export function recordStreamEventForAbortReconciliation(state, event) {
|
|
7
|
+
if (event.type === 'response_done') {
|
|
8
|
+
state.pendingFunctionCalls.clear();
|
|
9
|
+
state.responseId = event.response.id;
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
if (event.type !== 'model' || !isRecord(event.event)) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const rawEvent = event.event;
|
|
16
|
+
if (rawEvent.type === 'response.created' &&
|
|
17
|
+
isRecord(rawEvent.response) &&
|
|
18
|
+
typeof rawEvent.response.id === 'string') {
|
|
19
|
+
state.responseId = rawEvent.response.id;
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (rawEvent.type !== 'response.output_item.done' ||
|
|
23
|
+
!isRecord(rawEvent.item)) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const item = rawEvent.item;
|
|
27
|
+
if (item.type === 'function_call' && typeof item.call_id === 'string') {
|
|
28
|
+
state.pendingFunctionCalls.set(item.call_id, {
|
|
29
|
+
callId: item.call_id,
|
|
30
|
+
name: typeof item.name === 'string' ? item.name : item.call_id,
|
|
31
|
+
...(typeof item.namespace === 'string'
|
|
32
|
+
? { namespace: item.namespace }
|
|
33
|
+
: {}),
|
|
34
|
+
});
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (item.type === 'function_call_output' &&
|
|
38
|
+
typeof item.call_id === 'string') {
|
|
39
|
+
state.pendingFunctionCalls.delete(item.call_id);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export function buildAbortReconciliationInput(state) {
|
|
43
|
+
return Array.from(state.pendingFunctionCalls.values(), (toolCall) => ({
|
|
44
|
+
type: 'function_call_result',
|
|
45
|
+
name: toolCall.name,
|
|
46
|
+
...(typeof toolCall.namespace === 'string'
|
|
47
|
+
? { namespace: toolCall.namespace }
|
|
48
|
+
: {}),
|
|
49
|
+
callId: toolCall.callId,
|
|
50
|
+
status: 'incomplete',
|
|
51
|
+
output: { type: 'text', text: 'aborted' },
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
export function getAbortReconciliationPreviousResponseId(state, request) {
|
|
55
|
+
if (request.conversationId) {
|
|
56
|
+
return request.previousResponseId;
|
|
57
|
+
}
|
|
58
|
+
return state.responseId ?? request.previousResponseId;
|
|
59
|
+
}
|
|
60
|
+
export function shouldReconcileStreamAbort(state) {
|
|
61
|
+
return state.pendingFunctionCalls.size > 0;
|
|
62
|
+
}
|
|
63
|
+
export function markAbortReconciliationComplete(state, response) {
|
|
64
|
+
state.pendingFunctionCalls.clear();
|
|
65
|
+
if (response?.responseId) {
|
|
66
|
+
state.responseId = response.responseId;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function isRecord(value) {
|
|
70
|
+
return typeof value === 'object' && value !== null;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=streamReconciliation.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamReconciliation.mjs","sourceRoot":"","sources":["../../src/runner/streamReconciliation.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,7 @@ export declare class AgentToolUseTracker {
|
|
|
5
5
|
allowEmpty?: boolean;
|
|
6
6
|
}): void;
|
|
7
7
|
hasUsedTools(agent: Agent<any, any>): boolean;
|
|
8
|
-
toJSON(
|
|
8
|
+
toJSON(options?: {
|
|
9
|
+
agentIdentityKeys?: ReadonlyMap<Agent<any, any>, string>;
|
|
10
|
+
}): Record<string, string[]>;
|
|
9
11
|
}
|
|
@@ -24,9 +24,9 @@ class AgentToolUseTracker {
|
|
|
24
24
|
hasUsedTools(agent) {
|
|
25
25
|
return this.#agentToTools.has(agent);
|
|
26
26
|
}
|
|
27
|
-
toJSON() {
|
|
27
|
+
toJSON(options = {}) {
|
|
28
28
|
return Object.fromEntries(Array.from(this.#agentToTools.entries()).map(([agent, toolNames]) => {
|
|
29
|
-
return [agent.name, toolNames];
|
|
29
|
+
return [options.agentIdentityKeys?.get(agent) ?? agent.name, toolNames];
|
|
30
30
|
}));
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolUseTracker.js","sourceRoot":"","sources":["../../src/runner/toolUseTracker.ts"],"names":[],"mappings":";;;AAEA,MAAa,mBAAmB;IAC9B,aAAa,GAAG,IAAI,GAAG,EAA6B,CAAC;IAErD,UAAU,CACR,KAAsB,EACtB,SAAmB,EACnB,UAAoC,EAAE;QAEtC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;QAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1C,qEAAqE;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;QACH,CAAC;QACD,6EAA6E;QAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,YAAY,CAAC,KAAsB;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,MAAM;
|
|
1
|
+
{"version":3,"file":"toolUseTracker.js","sourceRoot":"","sources":["../../src/runner/toolUseTracker.ts"],"names":[],"mappings":";;;AAEA,MAAa,mBAAmB;IAC9B,aAAa,GAAG,IAAI,GAAG,EAA6B,CAAC;IAErD,UAAU,CACR,KAAsB,EACtB,SAAmB,EACnB,UAAoC,EAAE;QAEtC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;QAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1C,qEAAqE;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;QACH,CAAC;QACD,6EAA6E;QAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,YAAY,CAAC,KAAsB;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CACJ,UAAwE,EAAE;QAE1E,OAAO,MAAM,CAAC,WAAW,CACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE;YAClE,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAvCD,kDAuCC"}
|
|
@@ -21,9 +21,9 @@ export class AgentToolUseTracker {
|
|
|
21
21
|
hasUsedTools(agent) {
|
|
22
22
|
return this.#agentToTools.has(agent);
|
|
23
23
|
}
|
|
24
|
-
toJSON() {
|
|
24
|
+
toJSON(options = {}) {
|
|
25
25
|
return Object.fromEntries(Array.from(this.#agentToTools.entries()).map(([agent, toolNames]) => {
|
|
26
|
-
return [agent.name, toolNames];
|
|
26
|
+
return [options.agentIdentityKeys?.get(agent) ?? agent.name, toolNames];
|
|
27
27
|
}));
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolUseTracker.mjs","sourceRoot":"","sources":["../../src/runner/toolUseTracker.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAmB;IAC9B,aAAa,GAAG,IAAI,GAAG,EAA6B,CAAC;IAErD,UAAU,CACR,KAAsB,EACtB,SAAmB,EACnB,UAAoC,EAAE;QAEtC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;QAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1C,qEAAqE;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;QACH,CAAC;QACD,6EAA6E;QAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,YAAY,CAAC,KAAsB;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,MAAM;
|
|
1
|
+
{"version":3,"file":"toolUseTracker.mjs","sourceRoot":"","sources":["../../src/runner/toolUseTracker.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAmB;IAC9B,aAAa,GAAG,IAAI,GAAG,EAA6B,CAAC;IAErD,UAAU,CACR,KAAsB,EACtB,SAAmB,EACnB,UAAoC,EAAE;QAEtC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;QAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1C,qEAAqE;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;QACH,CAAC;QACD,6EAA6E;QAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,YAAY,CAAC,KAAsB;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CACJ,UAAwE,EAAE;QAE1E,OAAO,MAAM,CAAC,WAAW,CACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE;YAClE,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
|
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.9.
|
|
5
|
+
"version": "0.9.1",
|
|
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",
|