For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Log inSign up
Support
GuidesReference
GuidesReference
    • Core
      • Overview
    • Agents
      • Overview
      • AgentBase
      • AgentServer
      • Configuration
      • ContextBuilder
      • DataMap
      • FunctionResult
      • Helper Functions & Utilities
      • LiveWire
        • Agent
        • AgentSession
        • Infrastructure
        • Plugins
        • runApp
        • RunContext
        • Signals
        • tool / FunctionTool
      • PomBuilder
      • Prefabs
      • SkillBase
      • SkillManager
      • SkillRegistry
      • Skills
      • SwaigFunction
      • SwmlBuilder
      • SWMLService
    • RELAY
      • Overview
      • Actions
      • Call
      • Constants
      • Events
      • Message
      • RelayClient
      • RelayError
    • REST Client
      • Overview
      • Addresses
      • Calling
      • ChatResource
      • Compat
      • Datasphere
      • Fabric
      • ImportedNumbersResource
      • Logs
      • LookupResource
      • MFA
      • Number Groups
      • Phone Numbers
      • Project
      • PubSubResource
      • Queues
      • Recordings
      • Registry
      • RestClient
      • RestError
      • Short Codes
      • SIP Profile
      • Verified Callers
      • Video
LogoLogoSignalWire Docs
Log inSign up
Support
On this page
  • Quick Start
  • Namespace Aliases
  • Learn More
Agents

LiveWire

LiveKit-compatible agents powered by SignalWire infrastructure

|View as Markdown|Open in Claude|
Was this page helpful?
Edit this page
Previous

Agent

Next
Built with

LiveWire is a compatibility layer that lets developers familiar with livekit-agents use the same class and function names while running on SignalWire infrastructure. Change your import path and your existing code runs on SignalWire with no other modifications.

1// Before (livekit-agents)
2import { Agent, AgentSession } from '@livekit/agents';
3
4// After (SignalWire LiveWire)
5import { Agent, AgentSession } from '@signalwire/sdk/livewire';

SignalWire’s control plane handles STT, TTS, VAD, and turn detection automatically. Pipeline plugin parameters (stt, tts, vad, turnDetection) are accepted for API compatibility but are no-ops. LiveWire logs an informational message the first time each no-op parameter is used.

Quick Start

1import {
2 Agent, AgentSession, JobContext,
3 tool, defineAgent, runApp,
4} from '@signalwire/sdk/livewire';
5
6const lookupOrder = tool({
7 description: 'Look up the status of a customer order.',
8 parameters: { orderId: { type: 'string' } },
9 execute: (params) => {
10 return `Order ${params.orderId} shipped yesterday.`;
11 },
12});
13
14const agentDef = defineAgent({
15 entry: async (ctx: JobContext) => {
16 const agent = new Agent({
17 instructions: 'You are a helpful customer support agent.',
18 tools: { lookupOrder },
19 });
20 const session = new AgentSession();
21 await session.start({ agent });
22 session.generateReply({ instructions: 'Greet the user.' });
23 },
24});
25
26runApp(agentDef);

Namespace Aliases

LiveWire provides namespace objects that mirror common livekit-agents import paths:

AliasContentsMirrors
voiceAgent, AgentSessionlivekit.agents.voice
llmtool, handoff, ToolError, ChatContextlivekit.agents.llm
clirunApplivekit.agents.cli
inferenceSTT, LLM, TTSlivekit.agents.inference
1import { voice, inference, cli } from '@signalwire/sdk/livewire';
2
3const agent = new voice.Agent({ instructions: 'Hello' });
4const session = new voice.AgentSession({
5 llm: new inference.LLM('gpt-4o'),
6});

Learn More

Agent

LiveKit-compatible agent class. Holds instructions, tools, and user data.

AgentSession

Session orchestrator that binds an Agent to the SignalWire platform.

RunContext

Context object available inside tool handler functions.

tool / FunctionTool

Factory function for creating agent tools with typed parameters.

runApp

Main entry point that prints the banner, runs setup, and starts the agent.

Infrastructure

JobContext, JobProcess, and Room stubs for connection lifecycle.

Signals

StopResponse, ToolError, AgentHandoff, and ChatContext.

Plugins

No-op plugin stubs: DeepgramSTT, OpenAILLM, CartesiaTTS, ElevenLabsTTS, SileroVAD, and inference classes.