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

BasePlugin.constructor

Defined in

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

Properties

enabled

enabled: boolean = true

Plugin enabled state

Inherited from

BasePlugin.enabled

Defined in

packages/agents/src/abstracts/base-plugin.ts:297


category

category: PluginCategory = PluginCategory.CUSTOM

Plugin category for classification

Inherited from

BasePlugin.category

Defined in

packages/agents/src/abstracts/base-plugin.ts:300


priority

priority: number = PluginPriority.NORMAL

Plugin priority for execution order

Inherited from

BasePlugin.priority

Defined in

packages/agents/src/abstracts/base-plugin.ts:303


name

name: string = 'EventEmitterPlugin'

Plugin name

Overrides

BasePlugin.name

Defined in

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


version

version: string = '1.0.0'

Plugin version

Overrides

BasePlugin.version

Defined in

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

Methods

initialize

initialize(options?): Promise<void>

Initialize the plugin with type-safe options

Parameters

NameType
options?EventEmitterPluginOptions

Returns

Promise<void>

Inherited from

BasePlugin.initialize

Defined in

packages/agents/src/abstracts/base-plugin.ts:328


subscribeToModuleEvents

subscribeToModuleEvents(eventEmitter): Promise<void>

Subscribe to module events through EventEmitter

Parameters

NameType
eventEmitterEventEmitterPlugin

Returns

Promise<void>

Inherited from

BasePlugin.subscribeToModuleEvents

Defined in

packages/agents/src/abstracts/base-plugin.ts:356


unsubscribeFromModuleEvents

unsubscribeFromModuleEvents(eventEmitter): Promise<void>

Unsubscribe from module events

Parameters

NameType
eventEmitterEventEmitterPlugin

Returns

Promise<void>

Inherited from

BasePlugin.unsubscribeFromModuleEvents

Defined in

packages/agents/src/abstracts/base-plugin.ts:415


dispose

dispose(): Promise<void>

Cleanup plugin resources

Returns

Promise<void>

Inherited from

BasePlugin.dispose

Defined in

packages/agents/src/abstracts/base-plugin.ts:430


enable

enable(): void

Enable the plugin

Returns

void

Inherited from

BasePlugin.enable

Defined in

packages/agents/src/abstracts/base-plugin.ts:442


disable

disable(): void

Disable the plugin

Returns

void

Inherited from

BasePlugin.disable

Defined in

packages/agents/src/abstracts/base-plugin.ts:449


isEnabled

isEnabled(): boolean

Check if plugin is enabled

Returns

boolean

Inherited from

BasePlugin.isEnabled

Defined in

packages/agents/src/abstracts/base-plugin.ts:456


getConfig

getConfig(): PluginConfig

Get plugin configuration

Returns

PluginConfig

Inherited from

BasePlugin.getConfig

Defined in

packages/agents/src/abstracts/base-plugin.ts:463


updateConfig

updateConfig(_config): void

Update plugin configuration

Parameters

NameType
_configPluginConfig

Returns

void

Inherited from

BasePlugin.updateConfig

Defined in

packages/agents/src/abstracts/base-plugin.ts:470


getData

getData(): PluginData

Get plugin data - enhanced with classification information

Returns

PluginData

Inherited from

BasePlugin.getData

Defined in

packages/agents/src/abstracts/base-plugin.ts:477


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

BasePlugin.clearData

Defined in

packages/agents/src/abstracts/base-plugin.ts:497


getStatus

getStatus(): Object

Get plugin status - enhanced with classification information

Returns

Object

NameType
namestring
versionstring
enabledboolean
initializedboolean
categoryPluginCategory
prioritynumber
subscribedEventsCountnumber
hasEventEmitterboolean

Inherited from

BasePlugin.getStatus

Defined in

packages/agents/src/abstracts/base-plugin.ts:502


beforeRun

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

Called before agent run

Parameters

NameType
inputstring
options?RunOptions

Returns

Promise<void>

Inherited from

BasePlugin.beforeRun

Defined in

packages/agents/src/abstracts/base-plugin.ts:556


afterRun

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

Called after agent run

Parameters

NameType
inputstring
responsestring
options?RunOptions

Returns

Promise<void>

Inherited from

BasePlugin.afterRun

Defined in

packages/agents/src/abstracts/base-plugin.ts:557


beforeToolCall

beforeToolCall(toolName, parameters): Promise<void>

Called before tool execution

Parameters

NameType
toolNamestring
parametersToolParameters

Returns

Promise<void>

Inherited from

BasePlugin.beforeToolCall

Defined in

packages/agents/src/abstracts/base-plugin.ts:562


afterToolCall

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

Called after tool execution

Parameters

NameType
toolNamestring
parametersToolParameters
resultToolExecutionResult

Returns

Promise<void>

Inherited from

BasePlugin.afterToolCall

Defined in

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


beforeProviderCall

beforeProviderCall(messages): Promise<void>

Called before AI provider call

Parameters

NameType
messagesUniversalMessage[]

Returns

Promise<void>

Inherited from

BasePlugin.beforeProviderCall

Defined in

packages/agents/src/abstracts/base-plugin.ts:566


afterProviderCall

afterProviderCall(messages, response): Promise<void>

Called after AI provider call

Parameters

NameType
messagesUniversalMessage[]
responseUniversalMessage

Returns

Promise<void>

Inherited from

BasePlugin.afterProviderCall

Defined in

packages/agents/src/abstracts/base-plugin.ts:567


onStreamingChunk

onStreamingChunk(chunk): Promise<void>

Called on streaming chunk

Parameters

NameType
chunkUniversalMessage

Returns

Promise<void>

Inherited from

BasePlugin.onStreamingChunk

Defined in

packages/agents/src/abstracts/base-plugin.ts:568


onMessageAdded

onMessageAdded(message): Promise<void>

Called on message added to history

Parameters

NameType
messageMessage

Returns

Promise<void>

Inherited from

BasePlugin.onMessageAdded

Defined in

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


onModuleEvent

onModuleEvent(eventType, eventData): Promise<void>

Called when module events are received

Parameters

NameType
eventTypeEventType
eventDataEventData

Returns

Promise<void>

Inherited from

BasePlugin.onModuleEvent

Defined in

packages/agents/src/abstracts/base-plugin.ts:571


beforeExecution

beforeExecution(context): Promise<void>

Before execution starts

Parameters

NameType
contextBaseExecutionContext

Returns

Promise<void>

Overrides

BasePlugin.beforeExecution

Defined in

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


afterExecution

afterExecution(context, result): Promise<void>

After execution completes

Parameters

NameType
contextBaseExecutionContext
resultBaseExecutionResult

Returns

Promise<void>

Overrides

BasePlugin.afterExecution

Defined in

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


beforeConversation

beforeConversation(context): Promise<void>

Before conversation starts

Parameters

NameType
contextBaseExecutionContext

Returns

Promise<void>

Overrides

BasePlugin.beforeConversation

Defined in

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


afterConversation

afterConversation(context, result): Promise<void>

After conversation completes

Parameters

NameType
contextBaseExecutionContext
resultBaseExecutionResult

Returns

Promise<void>

Overrides

BasePlugin.afterConversation

Defined in

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


beforeToolExecution

beforeToolExecution(context, toolData): Promise<void>

Before tool execution

REASON: Tool data structure varies by provider and tool type, needs flexible handling for event processing ALTERNATIVES_CONSIDERED:

  1. Strict tool interfaces (breaks provider compatibility)
  2. Union types (insufficient for dynamic tool data)
  3. Generic constraints (too complex for event handling)
  4. Interface definitions (too rigid for varied tool structures)
  5. Type assertions (decreases type safety) TODO: Consider standardized tool data interface across providers

Parameters

NameType
contextBaseExecutionContext
toolDataToolExecutionContext

Returns

Promise<void>

Overrides

BasePlugin.beforeToolExecution

Defined in

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


afterToolExecution

afterToolExecution(context, toolResults): Promise<void>

After tool execution

REASON: Tool results structure varies by provider and tool type, needs flexible handling for event processing ALTERNATIVES_CONSIDERED:

  1. Strict result interfaces (breaks provider compatibility)
  2. Union types (insufficient for dynamic result data)
  3. Generic constraints (too complex for event handling)
  4. Interface definitions (too rigid for varied result structures)
  5. Type assertions (decreases type safety) TODO: Consider standardized tool result interface across providers

Parameters

NameType
contextBaseExecutionContext
toolResultsBaseExecutionResult

Returns

Promise<void>

Overrides

BasePlugin.afterToolExecution

Defined in

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


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?ErrorContext

Returns

Promise<void>

Overrides

BasePlugin.onError

Defined in

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


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:399


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:439


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:449


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:476


flushBuffer

flushBuffer(): Promise<void>

Flush buffered events

Returns

Promise<void>

Defined in

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


getStats

getStats(): EventEmitterPluginStats

Get event emitter statistics

Returns

EventEmitterPluginStats

Overrides

BasePlugin.getStats

Defined in

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


clearAllListeners

clearAllListeners(): void

Clear all listeners

Returns

void

Defined in

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


destroy

destroy(): Promise<void>

Cleanup on plugin destruction

Returns

Promise<void>

Defined in

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

Released under the MIT License.