Skip to content

agent-core / Exports / AbstractExecutor

Class: AbstractExecutor

Fileoverview

Abstract Executor Base Class

🎯 ABSTRACT CLASS - DO NOT DEPEND ON CONCRETE IMPLEMENTATIONS

Provides shared execution helpers (retry, timeout, validation, logging) for all executor implementations. Concrete executors should extend this class and inject their own logger implementation if they need custom logging behavior.

Example

typescript
export class MyCustomExecutor extends AbstractExecutor {
  async executeChat(request: IChatExecutionRequest): Promise\<AssistantMessage\> {
    return this.withRetry(() => this.performChat(request));
  }
}

Hierarchy

Implements

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new AbstractExecutor(logger?): AbstractExecutor

Parameters

NameTypeDefault value
loggerILoggerSilentLogger

Returns

AbstractExecutor

Defined in

packages/agent-core/src/abstracts/abstract-executor.ts:35

Properties

name

Readonly Abstract name: string

Get executor name/identifier

Implementation of

IExecutor.name

Defined in

packages/agent-core/src/abstracts/abstract-executor.ts:39


version

Readonly Abstract version: string

Get executor version

Implementation of

IExecutor.version

Defined in

packages/agent-core/src/abstracts/abstract-executor.ts:40

Methods

executeChat

executeChat(request): Promise<IAssistantMessage>

Execute a chat completion request Must be implemented by concrete executor classes

Parameters

NameType
requestIChatExecutionRequest

Returns

Promise<IAssistantMessage>

Implementation of

IExecutor.executeChat

Defined in

packages/agent-core/src/abstracts/abstract-executor.ts:46


executeChatStream

executeChatStream(request): AsyncIterable<TUniversalMessage, any, any>

Execute a streaming chat completion request Optional - can be implemented by concrete executor classes

Parameters

NameType
requestIStreamExecutionRequest

Returns

AsyncIterable<TUniversalMessage, any, any>

Implementation of

IExecutor.executeChatStream

Defined in

packages/agent-core/src/abstracts/abstract-executor.ts:52


supportsTools

supportsTools(): boolean

Check if the executor supports tool calling Default implementation returns false, can be overridden

Returns

boolean

Implementation of

IExecutor.supportsTools

Defined in

packages/agent-core/src/abstracts/abstract-executor.ts:58


validateConfig

validateConfig(): boolean

Validate executor configuration Default implementation returns true, can be overridden

Returns

boolean

Implementation of

IExecutor.validateConfig

Defined in

packages/agent-core/src/abstracts/abstract-executor.ts:66


dispose

dispose(): Promise<void>

Clean up resources when executor is no longer needed Default implementation does nothing, can be overridden

Returns

Promise<void>

Implementation of

IExecutor.dispose

Defined in

packages/agent-core/src/abstracts/abstract-executor.ts:74

Released under the MIT License.