@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.
@@ -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(): Record<string, string[]>;
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;QACJ,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,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AArCD,kDAqCC"}
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;QACJ,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,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
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.0",
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",