<!--
 ⚠️  AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
 This file is automatically generated by scripts/docs-generator.js
 To make changes, edit the source TypeScript files or update the generator script
-->

[agents](../../) / [Exports](../modules) / IAgentConfig

# Interface: IAgentConfig

Agent configuration options - New design with aiProviders array and defaultModel

## Table of contents

### Properties

- [id](IAgentConfig#id)
- [name](IAgentConfig#name)
- [aiProviders](IAgentConfig#aiproviders)
- [defaultModel](IAgentConfig#defaultmodel)
- [tools](IAgentConfig#tools)
- [plugins](IAgentConfig#plugins)
- [modules](IAgentConfig#modules)
- [systemMessage](IAgentConfig#systemmessage)
- [systemPrompt](IAgentConfig#systemprompt)
- [conversationId](IAgentConfig#conversationid)
- [sessionId](IAgentConfig#sessionid)
- [userId](IAgentConfig#userid)
- [metadata](IAgentConfig#metadata)
- [context](IAgentConfig#context)
- [logging](IAgentConfig#logging)
- [providerConfig](IAgentConfig#providerconfig)
- [stream](IAgentConfig#stream)
- [toolChoice](IAgentConfig#toolchoice)
- [responseFormat](IAgentConfig#responseformat)
- [safetySettings](IAgentConfig#safetysettings)
- [timeout](IAgentConfig#timeout)
- [retryAttempts](IAgentConfig#retryattempts)
- [rateLimiting](IAgentConfig#ratelimiting)
- [eventService](IAgentConfig#eventservice)
- [executionContext](IAgentConfig#executioncontext)

## Properties

### id

• `Optional` **id**: `string`

#### Defined in

[packages/agents/src/interfaces/agent.ts:70](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L70)

---

### name

• **name**: `string`

#### Defined in

[packages/agents/src/interfaces/agent.ts:71](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L71)

---

### aiProviders

• **aiProviders**: [`IAIProvider`](IAIProvider)[]

#### Defined in

[packages/agents/src/interfaces/agent.ts:72](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L72)

---

### defaultModel

• **defaultModel**: `Object`

#### Type declaration

| Name             | Type     |
| :--------------- | :------- |
| `provider`       | `string` |
| `model`          | `string` |
| `temperature?`   | `number` |
| `maxTokens?`     | `number` |
| `topP?`          | `number` |
| `systemMessage?` | `string` |

#### Defined in

[packages/agents/src/interfaces/agent.ts:73](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L73)

---

### tools

• `Optional` **tools**: `AbstractTool`\<[`TToolParameters`](../modules#ttoolparameters), [`IToolResult`](IToolResult)\>[]

#### Defined in

[packages/agents/src/interfaces/agent.ts:83](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L83)

---

### plugins

• `Optional` **plugins**: [`AbstractPlugin`](../classes/AbstractPlugin)\<[`IPluginOptions`](IPluginOptions), [`IPluginStats`](IPluginStats)\>[]

#### Defined in

[packages/agents/src/interfaces/agent.ts:84](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L84)

---

### modules

• `Optional` **modules**: `AbstractModule`\<`BaseModuleOptions`, `ModuleStats`\>[]

#### Defined in

[packages/agents/src/interfaces/agent.ts:87](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L87)

---

### systemMessage

• `Optional` **systemMessage**: `string`

#### Defined in

[packages/agents/src/interfaces/agent.ts:90](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L90)

---

### systemPrompt

• `Optional` **systemPrompt**: `string`

#### Defined in

[packages/agents/src/interfaces/agent.ts:91](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L91)

---

### conversationId

• `Optional` **conversationId**: `string`

#### Defined in

[packages/agents/src/interfaces/agent.ts:94](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L94)

---

### sessionId

• `Optional` **sessionId**: `string`

#### Defined in

[packages/agents/src/interfaces/agent.ts:95](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L95)

---

### userId

• `Optional` **userId**: `string`

#### Defined in

[packages/agents/src/interfaces/agent.ts:96](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L96)

---

### metadata

• `Optional` **metadata**: [`TUniversalMessageMetadata`](../modules#tuniversalmessagemetadata)

#### Defined in

[packages/agents/src/interfaces/agent.ts:99](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L99)

---

### context

• `Optional` **context**: `Record`\<`string`, [`TConfigValue`](../modules#tconfigvalue)\>

#### Defined in

[packages/agents/src/interfaces/agent.ts:100](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L100)

---

### logging

• `Optional` **logging**: `Object`

#### Type declaration

| Name           | Type                                        |
| :------------- | :------------------------------------------ |
| `level?`       | [`TUtilLogLevel`](../modules#tutilloglevel) |
| `enabled?`     | `boolean`                                   |
| `format?`      | `string`                                    |
| `destination?` | `string`                                    |

#### Defined in

[packages/agents/src/interfaces/agent.ts:103](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L103)

---

### providerConfig

• `Optional` **providerConfig**: `IProviderConfig`

#### Defined in

[packages/agents/src/interfaces/agent.ts:111](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L111)

---

### stream

• `Optional` **stream**: `boolean`

#### Defined in

[packages/agents/src/interfaces/agent.ts:114](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L114)

---

### toolChoice

• `Optional` **toolChoice**: `string`

#### Defined in

[packages/agents/src/interfaces/agent.ts:115](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L115)

---

### responseFormat

• `Optional` **responseFormat**: `IResponseFormatConfig`

#### Defined in

[packages/agents/src/interfaces/agent.ts:116](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L116)

---

### safetySettings

• `Optional` **safetySettings**: `ISafetySetting`[]

#### Defined in

[packages/agents/src/interfaces/agent.ts:117](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L117)

---

### timeout

• `Optional` **timeout**: `number`

#### Defined in

[packages/agents/src/interfaces/agent.ts:120](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L120)

---

### retryAttempts

• `Optional` **retryAttempts**: `number`

#### Defined in

[packages/agents/src/interfaces/agent.ts:121](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L121)

---

### rateLimiting

• `Optional` **rateLimiting**: `Object`

#### Type declaration

| Name           | Type      |
| :------------- | :-------- |
| `enabled?`     | `boolean` |
| `maxRequests?` | `number`  |
| `windowMs?`    | `number`  |

#### Defined in

[packages/agents/src/interfaces/agent.ts:122](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L122)

---

### eventService

• `Optional` **eventService**: [`IEventService`](IEventService)

#### Defined in

[packages/agents/src/interfaces/agent.ts:129](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L129)

---

### executionContext

• `Optional` **executionContext**: `IExecutionContextInjection`

#### Defined in

[packages/agents/src/interfaces/agent.ts:132](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/agent.ts#L132)
