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). |
|
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. |
|
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. |
Click to show internal directories.
Click to hide internal directories.