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

import { AgentBase } from '@signalwire/sdk';
class DebugAgent extends AgentBase {
constructor() {
super({ name: 'debug-agent', route: '/debug' });
this.setPromptText('You are a helpful assistant.');
this.enableDebugEvents(1);
}
override async onDebugEvent(
event: Record<string, unknown>,
): Promise<void> {
const label = event.label as string;
if (label === 'llm_error') {
console.log('LLM error:', event);
} else if (label === 'barge') {
console.log(`Barge detected: ${event.barge_elapsed_ms}ms`);
}
}
}
const agent = new DebugAgent();
await agent.serve();