agents / Exports / LocalExecutor
Class: LocalExecutor
Local executor that directly delegates to AI provider instances
This executor maintains a registry of AI provider instances and delegates chat execution requests to the appropriate provider based on the provider name in the request. This is the "traditional" execution mode where API calls are made directly from the client.
Example
import { LocalExecutor } from '@robota-sdk/agents';
import { OpenAIProvider } from '@robota-sdk/openai';
const executor = new LocalExecutor();
executor.registerProvider('openai', new OpenAIProvider({ apiKey: 'sk-...' }));
const response = await executor.executeChat({
messages: [{ role: 'user', content: 'Hello!' }],
provider: 'openai',
model: 'gpt-4'
});Hierarchy
↳
LocalExecutor
Table of contents
Constructors
Properties
Methods
- registerProvider
- unregisterProvider
- getProvider
- executeChat
- executeChatStream
- supportsTools
- validateConfig
- dispose
Constructors
constructor
• new LocalExecutor(config?): LocalExecutor
Parameters
| Name | Type |
|---|---|
config | LocalExecutorConfig |
Returns
Overrides
Defined in
packages/agents/src/executors/local-executor.ts:40
Properties
name
• Readonly name: "local"
Get executor name/identifier
Overrides
Defined in
packages/agents/src/executors/local-executor.ts:34
version
• Readonly version: "1.0.0"
Get executor version
Overrides
Defined in
packages/agents/src/executors/local-executor.ts:35
Methods
registerProvider
▸ registerProvider(name, provider): void
Register an AI provider instance for use with this executor
Parameters
| Name | Type | Description |
|---|---|---|
name | string | Provider name (e.g., 'openai', 'anthropic', 'google') |
provider | AIProviderInstance | Provider instance that implements the required chat methods |
Returns
void
Defined in
packages/agents/src/executors/local-executor.ts:57
unregisterProvider
▸ unregisterProvider(name): void
Unregister an AI provider
Parameters
| Name | Type | Description |
|---|---|---|
name | string | Provider name to remove |
Returns
void
Defined in
packages/agents/src/executors/local-executor.ts:66
getProvider
▸ getProvider(name): undefined | AIProviderInstance
Get registered provider instance
Parameters
| Name | Type | Description |
|---|---|---|
name | string | Provider name |
Returns
undefined | AIProviderInstance
Provider instance or undefined if not registered
Defined in
packages/agents/src/executors/local-executor.ts:76
executeChat
▸ executeChat(request): Promise<AssistantMessage>
Execute a chat completion request by delegating to the appropriate provider
Parameters
| Name | Type |
|---|---|
request | ChatExecutionRequest |
Returns
Promise<AssistantMessage>
Overrides
Defined in
packages/agents/src/executors/local-executor.ts:83
executeChatStream
▸ executeChatStream(request): AsyncIterable<UniversalMessage, any, any>
Execute a streaming chat completion request
Parameters
| Name | Type |
|---|---|
request | StreamExecutionRequest |
Returns
AsyncIterable<UniversalMessage, any, any>
Overrides
BaseExecutor.executeChatStream
Defined in
packages/agents/src/executors/local-executor.ts:133
supportsTools
▸ supportsTools(): boolean
Check if any registered providers support tools
Returns
boolean
Overrides
Defined in
packages/agents/src/executors/local-executor.ts:175
validateConfig
▸ validateConfig(): boolean
Validate executor configuration and all registered providers
Returns
boolean
Overrides
Defined in
packages/agents/src/executors/local-executor.ts:187
dispose
▸ dispose(): Promise<void>
Clean up all registered providers
Returns
Promise<void>