<!--
 ⚠️  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) / IAgentFactory

# Interface: IAgentFactory

Agent Factory interface for agent creation and configuration

## Table of contents

### Methods

- [createAgent](IAgentFactory#createagent)
- [validateConfig](IAgentFactory#validateconfig)
- [getDefaultConfig](IAgentFactory#getdefaultconfig)
- [mergeConfig](IAgentFactory#mergeconfig)

## Methods

### createAgent

▸ **createAgent**(`config`, `options?`): `IAgent`\<[`IAgentConfig`](IAgentConfig), [`IRunOptions`](IRunOptions), [`TUniversalMessage`](../modules#tuniversalmessage)\>

Create agent instance

#### Parameters

| Name       | Type                                             |
| :--------- | :----------------------------------------------- |
| `config`   | [`IAgentConfig`](IAgentConfig)                   |
| `options?` | [`IAgentCreationOptions`](IAgentCreationOptions) |

#### Returns

`IAgent`\<[`IAgentConfig`](IAgentConfig), [`IRunOptions`](IRunOptions), [`TUniversalMessage`](../modules#tuniversalmessage)\>

#### Defined in

[packages/agents/src/interfaces/manager.ts:148](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/manager.ts#L148)

---

### validateConfig

▸ **validateConfig**(`config`): [`IConfigValidationResult`](IConfigValidationResult)

Validate agent configuration

#### Parameters

| Name     | Type                           |
| :------- | :----------------------------- |
| `config` | [`IAgentConfig`](IAgentConfig) |

#### Returns

[`IConfigValidationResult`](IConfigValidationResult)

#### Defined in

[packages/agents/src/interfaces/manager.ts:153](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/manager.ts#L153)

---

### getDefaultConfig

▸ **getDefaultConfig**(): [`IAgentConfig`](IAgentConfig)

Get default configuration

#### Returns

[`IAgentConfig`](IAgentConfig)

#### Defined in

[packages/agents/src/interfaces/manager.ts:158](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/manager.ts#L158)

---

### mergeConfig

▸ **mergeConfig**(`base`, `override`): [`IAgentConfig`](IAgentConfig)

Merge configurations

#### Parameters

| Name       | Type                                        |
| :--------- | :------------------------------------------ |
| `base`     | [`IAgentConfig`](IAgentConfig)              |
| `override` | `Partial`\<[`IAgentConfig`](IAgentConfig)\> |

#### Returns

[`IAgentConfig`](IAgentConfig)

#### Defined in

[packages/agents/src/interfaces/manager.ts:163](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/manager.ts#L163)
