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.

1import { plugins } from '@signalwire/sdk/livewire';
2
3const stt = new plugins.DeepgramSTT({ model: 'nova-2' });
4// 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.

1import { plugins } from '@signalwire/sdk/livewire';
2
3const 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.

1import { plugins } from '@signalwire/sdk/livewire';
2
3const tts = new plugins.CartesiaTTS({ voice: 'some-voice-id' });
4// 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.

1import { plugins } from '@signalwire/sdk/livewire';
2
3const tts = new plugins.ElevenLabsTTS({ voiceId: 'some-voice-id' });
4// 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.

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

load

1static 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.

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

inference.STT

Stub for livekit.agents.inference.STT.

1import { inference } from '@signalwire/sdk/livewire';
2
3const 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.

1import { inference, AgentSession } from '@signalwire/sdk/livewire';
2
3const llm = new inference.LLM('gpt-4o');
4const 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.

1import { inference } from '@signalwire/sdk/livewire';
2
3const 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.