onDebugEvent

View as MarkdownOpen in Claude

Lifecycle hook called when a debug event webhook is received at the /debug_events endpoint. Override this method in a subclass to react to events programmatically.

enableDebugEvents() must be called before events will be delivered.

Parameters

event
Record<string, unknown>Required

The debug event payload, including fields like call_id, label, and event-specific data.

Returns

void | Promise<void>

Example

1import { AgentBase } from '@signalwire/sdk';
2
3class DebugAgent extends AgentBase {
4 constructor() {
5 super({ name: 'debug-agent', route: '/debug' });
6 this.setPromptText('You are a helpful assistant.');
7 this.enableDebugEvents(1);
8 }
9
10 override async onDebugEvent(
11 event: Record<string, unknown>,
12 ): Promise<void> {
13 const label = event.label as string;
14 if (label === 'llm_error') {
15 console.log('LLM error:', event);
16 } else if (label === 'barge') {
17 console.log(`Barge detected: ${event.barge_elapsed_ms}ms`);
18 }
19 }
20}
21
22const agent = new DebugAgent();
23await agent.serve();