Plugins

View as MarkdownOpen in Claude

LiveWire provides stub classes under the plugins and inference namespaces that mirror popular livekit-agents plugin constructors so that existing code compiles unchanged. On SignalWire, the platform handles all STT, TTS, LLM, and VAD infrastructure automatically. These classes are no-ops that log an informational message once on first instantiation.

You do not need to install Deepgram, Cartesia, ElevenLabs, Silero, or any other provider SDK. SignalWire manages the entire AI pipeline in its control plane. These stubs exist solely so that imports and constructor calls from existing livekit-agents code do not raise errors.

STT Plugins

plugins.DeepgramSTT

Stub for the LiveKit Deepgram STT plugin.

import { plugins } from '@signalwire/sdk/livewire';
const stt = new plugins.DeepgramSTT({ model: 'nova-2' });
// No-op: SignalWire handles speech recognition automatically

Accepts arbitrary constructor arguments for API compatibility. All are ignored.


LLM Plugins

plugins.OpenAILLM

Stub for the LiveKit OpenAI LLM plugin. The constructor accepts arbitrary options for API compatibility.

import { plugins } from '@signalwire/sdk/livewire';
const llm = new plugins.OpenAILLM({ model: 'gpt-4o' });

All constructor arguments are accepted for API compatibility. To set the LLM model on the SignalWire agent, pass the model string to the AgentSession constructor’s llm option instead.


TTS Plugins

plugins.CartesiaTTS

Stub for the LiveKit Cartesia TTS plugin.

import { plugins } from '@signalwire/sdk/livewire';
const tts = new plugins.CartesiaTTS({ voice: 'some-voice-id' });
// No-op: SignalWire handles text-to-speech automatically

Accepts arbitrary constructor arguments for API compatibility. All are ignored.


plugins.ElevenLabsTTS

Stub for the LiveKit ElevenLabs TTS plugin.

import { plugins } from '@signalwire/sdk/livewire';
const tts = new plugins.ElevenLabsTTS({ voiceId: 'some-voice-id' });
// No-op: SignalWire handles text-to-speech automatically

Accepts arbitrary constructor arguments for API compatibility. All are ignored.


VAD Plugins

plugins.SileroVAD

Stub for the LiveKit Silero VAD plugin.

import { plugins } from '@signalwire/sdk/livewire';
const vad = plugins.SileroVAD.load();
// No-op: SignalWire handles voice activity detection automatically

load

static load(): SileroVAD

Static factory method that mirrors SileroVAD.load() from the LiveKit SDK. Returns a new SileroVAD instance. Logs an informational no-op message on first call.


Inference Stubs

The inference namespace mirrors the livekit.agents.inference module. These classes are available as named exports from the inference namespace.

import { inference } from '@signalwire/sdk/livewire';
const stt = new inference.STT('deepgram/nova-2');
const llm = new inference.LLM('gpt-4o');
const tts = new inference.TTS('cartesia/sonic');

inference.STT

Stub for livekit.agents.inference.STT.

import { inference } from '@signalwire/sdk/livewire';
const stt = new inference.STT('deepgram/nova-2');
No-op. SignalWire’s control plane handles speech recognition automatically.
model
stringRequired

Model identifier. Accepted for API compatibility.

Accepts an optional second argument for additional options. All are ignored.


inference.LLM

Stub for livekit.agents.inference.LLM. This class is a no-op — the constructor accepts but does not store its arguments. To set the LLM model on the SignalWire agent, pass a plain string (e.g., 'gpt-4o') to AgentSession({ llm }) instead of an inference.LLM instance.

import { inference, AgentSession } from '@signalwire/sdk/livewire';
const llm = new inference.LLM('gpt-4o');
const session = new AgentSession({ llm });
model
stringRequired

Model identifier. A provider prefix (e.g., "openai/") is stripped automatically by the session when building the underlying SignalWire agent.

Accepts an optional second argument for additional options. All are ignored.


inference.TTS

Stub for livekit.agents.inference.TTS.

import { inference } from '@signalwire/sdk/livewire';
const tts = new inference.TTS('cartesia/sonic');
No-op. SignalWire’s control plane handles text-to-speech automatically.
model
stringRequired

Model identifier. Accepted for API compatibility.

Accepts an optional second argument for additional options. All are ignored.