pkg/

directory
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2026 License: Apache-2.0

Directories

Path Synopsis
adapters
Package api provides shared REST API response envelope and error types.
Package api provides shared REST API response envelope and error types.
Package audio provides A-law (G.711 PCMA) encode/decode for 16-bit mono PCM.
Package audio provides A-law (G.711 PCMA) encode/decode for 16-bit mono PCM.
turn
Package turn provides end-of-turn detection for audio conversations (base turn analyzer + silence-based smart turn).
Package turn provides end-of-turn detection for audio conversations (base turn analyzer + silence-based smart turn).
vad
Package config handles the application configuration, including environment variables and JSON files.
Package config handles the application configuration, including environment variables and JSON files.
Package evals provides a Go-native eval runner for voice pipeline scenarios.
Package evals provides a Go-native eval runner for voice pipeline scenarios.
extensions
ivr
Package ivr provides Interactive Voice Response (IVR) navigation components for automated IVR phone system navigation using LLM-based decision making and DTMF.
Package ivr provides Interactive Voice Response (IVR) navigation components for automated IVR phone system navigation using LLM-based decision making and DTMF.
voicemail
Package voicemail provides ClassificationProcessor for voicemail vs conversation detection.
Package voicemail provides ClassificationProcessor for voicemail vs conversation detection.
Package frames defines DTMF and IVR-related frame types.
Package frames defines DTMF and IVR-related frame types.
proto/wire
Package wire provides frame wire formats.
Package wire provides frame wire formats.
serialize
Package serialize provides frame serialization interfaces and implementations.
Package serialize provides frame serialization interfaces and implementations.
serialize/exotel
Package exotel provides Exotel Media Streams WebSocket protocol serializer.
Package exotel provides Exotel Media Streams WebSocket protocol serializer.
serialize/genesys
Package genesys provides Genesys AudioHook WebSocket protocol serializer.
Package genesys provides Genesys AudioHook WebSocket protocol serializer.
serialize/plivo
Package plivo provides Plivo Audio Streaming WebSocket protocol serializer.
Package plivo provides Plivo Audio Streaming WebSocket protocol serializer.
serialize/telnyx
Package telnyx provides Telnyx WebSocket protocol serializer.
Package telnyx provides Telnyx WebSocket protocol serializer.
serialize/twilio
Package twilio provides Twilio Media Streams WebSocket protocol serializer.
Package twilio provides Twilio Media Streams WebSocket protocol serializer.
serialize/vonage
Package vonage provides Vonage Audio Connector WebSocket serializer.
Package vonage provides Vonage Audio Connector WebSocket serializer.
Package logger provides minimal logging for Voxray.
Package logger provides minimal logging for Voxray.
Package mcp: Client connects to an MCP server, lists tools, converts schemas, and can register them with an LLMServiceWithTools.
Package mcp: Client connects to an MCP server, lists tools, converts schemas, and can register them with an LLMServiceWithTools.
Package observers provides optional metrics (latency, token usage) and OpenTelemetry stub.
Package observers provides optional metrics (latency, token usage) and OpenTelemetry stub.
Package pipeline provides ParallelPipeline for concurrent frame processing.
Package pipeline provides ParallelPipeline for concurrent frame processing.
Package processors: AIServiceBase provides a base for AI services with settings, Start/Stop/Cancel lifecycle, and optional metrics sync (mirrors upstream ai_service.py).
Package processors: AIServiceBase provides a base for AI services with settings, Start/Stop/Cancel lifecycle, and optional metrics sync (mirrors upstream ai_service.py).
aggregator
Package aggregator provides a processor that collects text frames and emits a single aggregated frame (e.g.
Package aggregator provides a processor that collects text frames and emits a single aggregated frame (e.g.
aggregators/dtmf
Package dtmf provides a DTMF aggregator that accumulates InputDTMFFrame digits and emits TranscriptionFrame on timeout, termination digit (#), or EndFrame/CancelFrame.
Package dtmf provides a DTMF aggregator that accumulates InputDTMFFrame digits and emits TranscriptionFrame on timeout, termination digit (#), or EndFrame/CancelFrame.
aggregators/gated
Package gated provides a gated aggregator that buffers frames when the gate is closed and releases them when the gate opens (custom open/close predicates).
Package gated provides a gated aggregator that buffers frames when the gate is closed and releases them when the gate opens (custom open/close predicates).
aggregators/gatedcontext
Package gatedcontext provides a processor that holds LLMContextFrame until a notifier signals release.
Package gatedcontext provides a processor that holds LLMContextFrame until a notifier signals release.
aggregators/llmcontextsummarizer
Package llmcontextsummarizer provides a processor that monitors LLM context size and emits LLMContextSummaryRequestFrame when thresholds are exceeded; applies results from LLMContextSummaryResultFrame.
Package llmcontextsummarizer provides a processor that monitors LLM context size and emits LLMContextSummaryRequestFrame when thresholds are exceeded; applies results from LLMContextSummaryResultFrame.
aggregators/llmfullresponse
Package llmfullresponse provides a processor that aggregates LLM text between LLMFullResponseStartFrame and LLMFullResponseEndFrame and invokes a callback on completion or interruption.
Package llmfullresponse provides a processor that aggregates LLM text between LLMFullResponseStartFrame and LLMFullResponseEndFrame and invokes a callback on completion or interruption.
aggregators/llmtext
Package llmtext provides a processor that converts LLMTextFrame to AggregatedTextFrame using a configurable text aggregator (e.g.
Package llmtext provides a processor that converts LLMTextFrame to AggregatedTextFrame using a configurable text aggregator (e.g.
aggregators/userresponse
Package userresponse provides a processor that aggregates TranscriptionFrame into a single TextFrame when the user turn ends (e.g.
Package userresponse provides a processor that aggregates TranscriptionFrame into a single TextFrame when the user turn ends (e.g.
audio
Package audio provides audio processors for the pipeline: VAD (voice activity detection) and an audio buffer processor that merges user and bot audio with optional turn-based and buffered callbacks.
Package audio provides audio processors for the pipeline: VAD (voice activity detection) and an audio buffer processor that merges user and bot audio with optional turn-based and buffered callbacks.
filters
Package filters provides frame-filtering processors for the pipeline, ported from upstream processors/filters: frame_filter, function_filter, identity_filter, null_filter, stt_mute_filter, wake_check_filter, wake_notifier_filter.
Package filters provides frame-filtering processors for the pipeline, ported from upstream processors/filters: frame_filter, function_filter, identity_filter, null_filter, stt_mute_filter, wake_check_filter, wake_notifier_filter.
frameworks
Package frameworks provides processor integrations for external runtimes and the RTVI protocol, ported from upstream processors/frameworks.
Package frameworks provides processor integrations for external runtimes and the RTVI protocol, ported from upstream processors/frameworks.
frameworks/rtvi
Package rtvi implements the RTVI (Real-Time Voice Interface) protocol processor and message types.
Package rtvi implements the RTVI (Real-Time Voice Interface) protocol processor and message types.
voice
Package voice provides processors that wire STT, LLM, and TTS into a pipeline.
Package voice provides processors that wire STT, LLM, and TTS into a pipeline.
Package realtime provides realtime session implementations (OpenAI Realtime API and shim).
Package realtime provides realtime session implementations (OpenAI Realtime API and shim).
Package runner provides Redis-backed session store for horizontal scaling.
Package runner provides Redis-backed session store for horizontal scaling.
daily
Package daily provides Daily.co room and meeting token creation via the REST API (runner Daily integration).
Package daily provides Daily.co room and meeting token creation via the REST API (runner Daily integration).
livekit
Package livekit provides LiveKit room URL and agent token configuration from environment (runner Livekit integration).
Package livekit provides LiveKit room URL and agent token configuration from environment (runner Livekit integration).
Package server provides transport servers (e.g.
Package server provides transport servers (e.g.
Package services defines interfaces and implementations for LLM, STT, and TTS.
Package services defines interfaces and implementations for LLM, STT, and TTS.
aws
camb
Package camb provides Camb AI speech-to-text.
Package camb provides Camb AI speech-to-text.
cerebras
Package cerebras provides Cerebras inference API-backed LLM via OpenAI-compatible API.
Package cerebras provides Cerebras inference API-backed LLM via OpenAI-compatible API.
deepseek
Package deepseek provides DeepSeek-backed LLM via OpenAI-compatible API.
Package deepseek provides DeepSeek-backed LLM via OpenAI-compatible API.
google
Package google provides Google Gemini LLM, Vertex AI LLM, and Google Cloud STT/TTS services.
Package google provides Google Gemini LLM, Vertex AI LLM, and Google Cloud STT/TTS services.
gradium
Package gradium provides Gradium speech-to-text (WebSocket or REST).
Package gradium provides Gradium speech-to-text (WebSocket or REST).
grok
Package grok provides xAI Grok-backed LLM via OpenAI-compatible API.
Package grok provides xAI Grok-backed LLM via OpenAI-compatible API.
groq
Package groq provides Groq-backed LLM, STT, and TTS via OpenAI-compatible API.
Package groq provides Groq-backed LLM, STT, and TTS via OpenAI-compatible API.
hume
Package hume provides Hume (Hume AI) text-to-speech.
Package hume provides Hume (Hume AI) text-to-speech.
inworld
Package inworld provides Inworld text-to-speech (and LLM).
Package inworld provides Inworld text-to-speech (and LLM).
llmapi
Package llmapi defines LLM and tool-calling interfaces so that implementers (e.g.
Package llmapi defines LLM and tool-calling interfaces so that implementers (e.g.
minimax
Package minimax provides Minimax text-to-speech.
Package minimax provides Minimax text-to-speech.
mistral
Package mistral provides Mistral AI-backed LLM via OpenAI-compatible API.
Package mistral provides Mistral AI-backed LLM via OpenAI-compatible API.
mock
Package mock provides mock STT, LLM, and TTS services for testing and stress testing without calling real APIs.
Package mock provides mock STT, LLM, and TTS services for testing and stress testing without calling real APIs.
neuphonic
Package neuphonic provides Neuphonic text-to-speech (HTTP SSE streaming).
Package neuphonic provides Neuphonic text-to-speech (HTTP SSE streaming).
ollama
Package ollama provides Ollama-backed LLM via OpenAI-compatible API (localhost or custom base URL).
Package ollama provides Ollama-backed LLM via OpenAI-compatible API (localhost or custom base URL).
openai
Package openai provides OpenAI-based LLM (and optionally STT/TTS) for Voxray.
Package openai provides OpenAI-based LLM (and optionally STT/TTS) for Voxray.
openpipe
Package openpipe provides OpenPipe-backed LLM via OpenAI-compatible API.
Package openpipe provides OpenPipe-backed LLM via OpenAI-compatible API.
qwen
Package qwen provides Alibaba DashScope Qwen LLM via OpenAI-compatible API.
Package qwen provides Alibaba DashScope Qwen LLM via OpenAI-compatible API.
sarvam
Package sarvam provides Sarvam AI TTS and STT service implementations.
Package sarvam provides Sarvam AI TTS and STT service implementations.
soniox
Package soniox provides Soniox speech-to-text (WebSocket API used for batch Transcribe).
Package soniox provides Soniox speech-to-text (WebSocket API used for batch Transcribe).
stt
Package stt provides STT service implementations (OpenAI Whisper, Groq Whisper).
Package stt provides STT service implementations (OpenAI Whisper, Groq Whisper).
tts
Package tts provides TTS service implementations (OpenAI TTS, Groq TTS).
Package tts provides TTS service implementations (OpenAI TTS, Groq TTS).
whisper
Package whisper provides Whisper API-backed STT (OpenAI or self-hosted compatible) with configurable base URL.
Package whisper provides Whisper API-backed STT (OpenAI or self-hosted compatible) with configurable base URL.
xtts
Package xtts provides Coqui XTTS text-to-speech via local streaming server.
Package xtts provides Coqui XTTS text-to-speech via local streaming server.
sync
notifier
Package notifier provides a one-shot notifier for gate synchronization.
Package notifier provides a one-shot notifier for gate synchronization.
Package transport defines an optional base for transports with common fields (name, logger).
Package transport defines an optional base for transports with common fields (name, logger).
memory
Package memory provides an in-memory transport for testing and stress testing.
Package memory provides an in-memory transport for testing and stress testing.
smallwebrtc
Package smallwebrtc provides a WebRTC transport for Voxray using pion/webrtc.
Package smallwebrtc provides a WebRTC transport for Voxray using pion/webrtc.
websocket
Package websocket provides WebSocket transport (server and client) for Voxray.
Package websocket provides WebSocket transport (server and client) for Voxray.
whatsapp
Package whatsapp provides WhatsApp Cloud API client and transport for Voxray.
Package whatsapp provides WhatsApp Cloud API client and transport for Voxray.
Package utils provides shared utilities (backoff, etc.).
Package utils provides shared utilities (backoff, etc.).
notifier
Package notifier provides a simple signal that one goroutine can wait on and another can trigger.
Package notifier provides a simple signal that one goroutine can wait on and another can trigger.
patternaggregator
Package patternaggregator provides XML-style tag aggregation for LLM text streams.
Package patternaggregator provides XML-style tag aggregation for LLM text streams.
sentence
Package sentence provides helpers for sentence-boundary detection in aggregated text.
Package sentence provides helpers for sentence-boundary detection in aggregated text.
textaggregator
Package textaggregator provides an interface and implementations for aggregating incremental text (e.g.
Package textaggregator provides an interface and implementations for aggregating incremental text (e.g.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL