syntax = "proto3"; package messages; option go_package = "git.daviestechlabs.io/daviestechlabs/handler-base/messages/proto"; // ── Pipeline Bridge ───────────────────────────────────────────────────────── message PipelineTrigger { string request_id = 1; string pipeline = 2; map parameters = 3; } message PipelineStatus { string request_id = 1; string status = 2; string run_id = 3; string engine = 4; string pipeline = 5; string submitted_at = 6; string error = 7; repeated string available_pipelines = 8; } // ── Chat Handler ──────────────────────────────────────────────────────────── message ChatRequest { string request_id = 1; string user_id = 2; string message = 3; string query = 4; bool premium = 5; bool enable_rag = 6; bool enable_reranker = 7; bool enable_streaming = 8; int32 top_k = 9; string collection = 10; bool enable_tts = 11; string system_prompt = 12; string response_subject = 13; } message ChatResponse { string user_id = 1; string response = 2; string response_text = 3; bool used_rag = 4; repeated string rag_sources = 5; bool success = 6; bytes audio = 7; string error = 8; } message ChatStreamChunk { string request_id = 1; string type = 2; string content = 3; bool done = 4; int64 timestamp = 5; } // ── Voice Assistant ───────────────────────────────────────────────────────── message VoiceRequest { string request_id = 1; bytes audio = 2; string language = 3; string collection = 4; } message VoiceResponse { string request_id = 1; string response = 2; bytes audio = 3; string transcription = 4; repeated DocumentSource sources = 5; string error = 6; } message DocumentSource { string text = 1; double score = 2; } // ── TTS Module ────────────────────────────────────────────────────────────── message TTSRequest { string text = 1; string speaker = 2; string language = 3; string speaker_wav_b64 = 4; bool stream = 5; } message TTSAudioChunk { string session_id = 1; int32 chunk_index = 2; int32 total_chunks = 3; bytes audio = 4; bool is_last = 5; int64 timestamp = 6; int32 sample_rate = 7; } message TTSFullResponse { string session_id = 1; bytes audio = 2; int64 timestamp = 3; int32 sample_rate = 4; } message TTSStatus { string session_id = 1; string status = 2; string message = 3; int64 timestamp = 4; } message TTSVoiceInfo { string name = 1; string language = 2; string model_type = 3; string created_at = 4; } message TTSVoiceListResponse { string default_speaker = 1; repeated TTSVoiceInfo custom_voices = 2; int64 last_refresh = 3; int64 timestamp = 4; } message TTSVoiceRefreshResponse { int32 count = 1; repeated TTSVoiceInfo custom_voices = 2; int64 timestamp = 3; } // ── STT Module ────────────────────────────────────────────────────────────── message STTStreamMessage { string type = 1; bytes audio = 2; string state = 3; string speaker_id = 4; } message STTTranscription { string session_id = 1; string transcript = 2; int32 sequence = 3; bool is_partial = 4; bool is_final = 5; int64 timestamp = 6; string speaker_id = 7; bool has_voice_activity = 8; string state = 9; } message STTInterrupt { string session_id = 1; string type = 2; int64 timestamp = 3; string speaker_id = 4; } // ── Common ────────────────────────────────────────────────────────────────── message ErrorResponse { bool error = 1; string message = 2; string type = 3; }