Skip to content

agents / Exports / EventEmitterPlugin

Class: EventEmitterPlugin

Plugin for event detection and propagation Emits events during agent execution lifecycle

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new EventEmitterPlugin(options?): EventEmitterPlugin

Parameters

NameType
optionsEventEmitterPluginOptions

Returns

EventEmitterPlugin

Overrides

AbstractPlugin.constructor

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:265

Properties

enabled

enabled: boolean = true

Plugin enabled state

Inherited from

AbstractPlugin.enabled

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:307


category

category: PluginCategory = PluginCategory.CUSTOM

Plugin category for classification

Inherited from

AbstractPlugin.category

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:310


priority

priority: number = PluginPriority.NORMAL

Plugin priority for execution order

Inherited from

AbstractPlugin.priority

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:313


name

name: string = 'EventEmitterPlugin'

Plugin name

Overrides

AbstractPlugin.name

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:254


version

version: string = '1.0.0'

Plugin version

Overrides

AbstractPlugin.version

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:255

Methods

initialize

initialize(options?): Promise<void>

Initialize the plugin with type-safe options

Parameters

NameType
options?EventEmitterPluginOptions

Returns

Promise<void>

Inherited from

AbstractPlugin.initialize

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:338


subscribeToModuleEvents

subscribeToModuleEvents(eventEmitter): Promise<void>

Subscribe to module events through EventEmitter

Parameters

NameType
eventEmitterEventEmitterPlugin

Returns

Promise<void>

Inherited from

AbstractPlugin.subscribeToModuleEvents

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:366


unsubscribeFromModuleEvents

unsubscribeFromModuleEvents(eventEmitter): Promise<void>

Unsubscribe from module events

Parameters

NameType
eventEmitterEventEmitterPlugin

Returns

Promise<void>

Inherited from

AbstractPlugin.unsubscribeFromModuleEvents

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:423


dispose

dispose(): Promise<void>

Cleanup plugin resources

Returns

Promise<void>

Inherited from

AbstractPlugin.dispose

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:438


enable

enable(): void

Enable the plugin

Returns

void

Inherited from

AbstractPlugin.enable

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:450


disable

disable(): void

Disable the plugin

Returns

void

Inherited from

AbstractPlugin.disable

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:457


isEnabled

isEnabled(): boolean

Check if plugin is enabled

Returns

boolean

Inherited from

AbstractPlugin.isEnabled

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:464


getConfig

getConfig(): IPluginConfig

Get plugin configuration

Returns

IPluginConfig

Inherited from

AbstractPlugin.getConfig

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:471


updateConfig

updateConfig(_config): void

Update plugin configuration

Parameters

NameType
_configIPluginConfig

Returns

void

Inherited from

AbstractPlugin.updateConfig

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:478


getData

getData(): IPluginData

Get plugin data - enhanced with classification information

Returns

IPluginData

Inherited from

AbstractPlugin.getData

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:485


clearData

clearData(): void

Clear plugin data - common interface for all plugins This method should be implemented by plugins that store data

Returns

void

Inherited from

AbstractPlugin.clearData

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:505


getStatus

getStatus(): Object

Get plugin status - enhanced with classification information

Returns

Object

NameType
namestring
versionstring
enabledboolean
initializedboolean
categoryPluginCategory
prioritynumber
subscribedEventsCountnumber
hasEventEmitterboolean

Inherited from

AbstractPlugin.getStatus

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:510


beforeRun

beforeRun(input, options?): Promise<void>

Called before agent run

Parameters

NameType
inputstring
options?IRunOptions

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeRun

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:564


afterRun

afterRun(input, response, options?): Promise<void>

Called after agent run

Parameters

NameType
inputstring
responsestring
options?IRunOptions

Returns

Promise<void>

Inherited from

AbstractPlugin.afterRun

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:565


beforeToolCall

beforeToolCall(toolName, parameters): Promise<void>

Called before tool execution

Parameters

NameType
toolNamestring
parametersTToolParameters

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeToolCall

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:570


afterToolCall

afterToolCall(toolName, parameters, result): Promise<void>

Called after tool execution

Parameters

NameType
toolNamestring
parametersTToolParameters
resultIToolExecutionResult

Returns

Promise<void>

Inherited from

AbstractPlugin.afterToolCall

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:572


beforeProviderCall

beforeProviderCall(messages): Promise<void>

Called before AI provider call

Parameters

NameType
messagesTUniversalMessage[]

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeProviderCall

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:574


afterProviderCall

afterProviderCall(messages, response): Promise<void>

Called after AI provider call

Parameters

NameType
messagesTUniversalMessage[]
responseTUniversalMessage

Returns

Promise<void>

Inherited from

AbstractPlugin.afterProviderCall

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:575


onStreamingChunk

onStreamingChunk(chunk): Promise<void>

Called on streaming chunk

Parameters

NameType
chunkTUniversalMessage

Returns

Promise<void>

Inherited from

AbstractPlugin.onStreamingChunk

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:576


onMessageAdded

onMessageAdded(message): Promise<void>

Called on message added to history

Parameters

NameType
messageTUniversalMessage

Returns

Promise<void>

Inherited from

AbstractPlugin.onMessageAdded

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:578


onModuleEvent

onModuleEvent(eventType, eventData): Promise<void>

Called when module events are received

Parameters

NameType
eventTypeEventType
eventDataEventData

Returns

Promise<void>

Inherited from

AbstractPlugin.onModuleEvent

Defined in

packages/agents/src/abstracts/abstract-plugin.ts:579


beforeExecution

beforeExecution(context): Promise<void>

Before execution starts

Parameters

NameType
contextIPluginExecutionContext

Returns

Promise<void>

Overrides

AbstractPlugin.beforeExecution

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:315


afterExecution

afterExecution(context, result): Promise<void>

After execution completes

Parameters

NameType
contextIPluginExecutionContext
resultIPluginExecutionResult

Returns

Promise<void>

Overrides

AbstractPlugin.afterExecution

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:330


beforeConversation

beforeConversation(context): Promise<void>

Before conversation starts

Parameters

NameType
contextIPluginExecutionContext

Returns

Promise<void>

Overrides

AbstractPlugin.beforeConversation

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:347


afterConversation

afterConversation(context, result): Promise<void>

After conversation completes

Parameters

NameType
contextIPluginExecutionContext
resultIPluginExecutionResult

Returns

Promise<void>

Overrides

AbstractPlugin.afterConversation

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:366


beforeToolExecution

beforeToolExecution(context, toolData): Promise<void>

Before tool execution - emits tool.beforeExecute event

Parameters

NameType
contextIPluginExecutionContext
toolDataIToolExecutionContext

Returns

Promise<void>

Overrides

AbstractPlugin.beforeToolExecution

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:387


afterToolExecution

afterToolExecution(context, toolResults): Promise<void>

After tool execution - emits tool.success or tool.error events

Parameters

NameType
contextIPluginExecutionContext
toolResultsIPluginExecutionResult

Returns

Promise<void>

Overrides

AbstractPlugin.afterToolExecution

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:410


onError

onError(error, context?): Promise<void>

On error

REASON: Error context structure varies by execution phase and error type, needs flexible handling ALTERNATIVES_CONSIDERED:

  1. Strict error context interface (breaks error handling flexibility)
  2. Union types (insufficient for dynamic error contexts)
  3. Generic constraints (too complex for error handling)
  4. Interface definitions (too rigid for varied error contexts)
  5. Type assertions (decreases type safety) TODO: Consider standardized error context interface

Parameters

NameType
errorError
context?IPluginErrorContext

Returns

Promise<void>

Overrides

AbstractPlugin.onError

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:458


on

on(eventType, listener, options?): string

Register event listener

Parameters

NameType
eventTypeEventType
listenerEventListener
options?Object
options.once?boolean
options.filter?(event: EventData) => boolean

Returns

string

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:473


once

once(eventType, listener, filter?): string

Register one-time event listener

Parameters

NameType
eventTypeEventType
listenerEventListener
filter?(event: EventData) => boolean

Returns

string

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:513


off

off(eventType, handlerIdOrListener): boolean

Remove event listener

Parameters

NameType
eventTypeEventType
handlerIdOrListenerstring | EventListener

Returns

boolean

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:523


emit

emit(eventType, eventData?): Promise<void>

Emit an event

Parameters

NameType
eventTypeEventType
eventDataPartial<EventData>

Returns

Promise<void>

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:550


flushBuffer

flushBuffer(): Promise<void>

Flush buffered events

Returns

Promise<void>

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:664


getStats

getStats(): EventEmitterPluginStats

Get event emitter statistics

Returns

EventEmitterPluginStats

Overrides

AbstractPlugin.getStats

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:682


clearAllListeners

clearAllListeners(): void

Clear all listeners

Returns

void

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:706


destroy

destroy(): Promise<void>

Cleanup on plugin destruction

Returns

Promise<void>

Defined in

packages/agents/src/plugins/event-emitter-plugin.ts:714

Released under the MIT License.