@juspay/neurolink
Version:
Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio
137 lines • 4.16 kB
JavaScript
/**
* Voice and Speech Type Definitions for NeuroLink
*
* Core voice types: capabilities, provider config, audio utilities,
* events, and provider abstractions.
*
* STT types are in ./stt.ts
* Realtime types are in ./realtime.ts
* TTS types are in ./tts.ts
*
* @module types/voice
*/
// Re-export all TTS types
export * from "./tts.js";
// Re-export all STT types
export * from "./stt.js";
// Re-export all Realtime types
export * from "./realtime.js";
// ============================================================================
// ERROR CODES
// ============================================================================
/**
* Voice error codes (general)
*/
export const VOICE_ERROR_CODES = {
PROVIDER_NOT_FOUND: "VOICE_PROVIDER_NOT_FOUND",
INVALID_CONFIGURATION: "VOICE_INVALID_CONFIGURATION",
INITIALIZATION_FAILED: "VOICE_INITIALIZATION_FAILED",
OPERATION_CANCELLED: "VOICE_OPERATION_CANCELLED",
// General
PROVIDER_NOT_CONFIGURED: "VOICE_PROVIDER_NOT_CONFIGURED",
PROVIDER_NOT_SUPPORTED: "VOICE_PROVIDER_NOT_SUPPORTED",
FEATURE_NOT_SUPPORTED: "VOICE_FEATURE_NOT_SUPPORTED",
// TTS specific
TTS_EMPTY_TEXT: "VOICE_TTS_EMPTY_TEXT",
TTS_TEXT_TOO_LONG: "VOICE_TTS_TEXT_TOO_LONG",
TTS_SYNTHESIS_FAILED: "VOICE_TTS_SYNTHESIS_FAILED",
// STT specific
STT_EMPTY_AUDIO: "VOICE_STT_EMPTY_AUDIO",
STT_INVALID_FORMAT: "VOICE_STT_INVALID_FORMAT",
STT_TRANSCRIPTION_FAILED: "VOICE_STT_TRANSCRIPTION_FAILED",
// Realtime specific
REALTIME_CONNECTION_FAILED: "VOICE_REALTIME_CONNECTION_FAILED",
REALTIME_SESSION_ERROR: "VOICE_REALTIME_SESSION_ERROR",
// Network
NETWORK_ERROR: "VOICE_NETWORK_ERROR",
TIMEOUT: "VOICE_TIMEOUT",
};
// ============================================================================
// CONSTANTS
// ============================================================================
/**
* Supported audio formats with details
*/
export const AUDIO_FORMAT_DETAILS = {
mp3: {
format: "mp3",
mimeType: "audio/mpeg",
extension: ".mp3",
supportsStreaming: true,
sampleRates: [8000, 16000, 22050, 24000, 44100, 48000],
bitDepths: [16],
},
wav: {
format: "wav",
mimeType: "audio/wav",
extension: ".wav",
supportsStreaming: false,
sampleRates: [8000, 16000, 22050, 24000, 44100, 48000],
bitDepths: [8, 16, 24, 32],
},
ogg: {
format: "ogg",
mimeType: "audio/ogg",
extension: ".ogg",
supportsStreaming: true,
sampleRates: [8000, 16000, 22050, 24000, 44100, 48000],
bitDepths: [16],
},
opus: {
format: "opus",
mimeType: "audio/opus",
extension: ".opus",
supportsStreaming: true,
sampleRates: [8000, 12000, 16000, 24000, 48000],
bitDepths: [16],
},
m4a: {
format: "m4a",
mimeType: "audio/mp4",
extension: ".m4a",
supportsStreaming: false,
sampleRates: [44100, 48000],
bitDepths: [16],
},
flac: {
format: "flac",
mimeType: "audio/flac",
extension: ".flac",
supportsStreaming: false,
sampleRates: [44100, 48000, 96000],
bitDepths: [16, 24],
},
webm: {
format: "webm",
mimeType: "audio/webm",
extension: ".webm",
supportsStreaming: true,
sampleRates: [44100, 48000],
bitDepths: [16],
},
mp4: {
format: "mp4",
mimeType: "audio/mp4",
extension: ".mp4",
supportsStreaming: false,
sampleRates: [44100, 48000],
bitDepths: [16],
},
mpeg: {
format: "mpeg",
mimeType: "audio/mpeg",
extension: ".mpeg",
supportsStreaming: true,
sampleRates: [8000, 16000, 22050, 24000, 44100, 48000],
bitDepths: [16],
},
mpga: {
format: "mpga",
mimeType: "audio/mpeg",
extension: ".mpga",
supportsStreaming: true,
sampleRates: [8000, 16000, 22050, 24000, 44100, 48000],
bitDepths: [16],
},
};
//# sourceMappingURL=voice.js.map