Skip to content

AgentConfig

type AgentConfig = {
model?: | Model<BaseModelConfig>
| string;
messages?: | Message[]
| MessageData[];
tools?: ToolList;
systemPrompt?: | SystemPrompt
| SystemPromptData;
state?: Record<string, JSONValue>;
printer?: boolean;
conversationManager?: HookProvider;
hooks?: HookProvider[];
};

Defined in: src/agent/agent.ts:55

Configuration object for creating a new Agent.

optional model:
| Model<BaseModelConfig>
| string;

Defined in: src/agent/agent.ts:78

The model instance that the agent will use to make decisions. Accepts either a Model instance or a string representing a Bedrock model ID. When a string is provided, it will be used to create a BedrockModel instance.

// Using a string model ID (creates BedrockModel)
const agent = new Agent({
model: 'anthropic.claude-3-5-sonnet-20240620-v1:0'
})
// Using an explicit BedrockModel instance with configuration
const agent = new Agent({
model: new BedrockModel({
modelId: 'anthropic.claude-3-5-sonnet-20240620-v1:0',
temperature: 0.7,
maxTokens: 2048
})
})

optional messages:
| Message[]
| MessageData[];

Defined in: src/agent/agent.ts:80

An initial set of messages to seed the agent’s conversation history.


optional tools: ToolList;

Defined in: src/agent/agent.ts:85

An initial set of tools to register with the agent. Accepts nested arrays of tools at any depth, which will be flattened automatically.


optional systemPrompt:
| SystemPrompt
| SystemPromptData;

Defined in: src/agent/agent.ts:89

A system prompt which guides model behavior.


optional state: Record<string, JSONValue>;

Defined in: src/agent/agent.ts:91

Optional initial state values for the agent.


optional printer: boolean;

Defined in: src/agent/agent.ts:97

Enable automatic printing of agent output to console. When true, prints text generation, reasoning, and tool usage as they occur. Defaults to true.


optional conversationManager: HookProvider;

Defined in: src/agent/agent.ts:102

Conversation manager for handling message history and context overflow. Defaults to SlidingWindowConversationManager with windowSize of 40.


optional hooks: HookProvider[];

Defined in: src/agent/agent.ts:107

Hook providers to register with the agent. Hooks enable observing and extending agent behavior.