Skip to content

Commit a2f59c2

Browse files
committed
feat(refactor): agent
remove duplicated model properties from AgentConfig
1 parent 65e0235 commit a2f59c2

File tree

9 files changed

+15
-27
lines changed

9 files changed

+15
-27
lines changed

packages/agent/src/core/toolAgent/config.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@ export type ModelProvider = 'anthropic' | 'openai' | 'ollama';
1515

1616
export type AgentConfig = {
1717
maxIterations: number;
18-
provider: ModelProvider;
19-
model: string;
20-
maxTokens: number;
21-
temperature: number;
2218
getSystemPrompt: (toolContext: ToolContext) => string;
2319
};
2420

@@ -55,10 +51,6 @@ export function getModel(
5551
*/
5652
export const DEFAULT_CONFIG: AgentConfig = {
5753
maxIterations: 200,
58-
provider: 'anthropic',
59-
model: 'claude-3-7-sonnet-20250219',
60-
maxTokens: 4096,
61-
temperature: 0.7,
6254
getSystemPrompt: getDefaultSystemPrompt,
6355
};
6456

packages/agent/src/core/toolAgent/toolAgentCore.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export const toolAgent = async (
4343
const systemPrompt = config.getSystemPrompt(context);
4444

4545
// Create the LLM provider
46-
const provider = createProvider(config.provider, config.model);
46+
const provider = createProvider(context.provider, context.model);
4747

4848
for (let i = 0; i < config.maxIterations; i++) {
4949
logger.verbose(
@@ -74,8 +74,8 @@ export const toolAgent = async (
7474
const generateOptions = {
7575
messages: messagesWithSystem,
7676
functions: functionDefinitions,
77-
temperature: config.temperature,
78-
maxTokens: config.maxTokens,
77+
temperature: context.temperature,
78+
maxTokens: context.maxTokens,
7979
};
8080

8181
const { text, toolCalls, tokenUsage } = await generateText(

packages/agent/src/core/types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ export type ToolContext = {
2424
agentId?: string; // Unique identifier for the agent, used for background tool tracking
2525
provider: ModelProvider;
2626
model: string;
27+
maxTokens: number;
28+
temperature: number;
2729
};
2830

2931
export type Tool<TParams = Record<string, any>, TReturn = any> = {

packages/agent/src/tools/getTools.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ export const getMockToolContext = (): ToolContext => ({
1717
githubMode: true,
1818
provider: 'anthropic',
1919
model: 'claude-3-7-sonnet-20250219',
20+
maxTokens: 4096,
21+
temperature: 0.7,
2022
});
2123

2224
describe('getTools', () => {

packages/agent/src/tools/interaction/agentStart.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,6 @@ type ReturnType = z.infer<typeof returnSchema>;
6969
// Sub-agent specific configuration
7070
const subAgentConfig: AgentConfig = {
7171
maxIterations: 200,
72-
maxTokens: 4096,
73-
temperature: 0.7,
74-
provider: 'anthropic',
75-
model: 'claude-3-7-sonnet-20250219',
7672
getSystemPrompt: (context: ToolContext) => {
7773
return [
7874
getDefaultSystemPrompt(context),

packages/agent/src/tools/interaction/agentTools.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ const mockContext: ToolContext = {
2626
githubMode: true,
2727
provider: 'anthropic',
2828
model: 'claude-3-7-sonnet-20250219',
29+
maxTokens: 4096,
30+
temperature: 0.7,
2931
};
3032

3133
describe('Agent Tools', () => {

packages/agent/src/tools/interaction/subAgent.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ const mockContext: ToolContext = {
3030
githubMode: true,
3131
provider: 'anthropic',
3232
model: 'claude-3-7-sonnet-20250219',
33+
maxTokens: 4096,
34+
temperature: 0.7,
3335
};
3436

3537
describe('subAgentTool', () => {

packages/agent/src/tools/interaction/subAgent.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,6 @@ type ReturnType = z.infer<typeof returnSchema>;
4747
// Sub-agent specific configuration
4848
const subAgentConfig: AgentConfig = {
4949
maxIterations: 200,
50-
provider: 'anthropic',
51-
model: 'claude-3-7-sonnet-20250219',
52-
maxTokens: 4096,
53-
temperature: 0.7,
5450
getSystemPrompt: (context: ToolContext) => {
5551
return [
5652
getDefaultSystemPrompt(context),
@@ -106,11 +102,9 @@ export const subAgentTool: Tool<Parameters, ReturnType> = {
106102

107103
const tools = getTools({ userPrompt: false });
108104

109-
// Update config if timeout is specified
105+
// Use the subAgentConfig
110106
const config: AgentConfig = {
111107
...subAgentConfig,
112-
provider: context.provider,
113-
model: context.model,
114108
};
115109

116110
try {

packages/cli/src/commands/$default.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -146,13 +146,9 @@ export const command: CommandModule<SharedOptions, DefaultArgs> = {
146146
process.exit(0);
147147
});
148148

149-
// Create a config with the selected model
149+
// Create a config for the agent
150150
const agentConfig: AgentConfig = {
151151
...DEFAULT_CONFIG,
152-
provider: config.provider as ModelProvider,
153-
model: config.model,
154-
maxTokens: config.maxTokens,
155-
temperature: config.temperature,
156152
};
157153

158154
const result = await toolAgent(prompt, tools, agentConfig, {
@@ -168,6 +164,8 @@ export const command: CommandModule<SharedOptions, DefaultArgs> = {
168164
userPrompt: config.userPrompt,
169165
provider: config.provider as ModelProvider,
170166
model: config.model,
167+
maxTokens: config.maxTokens,
168+
temperature: config.temperature,
171169
});
172170

173171
const output =

0 commit comments

Comments
 (0)