from line import register_observability_event
from pydantic import BaseModel
# Define your custom event
class LeadCaptured(BaseModel):
customer_name: str
interest_level: str
contact_method: str
async def handle_new_call(
system: VoiceAgentSystem, call_request: CallRequest
):
# Set up your agent.
chat_node = ChatNode()
bridge = Bridge(chat_node)
system.with_speaking_node(chat_node, bridge)
# Register event type for tracking.
register_observability_event(
system.user_bridge, system.harness, LeadCaptured
)
# Your agent can now yield LeadCaptured events.
bridge.on(UserStoppedSpeaking).stream(
chat_node.generate
).broadcast()