Skip to content
This repository was archived by the owner on Jun 3, 2025. It is now read-only.

Commit 5abf2c9

Browse files
authored
Merge pull request #30 from yusuf-eren/bugfix/issues/28
bugfix: import type from OpenAI Node.js library
2 parents 85ba821 + 61c8e87 commit 5abf2c9

File tree

4 files changed

+26
-228
lines changed

4 files changed

+26
-228
lines changed

package-lock.json

Lines changed: 14 additions & 177 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@
3737
"axios": "^1.9.0",
3838
"dotenv": "^16.4.7",
3939
"graphviz": "^0.0.9",
40-
"openai": "^4.103.0",
40+
"openai": "^5.0.1",
4141
"uuid": "^11.1.0",
4242
"zod": "^3.24.2"
4343
},
4444
"devDependencies": {
4545
"@types/dotenv": "^6.1.1",
4646
"@types/graphviz": "^0.0.39",
4747
"@types/jest": "^29.5.12",
48-
"@types/node": "^22.13.17",
48+
"@types/node": "^22.15.24",
4949
"@types/uuid": "^10.0.0",
5050
"jest": "^29.7.0",
5151
"ts-jest": "^29.1.2",

src/agents/models/model-settings.ts

Lines changed: 9 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { Reasoning } from 'openai/resources/shared';
12
/**
23
* Specifies how tools should be chosen by the model.
34
* - 'auto': Model decides when to use tools
@@ -6,38 +7,6 @@
67
*/
78
type ToolChoice = 'auto' | 'required' | 'none';
89

9-
/**
10-
* Specifies the level of reasoning effort for o-series models.
11-
* - 'low': Minimal reasoning effort
12-
* - 'medium': Balanced reasoning effort
13-
* - 'high': Maximum reasoning effort
14-
*/
15-
type ReasoningEffort = 'low' | 'medium' | 'high';
16-
17-
/**
18-
* Specifies the type of reasoning summary for computer_use_preview.
19-
* - 'concise': Brief summary
20-
* - 'detailed': Comprehensive summary
21-
*/
22-
type ReasoningSummary = 'concise' | 'detailed';
23-
24-
/**
25-
* Configuration for model reasoning capabilities.
26-
*/
27-
interface Reasoning {
28-
/**
29-
* Constrains effort on reasoning for o-series models.
30-
* Reducing reasoning effort can result in faster responses and fewer tokens used.
31-
*/
32-
effort?: ReasoningEffort;
33-
34-
/**
35-
* For computer_use_preview only. Generates a summary of the model's reasoning process.
36-
* Useful for debugging and understanding the model's decision making.
37-
*/
38-
generate_summary?: ReasoningSummary;
39-
}
40-
4110
/**
4211
* Settings to use when calling an LLM.
4312
*
@@ -102,24 +71,16 @@ export class ModelSettings {
10271
const changes: Partial<ModelSettings> = {};
10372

10473
// Only copy non-undefined values from override
105-
if (override.temperature !== undefined)
106-
changes.temperature = override.temperature;
74+
if (override.temperature !== undefined) changes.temperature = override.temperature;
10775
if (override.top_p !== undefined) changes.top_p = override.top_p;
108-
if (override.frequency_penalty !== undefined)
109-
changes.frequency_penalty = override.frequency_penalty;
110-
if (override.presence_penalty !== undefined)
111-
changes.presence_penalty = override.presence_penalty;
112-
if (override.tool_choice !== undefined)
113-
changes.tool_choice = override.tool_choice;
114-
if (override.parallel_tool_calls !== undefined)
115-
changes.parallel_tool_calls = override.parallel_tool_calls;
116-
if (override.max_tokens !== undefined)
117-
changes.max_tokens = override.max_tokens;
76+
if (override.frequency_penalty !== undefined) changes.frequency_penalty = override.frequency_penalty;
77+
if (override.presence_penalty !== undefined) changes.presence_penalty = override.presence_penalty;
78+
if (override.tool_choice !== undefined) changes.tool_choice = override.tool_choice;
79+
if (override.parallel_tool_calls !== undefined) changes.parallel_tool_calls = override.parallel_tool_calls;
80+
if (override.max_tokens !== undefined) changes.max_tokens = override.max_tokens;
11881
if (override.store !== undefined) changes.store = override.store;
119-
if (override.truncation !== undefined)
120-
changes.truncation = override.truncation;
121-
if (override.reasoning !== undefined)
122-
changes.reasoning = override.reasoning;
82+
if (override.truncation !== undefined) changes.truncation = override.truncation;
83+
if (override.reasoning !== undefined) changes.reasoning = override.reasoning;
12384
if (override.metadata !== undefined) changes.metadata = override.metadata;
12485

12586
return new ModelSettings({ ...this, ...changes });

src/agents/models/openai-responses.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919
ResponseTextConfig,
2020
Tool as OpenAITool,
2121
} from 'openai/resources/responses/responses';
22-
import { APIPromise } from 'openai/core';
22+
import { APIPromise } from 'openai/core/api-promise';
2323
import { MCPTool } from '../mcp/types';
2424
import { logger } from '../logger';
2525
import { withResponseSpan, SpanError, ResponseSpanData, GLOBAL_TRACE_PROVIDER } from '../tracing';

0 commit comments

Comments
 (0)