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

# Interface: AIProviderInstance

Interface that AI provider instances must implement to work with LocalExecutor

This interface represents the subset of AI provider methods that LocalExecutor
needs to delegate to. It's designed to be compatible with existing BaseAIProvider
implementations from @robota-sdk packages.

## Table of contents

### Properties

- [name](AIProviderInstance#name)

### Methods

- [chat](AIProviderInstance#chat)
- [chatStream](AIProviderInstance#chatstream)
- [supportsTools](AIProviderInstance#supportstools)
- [validateConfig](AIProviderInstance#validateconfig)
- [dispose](AIProviderInstance#dispose)

## Properties

### name

• `Optional` `Readonly` **name**: `string`

Provider name

#### Defined in

[packages/agents/src/executors/local-executor.ts:243](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/executors/local-executor.ts#L243)

## Methods

### chat

▸ **chat**(`messages`, `options?`): `Promise`\<[`TUniversalMessage`](../modules#tuniversalmessage)\>

Chat completion method

#### Parameters

| Name       | Type                                                  |
| :--------- | :---------------------------------------------------- |
| `messages` | [`TUniversalMessage`](../modules#tuniversalmessage)[] |
| `options?` | [`IChatOptions`](IChatOptions)                        |

#### Returns

`Promise`\<[`TUniversalMessage`](../modules#tuniversalmessage)\>

#### Defined in

[packages/agents/src/executors/local-executor.ts:246](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/executors/local-executor.ts#L246)

---

### chatStream

▸ **chatStream**(`messages`, `options?`): `AsyncIterable`\<[`TUniversalMessage`](../modules#tuniversalmessage), `any`, `any`\>

Streaming chat completion method

#### Parameters

| Name       | Type                                                  |
| :--------- | :---------------------------------------------------- |
| `messages` | [`TUniversalMessage`](../modules#tuniversalmessage)[] |
| `options?` | [`IChatOptions`](IChatOptions)                        |

#### Returns

`AsyncIterable`\<[`TUniversalMessage`](../modules#tuniversalmessage), `any`, `any`\>

#### Defined in

[packages/agents/src/executors/local-executor.ts:249](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/executors/local-executor.ts#L249)

---

### supportsTools

▸ **supportsTools**(): `boolean`

Check if provider supports tools

#### Returns

`boolean`

#### Defined in

[packages/agents/src/executors/local-executor.ts:252](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/executors/local-executor.ts#L252)

---

### validateConfig

▸ **validateConfig**(): `boolean`

Validate provider configuration

#### Returns

`boolean`

#### Defined in

[packages/agents/src/executors/local-executor.ts:255](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/executors/local-executor.ts#L255)

---

### dispose

▸ **dispose**(): `Promise`\<`void`\>

Clean up provider resources

#### Returns

`Promise`\<`void`\>

#### Defined in

[packages/agents/src/executors/local-executor.ts:258](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/executors/local-executor.ts#L258)
