agents / Exports / WebhookPlugin
Class: WebhookPlugin
Webhook Plugin using Facade Pattern Provides a clean interface for webhook functionality
Hierarchy
BasePlugin<WebhookPluginOptions,WebhookPluginStats>↳
WebhookPlugin
Table of contents
Constructors
Properties
Methods
- initialize
- subscribeToModuleEvents
- unsubscribeFromModuleEvents
- dispose
- enable
- disable
- isEnabled
- getConfig
- updateConfig
- getData
- clearData
- getStatus
- beforeRun
- afterRun
- beforeExecution
- beforeConversation
- beforeToolCall
- beforeToolExecution
- afterToolCall
- beforeProviderCall
- afterProviderCall
- onStreamingChunk
- onMessageAdded
- onModuleEvent
- afterExecution
- afterConversation
- afterToolExecution
- onError
- sendWebhook
- sendCustomWebhook
- getStats
- clearQueue
- destroy
Constructors
constructor
• new WebhookPlugin(options): WebhookPlugin
Parameters
| Name | Type |
|---|---|
options | WebhookPluginOptions |
Returns
Overrides
Defined in
packages/agents/src/plugins/webhook/webhook-plugin.ts:40
Properties
enabled
• enabled: boolean = true
Plugin enabled state
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:297
category
• category: PluginCategory = PluginCategory.CUSTOM
Plugin category for classification
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:300
priority
• priority: number = PluginPriority.NORMAL
Plugin priority for execution order
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:303
name
• name: string = 'WebhookPlugin'
Plugin name
Overrides
Defined in
packages/agents/src/plugins/webhook/webhook-plugin.ts:29
version
• version: string = '1.0.0'
Plugin version
Overrides
Defined in
packages/agents/src/plugins/webhook/webhook-plugin.ts:30
Methods
initialize
▸ initialize(options?): Promise<void>
Initialize the plugin with type-safe options
Parameters
| Name | Type |
|---|---|
options? | WebhookPluginOptions |
Returns
Promise<void>
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:328
subscribeToModuleEvents
▸ subscribeToModuleEvents(eventEmitter): Promise<void>
Subscribe to module events through EventEmitter
Parameters
| Name | Type |
|---|---|
eventEmitter | EventEmitterPlugin |
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
| Name | Type |
|---|---|
eventEmitter | EventEmitterPlugin |
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
Defined in
packages/agents/src/abstracts/base-plugin.ts:430
enable
▸ enable(): void
Enable the plugin
Returns
void
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:442
disable
▸ disable(): void
Disable the plugin
Returns
void
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:449
isEnabled
▸ isEnabled(): boolean
Check if plugin is enabled
Returns
boolean
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:456
getConfig
▸ getConfig(): PluginConfig
Get plugin configuration
Returns
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:463
updateConfig
▸ updateConfig(_config): void
Update plugin configuration
Parameters
| Name | Type |
|---|---|
_config | PluginConfig |
Returns
void
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:470
getData
▸ getData(): PluginData
Get plugin data - enhanced with classification information
Returns
Inherited from
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
Defined in
packages/agents/src/abstracts/base-plugin.ts:497
getStatus
▸ getStatus(): Object
Get plugin status - enhanced with classification information
Returns
Object
| Name | Type |
|---|---|
name | string |
version | string |
enabled | boolean |
initialized | boolean |
category | PluginCategory |
priority | number |
subscribedEventsCount | number |
hasEventEmitter | boolean |
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:502
beforeRun
▸ beforeRun(input, options?): Promise<void>
Called before agent run
Parameters
| Name | Type |
|---|---|
input | string |
options? | RunOptions |
Returns
Promise<void>
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:556
afterRun
▸ afterRun(input, response, options?): Promise<void>
Called after agent run
Parameters
| Name | Type |
|---|---|
input | string |
response | string |
options? | RunOptions |
Returns
Promise<void>
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:557
beforeExecution
▸ beforeExecution(context): Promise<void>
Called before execution with context
Parameters
| Name | Type |
|---|---|
context | BaseExecutionContext |
Returns
Promise<void>
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:558
beforeConversation
▸ beforeConversation(context): Promise<void>
Called before conversation with context
Parameters
| Name | Type |
|---|---|
context | BaseExecutionContext |
Returns
Promise<void>
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:560
beforeToolCall
▸ beforeToolCall(toolName, parameters): Promise<void>
Called before tool execution
Parameters
| Name | Type |
|---|---|
toolName | string |
parameters | ToolParameters |
Returns
Promise<void>
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:562
beforeToolExecution
▸ beforeToolExecution(context, toolData): Promise<void>
Called before tool execution with context
Parameters
| Name | Type |
|---|---|
context | BaseExecutionContext |
toolData | ToolExecutionContext |
Returns
Promise<void>
Inherited from
BasePlugin.beforeToolExecution
Defined in
packages/agents/src/abstracts/base-plugin.ts:563
afterToolCall
▸ afterToolCall(toolName, parameters, result): Promise<void>
Called after tool execution
Parameters
| Name | Type |
|---|---|
toolName | string |
parameters | ToolParameters |
result | ToolExecutionResult |
Returns
Promise<void>
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:564
beforeProviderCall
▸ beforeProviderCall(messages): Promise<void>
Called before AI provider call
Parameters
| Name | Type |
|---|---|
messages | UniversalMessage[] |
Returns
Promise<void>
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:566
afterProviderCall
▸ afterProviderCall(messages, response): Promise<void>
Called after AI provider call
Parameters
| Name | Type |
|---|---|
messages | UniversalMessage[] |
response | UniversalMessage |
Returns
Promise<void>
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:567
onStreamingChunk
▸ onStreamingChunk(chunk): Promise<void>
Called on streaming chunk
Parameters
| Name | Type |
|---|---|
chunk | UniversalMessage |
Returns
Promise<void>
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:568
onMessageAdded
▸ onMessageAdded(message): Promise<void>
Called on message added to history
Parameters
| Name | Type |
|---|---|
message | Message |
Returns
Promise<void>
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:570
onModuleEvent
▸ onModuleEvent(eventType, eventData): Promise<void>
Called when module events are received
Parameters
| Name | Type |
|---|---|
eventType | EventType |
eventData | EventData |
Returns
Promise<void>
Inherited from
Defined in
packages/agents/src/abstracts/base-plugin.ts:571
afterExecution
▸ afterExecution(context, result): Promise<void>
After execution completes
Parameters
| Name | Type |
|---|---|
context | BaseExecutionContext |
result | BaseExecutionResult |
Returns
Promise<void>
Overrides
Defined in
packages/agents/src/plugins/webhook/webhook-plugin.ts:93
afterConversation
▸ afterConversation(context, result): Promise<void>
After conversation completes
Parameters
| Name | Type |
|---|---|
context | BaseExecutionContext |
result | BaseExecutionResult |
Returns
Promise<void>
Overrides
Defined in
packages/agents/src/plugins/webhook/webhook-plugin.ts:104
afterToolExecution
▸ afterToolExecution(context, toolResults): Promise<void>
After tool execution
REASON: Tool results structure varies by tool type and provider, needs flexible handling for webhook processing ALTERNATIVES_CONSIDERED:
- Strict tool result interfaces (breaks tool compatibility)
- Union types (insufficient for dynamic tool results)
- Generic constraints (too complex for webhook processing)
- Interface definitions (too rigid for varied tool results)
- Type assertions (decreases type safety) TODO: Consider standardized tool result interface across tools
Parameters
| Name | Type |
|---|---|
context | BaseExecutionContext |
toolResults | BaseExecutionResult |
Returns
Promise<void>
Overrides
Defined in
packages/agents/src/plugins/webhook/webhook-plugin.ts:124
onError
▸ onError(error, context?): Promise<void>
On error
Parameters
| Name | Type |
|---|---|
error | Error |
context? | ErrorContext |
Returns
Promise<void>
Overrides
Defined in
packages/agents/src/plugins/webhook/webhook-plugin.ts:145
sendWebhook
▸ sendWebhook(event, data, metadata?): Promise<void>
Send webhook notification
Parameters
| Name | Type |
|---|---|
event | WebhookEventType |
data | WebhookEventData |
metadata? | WebhookMetadata |
Returns
Promise<void>
Defined in
packages/agents/src/plugins/webhook/webhook-plugin.ts:165
sendCustomWebhook
▸ sendCustomWebhook(data, metadata?): Promise<void>
Send custom webhook
Parameters
| Name | Type |
|---|---|
data | WebhookEventData |
metadata? | WebhookMetadata |
Returns
Promise<void>
Defined in
packages/agents/src/plugins/webhook/webhook-plugin.ts:206
getStats
▸ getStats(): WebhookPluginStats
Get webhook plugin statistics
Returns
WebhookPluginStats
Overrides
Defined in
packages/agents/src/plugins/webhook/webhook-plugin.ts:331
clearQueue
▸ clearQueue(): void
Clear webhook queue
Returns
void
Defined in
packages/agents/src/plugins/webhook/webhook-plugin.ts:347
destroy
▸ destroy(): Promise<void>
Cleanup on plugin destruction
Returns
Promise<void>