Some checks failed
CI / Lint (push) Failing after 3m2s
CI / Test (push) Successful in 3m44s
CI / Release (push) Has been skipped
CI / Notify Downstream (chat-handler) (push) Has been skipped
CI / Notify Downstream (pipeline-bridge) (push) Has been skipped
CI / Notify Downstream (stt-module) (push) Has been skipped
CI / Notify Downstream (tts-module) (push) Has been skipped
CI / Notify Downstream (voice-assistant) (push) Has been skipped
CI / Notify (push) Successful in 1s
BREAKING CHANGE: All NATS message serialization now uses Protocol Buffers. - Added proto/messages/v1/messages.proto with 22 message types - Generated Go code at gen/messagespb/ - messages/ package now exports type aliases to proto types - natsutil.Publish/Request/Decode use proto.Marshal/Unmarshal - Removed legacy MessageHandler, OnMessage, wrapMapHandler - TypedMessageHandler now returns (proto.Message, error) - EffectiveQuery is now a free function: messages.EffectiveQuery(req) - Removed msgpack dependency entirely
2012 lines
59 KiB
Go
2012 lines
59 KiB
Go
// Homelab AI service message contracts.
|
|
//
|
|
// This is the single source of truth for all NATS message types.
|
|
// Generated Go code lives in handler-base/gen/messagespb.
|
|
//
|
|
// Naming: field numbers are stable across versions — add new fields,
|
|
// never reuse or renumber existing ones.
|
|
|
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.36.10
|
|
// protoc v6.30.2
|
|
// source: messages/v1/messages.proto
|
|
|
|
package messagespb
|
|
|
|
import (
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
unsafe "unsafe"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
// ErrorResponse is the standard error reply from any handler.
|
|
type ErrorResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Error bool `protobuf:"varint,1,opt,name=error,proto3" json:"error,omitempty"`
|
|
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
|
|
Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ErrorResponse) Reset() {
|
|
*x = ErrorResponse{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ErrorResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ErrorResponse) ProtoMessage() {}
|
|
|
|
func (x *ErrorResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[0]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ErrorResponse.ProtoReflect.Descriptor instead.
|
|
func (*ErrorResponse) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *ErrorResponse) GetError() bool {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ErrorResponse) GetMessage() string {
|
|
if x != nil {
|
|
return x.Message
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ErrorResponse) GetType() string {
|
|
if x != nil {
|
|
return x.Type
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// LoginEvent is published when a user authenticates.
|
|
// Subject: ai.chat.user.{user_id}.login
|
|
type LoginEvent struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
|
|
Nickname string `protobuf:"bytes,3,opt,name=nickname,proto3" json:"nickname,omitempty"`
|
|
Premium bool `protobuf:"varint,4,opt,name=premium,proto3" json:"premium,omitempty"`
|
|
Timestamp int64 `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Unix seconds
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LoginEvent) Reset() {
|
|
*x = LoginEvent{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LoginEvent) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LoginEvent) ProtoMessage() {}
|
|
|
|
func (x *LoginEvent) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[1]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LoginEvent.ProtoReflect.Descriptor instead.
|
|
func (*LoginEvent) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *LoginEvent) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LoginEvent) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LoginEvent) GetNickname() string {
|
|
if x != nil {
|
|
return x.Nickname
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LoginEvent) GetPremium() bool {
|
|
if x != nil {
|
|
return x.Premium
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *LoginEvent) GetTimestamp() int64 {
|
|
if x != nil {
|
|
return x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// GreetingRequest asks the LLM to generate a personalised greeting.
|
|
// Subject: ai.chat.user.{user_id}.greeting.request
|
|
type GreetingRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
|
|
Nickname string `protobuf:"bytes,3,opt,name=nickname,proto3" json:"nickname,omitempty"`
|
|
Premium bool `protobuf:"varint,4,opt,name=premium,proto3" json:"premium,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *GreetingRequest) Reset() {
|
|
*x = GreetingRequest{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *GreetingRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GreetingRequest) ProtoMessage() {}
|
|
|
|
func (x *GreetingRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[2]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GreetingRequest.ProtoReflect.Descriptor instead.
|
|
func (*GreetingRequest) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *GreetingRequest) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GreetingRequest) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GreetingRequest) GetNickname() string {
|
|
if x != nil {
|
|
return x.Nickname
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GreetingRequest) GetPremium() bool {
|
|
if x != nil {
|
|
return x.Premium
|
|
}
|
|
return false
|
|
}
|
|
|
|
// GreetingResponse carries the generated greeting text.
|
|
// Subject: ai.chat.user.{user_id}.greeting.response
|
|
type GreetingResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
Greeting string `protobuf:"bytes,2,opt,name=greeting,proto3" json:"greeting,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *GreetingResponse) Reset() {
|
|
*x = GreetingResponse{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *GreetingResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GreetingResponse) ProtoMessage() {}
|
|
|
|
func (x *GreetingResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[3]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GreetingResponse.ProtoReflect.Descriptor instead.
|
|
func (*GreetingResponse) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *GreetingResponse) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GreetingResponse) GetGreeting() string {
|
|
if x != nil {
|
|
return x.Greeting
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// ChatRequest is an incoming chat message routed via NATS.
|
|
// Subject: ai.chat.user.{user_id}.message
|
|
type ChatRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
|
|
UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
|
|
Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"`
|
|
Query string `protobuf:"bytes,5,opt,name=query,proto3" json:"query,omitempty"` // alternative to message (EffectiveQuery picks first non-empty)
|
|
Premium bool `protobuf:"varint,6,opt,name=premium,proto3" json:"premium,omitempty"`
|
|
EnableRag bool `protobuf:"varint,7,opt,name=enable_rag,json=enableRag,proto3" json:"enable_rag,omitempty"`
|
|
EnableReranker bool `protobuf:"varint,8,opt,name=enable_reranker,json=enableReranker,proto3" json:"enable_reranker,omitempty"`
|
|
EnableStreaming bool `protobuf:"varint,9,opt,name=enable_streaming,json=enableStreaming,proto3" json:"enable_streaming,omitempty"`
|
|
TopK int32 `protobuf:"varint,10,opt,name=top_k,json=topK,proto3" json:"top_k,omitempty"`
|
|
Collection string `protobuf:"bytes,11,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
EnableTts bool `protobuf:"varint,12,opt,name=enable_tts,json=enableTts,proto3" json:"enable_tts,omitempty"`
|
|
SystemPrompt string `protobuf:"bytes,13,opt,name=system_prompt,json=systemPrompt,proto3" json:"system_prompt,omitempty"`
|
|
ResponseSubject string `protobuf:"bytes,14,opt,name=response_subject,json=responseSubject,proto3" json:"response_subject,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ChatRequest) Reset() {
|
|
*x = ChatRequest{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ChatRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ChatRequest) ProtoMessage() {}
|
|
|
|
func (x *ChatRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[4]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ChatRequest.ProtoReflect.Descriptor instead.
|
|
func (*ChatRequest) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *ChatRequest) GetRequestId() string {
|
|
if x != nil {
|
|
return x.RequestId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChatRequest) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChatRequest) GetUsername() string {
|
|
if x != nil {
|
|
return x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChatRequest) GetMessage() string {
|
|
if x != nil {
|
|
return x.Message
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChatRequest) GetQuery() string {
|
|
if x != nil {
|
|
return x.Query
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChatRequest) GetPremium() bool {
|
|
if x != nil {
|
|
return x.Premium
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChatRequest) GetEnableRag() bool {
|
|
if x != nil {
|
|
return x.EnableRag
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChatRequest) GetEnableReranker() bool {
|
|
if x != nil {
|
|
return x.EnableReranker
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChatRequest) GetEnableStreaming() bool {
|
|
if x != nil {
|
|
return x.EnableStreaming
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChatRequest) GetTopK() int32 {
|
|
if x != nil {
|
|
return x.TopK
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ChatRequest) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChatRequest) GetEnableTts() bool {
|
|
if x != nil {
|
|
return x.EnableTts
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChatRequest) GetSystemPrompt() string {
|
|
if x != nil {
|
|
return x.SystemPrompt
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChatRequest) GetResponseSubject() string {
|
|
if x != nil {
|
|
return x.ResponseSubject
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// ChatResponse is the full reply to a ChatRequest.
|
|
// Subject: ai.chat.response.{request_id} (or ChatRequest.response_subject)
|
|
type ChatResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
Response string `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"`
|
|
ResponseText string `protobuf:"bytes,3,opt,name=response_text,json=responseText,proto3" json:"response_text,omitempty"`
|
|
UsedRag bool `protobuf:"varint,4,opt,name=used_rag,json=usedRag,proto3" json:"used_rag,omitempty"`
|
|
RagSources []string `protobuf:"bytes,5,rep,name=rag_sources,json=ragSources,proto3" json:"rag_sources,omitempty"`
|
|
Success bool `protobuf:"varint,6,opt,name=success,proto3" json:"success,omitempty"`
|
|
Audio []byte `protobuf:"bytes,7,opt,name=audio,proto3" json:"audio,omitempty"`
|
|
Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ChatResponse) Reset() {
|
|
*x = ChatResponse{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ChatResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ChatResponse) ProtoMessage() {}
|
|
|
|
func (x *ChatResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[5]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ChatResponse.ProtoReflect.Descriptor instead.
|
|
func (*ChatResponse) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{5}
|
|
}
|
|
|
|
func (x *ChatResponse) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChatResponse) GetResponse() string {
|
|
if x != nil {
|
|
return x.Response
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChatResponse) GetResponseText() string {
|
|
if x != nil {
|
|
return x.ResponseText
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChatResponse) GetUsedRag() bool {
|
|
if x != nil {
|
|
return x.UsedRag
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChatResponse) GetRagSources() []string {
|
|
if x != nil {
|
|
return x.RagSources
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ChatResponse) GetSuccess() bool {
|
|
if x != nil {
|
|
return x.Success
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChatResponse) GetAudio() []byte {
|
|
if x != nil {
|
|
return x.Audio
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ChatResponse) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// ChatStreamChunk is one piece of a streaming LLM response.
|
|
// Subject: ai.chat.response.stream.{request_id}
|
|
type ChatStreamChunk struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
|
|
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // "chunk" | "done"
|
|
Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"`
|
|
Done bool `protobuf:"varint,4,opt,name=done,proto3" json:"done,omitempty"`
|
|
Timestamp int64 `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ChatStreamChunk) Reset() {
|
|
*x = ChatStreamChunk{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ChatStreamChunk) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ChatStreamChunk) ProtoMessage() {}
|
|
|
|
func (x *ChatStreamChunk) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[6]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ChatStreamChunk.ProtoReflect.Descriptor instead.
|
|
func (*ChatStreamChunk) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{6}
|
|
}
|
|
|
|
func (x *ChatStreamChunk) GetRequestId() string {
|
|
if x != nil {
|
|
return x.RequestId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChatStreamChunk) GetType() string {
|
|
if x != nil {
|
|
return x.Type
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChatStreamChunk) GetContent() string {
|
|
if x != nil {
|
|
return x.Content
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChatStreamChunk) GetDone() bool {
|
|
if x != nil {
|
|
return x.Done
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChatStreamChunk) GetTimestamp() int64 {
|
|
if x != nil {
|
|
return x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// VoiceRequest is an incoming voice-to-voice request.
|
|
// Subject: ai.voice.request
|
|
type VoiceRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
|
|
Audio []byte `protobuf:"bytes,2,opt,name=audio,proto3" json:"audio,omitempty"`
|
|
Language string `protobuf:"bytes,3,opt,name=language,proto3" json:"language,omitempty"`
|
|
Collection string `protobuf:"bytes,4,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *VoiceRequest) Reset() {
|
|
*x = VoiceRequest{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *VoiceRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*VoiceRequest) ProtoMessage() {}
|
|
|
|
func (x *VoiceRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[7]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use VoiceRequest.ProtoReflect.Descriptor instead.
|
|
func (*VoiceRequest) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (x *VoiceRequest) GetRequestId() string {
|
|
if x != nil {
|
|
return x.RequestId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *VoiceRequest) GetAudio() []byte {
|
|
if x != nil {
|
|
return x.Audio
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *VoiceRequest) GetLanguage() string {
|
|
if x != nil {
|
|
return x.Language
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *VoiceRequest) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// DocumentSource is a single RAG search-result citation.
|
|
type DocumentSource struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
|
|
Score float64 `protobuf:"fixed64,2,opt,name=score,proto3" json:"score,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *DocumentSource) Reset() {
|
|
*x = DocumentSource{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *DocumentSource) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DocumentSource) ProtoMessage() {}
|
|
|
|
func (x *DocumentSource) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[8]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DocumentSource.ProtoReflect.Descriptor instead.
|
|
func (*DocumentSource) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{8}
|
|
}
|
|
|
|
func (x *DocumentSource) GetText() string {
|
|
if x != nil {
|
|
return x.Text
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *DocumentSource) GetScore() float64 {
|
|
if x != nil {
|
|
return x.Score
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// VoiceResponse is the reply to a VoiceRequest.
|
|
// Subject: ai.voice.response.{request_id}
|
|
type VoiceResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
|
|
Response string `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"`
|
|
Audio []byte `protobuf:"bytes,3,opt,name=audio,proto3" json:"audio,omitempty"`
|
|
Transcription string `protobuf:"bytes,4,opt,name=transcription,proto3" json:"transcription,omitempty"`
|
|
Sources []*DocumentSource `protobuf:"bytes,5,rep,name=sources,proto3" json:"sources,omitempty"`
|
|
Error string `protobuf:"bytes,6,opt,name=error,proto3" json:"error,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *VoiceResponse) Reset() {
|
|
*x = VoiceResponse{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[9]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *VoiceResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*VoiceResponse) ProtoMessage() {}
|
|
|
|
func (x *VoiceResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[9]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use VoiceResponse.ProtoReflect.Descriptor instead.
|
|
func (*VoiceResponse) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{9}
|
|
}
|
|
|
|
func (x *VoiceResponse) GetRequestId() string {
|
|
if x != nil {
|
|
return x.RequestId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *VoiceResponse) GetResponse() string {
|
|
if x != nil {
|
|
return x.Response
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *VoiceResponse) GetAudio() []byte {
|
|
if x != nil {
|
|
return x.Audio
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *VoiceResponse) GetTranscription() string {
|
|
if x != nil {
|
|
return x.Transcription
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *VoiceResponse) GetSources() []*DocumentSource {
|
|
if x != nil {
|
|
return x.Sources
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *VoiceResponse) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// TTSRequest is a text-to-speech synthesis request.
|
|
// Subject: ai.voice.tts.request.{session_id}
|
|
type TTSRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
|
|
Speaker string `protobuf:"bytes,2,opt,name=speaker,proto3" json:"speaker,omitempty"`
|
|
Language string `protobuf:"bytes,3,opt,name=language,proto3" json:"language,omitempty"`
|
|
SpeakerWavB64 string `protobuf:"bytes,4,opt,name=speaker_wav_b64,json=speakerWavB64,proto3" json:"speaker_wav_b64,omitempty"`
|
|
Stream bool `protobuf:"varint,5,opt,name=stream,proto3" json:"stream,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *TTSRequest) Reset() {
|
|
*x = TTSRequest{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[10]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *TTSRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TTSRequest) ProtoMessage() {}
|
|
|
|
func (x *TTSRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[10]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TTSRequest.ProtoReflect.Descriptor instead.
|
|
func (*TTSRequest) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{10}
|
|
}
|
|
|
|
func (x *TTSRequest) GetText() string {
|
|
if x != nil {
|
|
return x.Text
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TTSRequest) GetSpeaker() string {
|
|
if x != nil {
|
|
return x.Speaker
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TTSRequest) GetLanguage() string {
|
|
if x != nil {
|
|
return x.Language
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TTSRequest) GetSpeakerWavB64() string {
|
|
if x != nil {
|
|
return x.SpeakerWavB64
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TTSRequest) GetStream() bool {
|
|
if x != nil {
|
|
return x.Stream
|
|
}
|
|
return false
|
|
}
|
|
|
|
// TTSAudioChunk is a streamed audio chunk from TTS synthesis.
|
|
// Subject: ai.voice.tts.audio.{session_id}
|
|
type TTSAudioChunk struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
|
|
ChunkIndex int32 `protobuf:"varint,2,opt,name=chunk_index,json=chunkIndex,proto3" json:"chunk_index,omitempty"`
|
|
TotalChunks int32 `protobuf:"varint,3,opt,name=total_chunks,json=totalChunks,proto3" json:"total_chunks,omitempty"`
|
|
Audio []byte `protobuf:"bytes,4,opt,name=audio,proto3" json:"audio,omitempty"`
|
|
IsLast bool `protobuf:"varint,5,opt,name=is_last,json=isLast,proto3" json:"is_last,omitempty"`
|
|
Timestamp int64 `protobuf:"varint,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
|
SampleRate int32 `protobuf:"varint,7,opt,name=sample_rate,json=sampleRate,proto3" json:"sample_rate,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *TTSAudioChunk) Reset() {
|
|
*x = TTSAudioChunk{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[11]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *TTSAudioChunk) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TTSAudioChunk) ProtoMessage() {}
|
|
|
|
func (x *TTSAudioChunk) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[11]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TTSAudioChunk.ProtoReflect.Descriptor instead.
|
|
func (*TTSAudioChunk) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{11}
|
|
}
|
|
|
|
func (x *TTSAudioChunk) GetSessionId() string {
|
|
if x != nil {
|
|
return x.SessionId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TTSAudioChunk) GetChunkIndex() int32 {
|
|
if x != nil {
|
|
return x.ChunkIndex
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *TTSAudioChunk) GetTotalChunks() int32 {
|
|
if x != nil {
|
|
return x.TotalChunks
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *TTSAudioChunk) GetAudio() []byte {
|
|
if x != nil {
|
|
return x.Audio
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *TTSAudioChunk) GetIsLast() bool {
|
|
if x != nil {
|
|
return x.IsLast
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *TTSAudioChunk) GetTimestamp() int64 {
|
|
if x != nil {
|
|
return x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *TTSAudioChunk) GetSampleRate() int32 {
|
|
if x != nil {
|
|
return x.SampleRate
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// TTSFullResponse is a non-streamed TTS response (whole audio blob).
|
|
// Subject: ai.voice.tts.audio.{session_id}
|
|
type TTSFullResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
|
|
Audio []byte `protobuf:"bytes,2,opt,name=audio,proto3" json:"audio,omitempty"`
|
|
Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
|
SampleRate int32 `protobuf:"varint,4,opt,name=sample_rate,json=sampleRate,proto3" json:"sample_rate,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *TTSFullResponse) Reset() {
|
|
*x = TTSFullResponse{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[12]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *TTSFullResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TTSFullResponse) ProtoMessage() {}
|
|
|
|
func (x *TTSFullResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[12]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TTSFullResponse.ProtoReflect.Descriptor instead.
|
|
func (*TTSFullResponse) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{12}
|
|
}
|
|
|
|
func (x *TTSFullResponse) GetSessionId() string {
|
|
if x != nil {
|
|
return x.SessionId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TTSFullResponse) GetAudio() []byte {
|
|
if x != nil {
|
|
return x.Audio
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *TTSFullResponse) GetTimestamp() int64 {
|
|
if x != nil {
|
|
return x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *TTSFullResponse) GetSampleRate() int32 {
|
|
if x != nil {
|
|
return x.SampleRate
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// TTSStatus is a TTS processing status update.
|
|
// Subject: ai.voice.tts.status.{session_id}
|
|
type TTSStatus struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
|
|
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
|
|
Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
|
|
Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *TTSStatus) Reset() {
|
|
*x = TTSStatus{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[13]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *TTSStatus) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TTSStatus) ProtoMessage() {}
|
|
|
|
func (x *TTSStatus) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[13]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TTSStatus.ProtoReflect.Descriptor instead.
|
|
func (*TTSStatus) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{13}
|
|
}
|
|
|
|
func (x *TTSStatus) GetSessionId() string {
|
|
if x != nil {
|
|
return x.SessionId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TTSStatus) GetStatus() string {
|
|
if x != nil {
|
|
return x.Status
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TTSStatus) GetMessage() string {
|
|
if x != nil {
|
|
return x.Message
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TTSStatus) GetTimestamp() int64 {
|
|
if x != nil {
|
|
return x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// TTSVoiceInfo is summary info about a custom voice.
|
|
type TTSVoiceInfo struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
Language string `protobuf:"bytes,2,opt,name=language,proto3" json:"language,omitempty"`
|
|
ModelType string `protobuf:"bytes,3,opt,name=model_type,json=modelType,proto3" json:"model_type,omitempty"`
|
|
CreatedAt string `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *TTSVoiceInfo) Reset() {
|
|
*x = TTSVoiceInfo{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[14]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *TTSVoiceInfo) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TTSVoiceInfo) ProtoMessage() {}
|
|
|
|
func (x *TTSVoiceInfo) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[14]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TTSVoiceInfo.ProtoReflect.Descriptor instead.
|
|
func (*TTSVoiceInfo) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{14}
|
|
}
|
|
|
|
func (x *TTSVoiceInfo) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TTSVoiceInfo) GetLanguage() string {
|
|
if x != nil {
|
|
return x.Language
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TTSVoiceInfo) GetModelType() string {
|
|
if x != nil {
|
|
return x.ModelType
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TTSVoiceInfo) GetCreatedAt() string {
|
|
if x != nil {
|
|
return x.CreatedAt
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// TTSVoiceListResponse is the reply to a voice list request.
|
|
// Subject: ai.voice.tts.voices.list (request-reply)
|
|
type TTSVoiceListResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
DefaultSpeaker string `protobuf:"bytes,1,opt,name=default_speaker,json=defaultSpeaker,proto3" json:"default_speaker,omitempty"`
|
|
CustomVoices []*TTSVoiceInfo `protobuf:"bytes,2,rep,name=custom_voices,json=customVoices,proto3" json:"custom_voices,omitempty"`
|
|
LastRefresh int64 `protobuf:"varint,3,opt,name=last_refresh,json=lastRefresh,proto3" json:"last_refresh,omitempty"`
|
|
Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *TTSVoiceListResponse) Reset() {
|
|
*x = TTSVoiceListResponse{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[15]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *TTSVoiceListResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TTSVoiceListResponse) ProtoMessage() {}
|
|
|
|
func (x *TTSVoiceListResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[15]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TTSVoiceListResponse.ProtoReflect.Descriptor instead.
|
|
func (*TTSVoiceListResponse) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{15}
|
|
}
|
|
|
|
func (x *TTSVoiceListResponse) GetDefaultSpeaker() string {
|
|
if x != nil {
|
|
return x.DefaultSpeaker
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TTSVoiceListResponse) GetCustomVoices() []*TTSVoiceInfo {
|
|
if x != nil {
|
|
return x.CustomVoices
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *TTSVoiceListResponse) GetLastRefresh() int64 {
|
|
if x != nil {
|
|
return x.LastRefresh
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *TTSVoiceListResponse) GetTimestamp() int64 {
|
|
if x != nil {
|
|
return x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// TTSVoiceRefreshResponse is the reply to a voice refresh request.
|
|
// Subject: ai.voice.tts.voices.refresh (request-reply)
|
|
type TTSVoiceRefreshResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Count int32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
|
|
CustomVoices []*TTSVoiceInfo `protobuf:"bytes,2,rep,name=custom_voices,json=customVoices,proto3" json:"custom_voices,omitempty"`
|
|
Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *TTSVoiceRefreshResponse) Reset() {
|
|
*x = TTSVoiceRefreshResponse{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[16]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *TTSVoiceRefreshResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TTSVoiceRefreshResponse) ProtoMessage() {}
|
|
|
|
func (x *TTSVoiceRefreshResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[16]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TTSVoiceRefreshResponse.ProtoReflect.Descriptor instead.
|
|
func (*TTSVoiceRefreshResponse) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{16}
|
|
}
|
|
|
|
func (x *TTSVoiceRefreshResponse) GetCount() int32 {
|
|
if x != nil {
|
|
return x.Count
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *TTSVoiceRefreshResponse) GetCustomVoices() []*TTSVoiceInfo {
|
|
if x != nil {
|
|
return x.CustomVoices
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *TTSVoiceRefreshResponse) GetTimestamp() int64 {
|
|
if x != nil {
|
|
return x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// STTStreamMessage is any message on the ai.voice.stream.{session_id} subject.
|
|
type STTStreamMessage struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // "start" | "chunk" | "state_change" | "end"
|
|
Audio []byte `protobuf:"bytes,2,opt,name=audio,proto3" json:"audio,omitempty"`
|
|
State string `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"`
|
|
SpeakerId string `protobuf:"bytes,4,opt,name=speaker_id,json=speakerId,proto3" json:"speaker_id,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *STTStreamMessage) Reset() {
|
|
*x = STTStreamMessage{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[17]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *STTStreamMessage) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*STTStreamMessage) ProtoMessage() {}
|
|
|
|
func (x *STTStreamMessage) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[17]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use STTStreamMessage.ProtoReflect.Descriptor instead.
|
|
func (*STTStreamMessage) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{17}
|
|
}
|
|
|
|
func (x *STTStreamMessage) GetType() string {
|
|
if x != nil {
|
|
return x.Type
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *STTStreamMessage) GetAudio() []byte {
|
|
if x != nil {
|
|
return x.Audio
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *STTStreamMessage) GetState() string {
|
|
if x != nil {
|
|
return x.State
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *STTStreamMessage) GetSpeakerId() string {
|
|
if x != nil {
|
|
return x.SpeakerId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// STTTranscription is the transcription result published by the STT module.
|
|
// Subject: ai.voice.transcription.{session_id}
|
|
type STTTranscription struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
|
|
Transcript string `protobuf:"bytes,2,opt,name=transcript,proto3" json:"transcript,omitempty"`
|
|
Sequence int32 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"`
|
|
IsPartial bool `protobuf:"varint,4,opt,name=is_partial,json=isPartial,proto3" json:"is_partial,omitempty"`
|
|
IsFinal bool `protobuf:"varint,5,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"`
|
|
Timestamp int64 `protobuf:"varint,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
|
SpeakerId string `protobuf:"bytes,7,opt,name=speaker_id,json=speakerId,proto3" json:"speaker_id,omitempty"`
|
|
HasVoiceActivity bool `protobuf:"varint,8,opt,name=has_voice_activity,json=hasVoiceActivity,proto3" json:"has_voice_activity,omitempty"`
|
|
State string `protobuf:"bytes,9,opt,name=state,proto3" json:"state,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *STTTranscription) Reset() {
|
|
*x = STTTranscription{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[18]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *STTTranscription) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*STTTranscription) ProtoMessage() {}
|
|
|
|
func (x *STTTranscription) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[18]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use STTTranscription.ProtoReflect.Descriptor instead.
|
|
func (*STTTranscription) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{18}
|
|
}
|
|
|
|
func (x *STTTranscription) GetSessionId() string {
|
|
if x != nil {
|
|
return x.SessionId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *STTTranscription) GetTranscript() string {
|
|
if x != nil {
|
|
return x.Transcript
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *STTTranscription) GetSequence() int32 {
|
|
if x != nil {
|
|
return x.Sequence
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *STTTranscription) GetIsPartial() bool {
|
|
if x != nil {
|
|
return x.IsPartial
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *STTTranscription) GetIsFinal() bool {
|
|
if x != nil {
|
|
return x.IsFinal
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *STTTranscription) GetTimestamp() int64 {
|
|
if x != nil {
|
|
return x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *STTTranscription) GetSpeakerId() string {
|
|
if x != nil {
|
|
return x.SpeakerId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *STTTranscription) GetHasVoiceActivity() bool {
|
|
if x != nil {
|
|
return x.HasVoiceActivity
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *STTTranscription) GetState() string {
|
|
if x != nil {
|
|
return x.State
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// STTInterrupt is published when the STT module detects a user interrupt.
|
|
// Subject: ai.voice.transcription.{session_id}
|
|
type STTInterrupt struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
|
|
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // "interrupt"
|
|
Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
|
SpeakerId string `protobuf:"bytes,4,opt,name=speaker_id,json=speakerId,proto3" json:"speaker_id,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *STTInterrupt) Reset() {
|
|
*x = STTInterrupt{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[19]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *STTInterrupt) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*STTInterrupt) ProtoMessage() {}
|
|
|
|
func (x *STTInterrupt) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[19]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use STTInterrupt.ProtoReflect.Descriptor instead.
|
|
func (*STTInterrupt) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{19}
|
|
}
|
|
|
|
func (x *STTInterrupt) GetSessionId() string {
|
|
if x != nil {
|
|
return x.SessionId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *STTInterrupt) GetType() string {
|
|
if x != nil {
|
|
return x.Type
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *STTInterrupt) GetTimestamp() int64 {
|
|
if x != nil {
|
|
return x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *STTInterrupt) GetSpeakerId() string {
|
|
if x != nil {
|
|
return x.SpeakerId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// PipelineTrigger is the request to start a pipeline.
|
|
// Subject: ai.pipeline.trigger
|
|
type PipelineTrigger struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
|
|
Pipeline string `protobuf:"bytes,2,opt,name=pipeline,proto3" json:"pipeline,omitempty"`
|
|
// Protobuf Struct could be used here, but a simple string map covers
|
|
// all current use-cases and avoids a google/protobuf import.
|
|
Parameters map[string]string `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PipelineTrigger) Reset() {
|
|
*x = PipelineTrigger{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[20]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PipelineTrigger) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PipelineTrigger) ProtoMessage() {}
|
|
|
|
func (x *PipelineTrigger) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[20]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PipelineTrigger.ProtoReflect.Descriptor instead.
|
|
func (*PipelineTrigger) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{20}
|
|
}
|
|
|
|
func (x *PipelineTrigger) GetRequestId() string {
|
|
if x != nil {
|
|
return x.RequestId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PipelineTrigger) GetPipeline() string {
|
|
if x != nil {
|
|
return x.Pipeline
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PipelineTrigger) GetParameters() map[string]string {
|
|
if x != nil {
|
|
return x.Parameters
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PipelineStatus is the response / status update for a pipeline run.
|
|
// Subject: ai.pipeline.status.{request_id}
|
|
type PipelineStatus struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
|
|
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
|
|
RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
|
|
Engine string `protobuf:"bytes,4,opt,name=engine,proto3" json:"engine,omitempty"`
|
|
Pipeline string `protobuf:"bytes,5,opt,name=pipeline,proto3" json:"pipeline,omitempty"`
|
|
SubmittedAt string `protobuf:"bytes,6,opt,name=submitted_at,json=submittedAt,proto3" json:"submitted_at,omitempty"`
|
|
Error string `protobuf:"bytes,7,opt,name=error,proto3" json:"error,omitempty"`
|
|
AvailablePipelines []string `protobuf:"bytes,8,rep,name=available_pipelines,json=availablePipelines,proto3" json:"available_pipelines,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PipelineStatus) Reset() {
|
|
*x = PipelineStatus{}
|
|
mi := &file_messages_v1_messages_proto_msgTypes[21]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PipelineStatus) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PipelineStatus) ProtoMessage() {}
|
|
|
|
func (x *PipelineStatus) ProtoReflect() protoreflect.Message {
|
|
mi := &file_messages_v1_messages_proto_msgTypes[21]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PipelineStatus.ProtoReflect.Descriptor instead.
|
|
func (*PipelineStatus) Descriptor() ([]byte, []int) {
|
|
return file_messages_v1_messages_proto_rawDescGZIP(), []int{21}
|
|
}
|
|
|
|
func (x *PipelineStatus) GetRequestId() string {
|
|
if x != nil {
|
|
return x.RequestId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PipelineStatus) GetStatus() string {
|
|
if x != nil {
|
|
return x.Status
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PipelineStatus) GetRunId() string {
|
|
if x != nil {
|
|
return x.RunId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PipelineStatus) GetEngine() string {
|
|
if x != nil {
|
|
return x.Engine
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PipelineStatus) GetPipeline() string {
|
|
if x != nil {
|
|
return x.Pipeline
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PipelineStatus) GetSubmittedAt() string {
|
|
if x != nil {
|
|
return x.SubmittedAt
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PipelineStatus) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PipelineStatus) GetAvailablePipelines() []string {
|
|
if x != nil {
|
|
return x.AvailablePipelines
|
|
}
|
|
return nil
|
|
}
|
|
|
|
var File_messages_v1_messages_proto protoreflect.FileDescriptor
|
|
|
|
const file_messages_v1_messages_proto_rawDesc = "" +
|
|
"\n" +
|
|
"\x1amessages/v1/messages.proto\x12\vmessages.v1\"S\n" +
|
|
"\rErrorResponse\x12\x14\n" +
|
|
"\x05error\x18\x01 \x01(\bR\x05error\x12\x18\n" +
|
|
"\amessage\x18\x02 \x01(\tR\amessage\x12\x12\n" +
|
|
"\x04type\x18\x03 \x01(\tR\x04type\"\x95\x01\n" +
|
|
"\n" +
|
|
"LoginEvent\x12\x17\n" +
|
|
"\auser_id\x18\x01 \x01(\tR\x06userId\x12\x1a\n" +
|
|
"\busername\x18\x02 \x01(\tR\busername\x12\x1a\n" +
|
|
"\bnickname\x18\x03 \x01(\tR\bnickname\x12\x18\n" +
|
|
"\apremium\x18\x04 \x01(\bR\apremium\x12\x1c\n" +
|
|
"\ttimestamp\x18\x05 \x01(\x03R\ttimestamp\"|\n" +
|
|
"\x0fGreetingRequest\x12\x17\n" +
|
|
"\auser_id\x18\x01 \x01(\tR\x06userId\x12\x1a\n" +
|
|
"\busername\x18\x02 \x01(\tR\busername\x12\x1a\n" +
|
|
"\bnickname\x18\x03 \x01(\tR\bnickname\x12\x18\n" +
|
|
"\apremium\x18\x04 \x01(\bR\apremium\"G\n" +
|
|
"\x10GreetingResponse\x12\x17\n" +
|
|
"\auser_id\x18\x01 \x01(\tR\x06userId\x12\x1a\n" +
|
|
"\bgreeting\x18\x02 \x01(\tR\bgreeting\"\xc2\x03\n" +
|
|
"\vChatRequest\x12\x1d\n" +
|
|
"\n" +
|
|
"request_id\x18\x01 \x01(\tR\trequestId\x12\x17\n" +
|
|
"\auser_id\x18\x02 \x01(\tR\x06userId\x12\x1a\n" +
|
|
"\busername\x18\x03 \x01(\tR\busername\x12\x18\n" +
|
|
"\amessage\x18\x04 \x01(\tR\amessage\x12\x14\n" +
|
|
"\x05query\x18\x05 \x01(\tR\x05query\x12\x18\n" +
|
|
"\apremium\x18\x06 \x01(\bR\apremium\x12\x1d\n" +
|
|
"\n" +
|
|
"enable_rag\x18\a \x01(\bR\tenableRag\x12'\n" +
|
|
"\x0fenable_reranker\x18\b \x01(\bR\x0eenableReranker\x12)\n" +
|
|
"\x10enable_streaming\x18\t \x01(\bR\x0fenableStreaming\x12\x13\n" +
|
|
"\x05top_k\x18\n" +
|
|
" \x01(\x05R\x04topK\x12\x1e\n" +
|
|
"\n" +
|
|
"collection\x18\v \x01(\tR\n" +
|
|
"collection\x12\x1d\n" +
|
|
"\n" +
|
|
"enable_tts\x18\f \x01(\bR\tenableTts\x12#\n" +
|
|
"\rsystem_prompt\x18\r \x01(\tR\fsystemPrompt\x12)\n" +
|
|
"\x10response_subject\x18\x0e \x01(\tR\x0fresponseSubject\"\xea\x01\n" +
|
|
"\fChatResponse\x12\x17\n" +
|
|
"\auser_id\x18\x01 \x01(\tR\x06userId\x12\x1a\n" +
|
|
"\bresponse\x18\x02 \x01(\tR\bresponse\x12#\n" +
|
|
"\rresponse_text\x18\x03 \x01(\tR\fresponseText\x12\x19\n" +
|
|
"\bused_rag\x18\x04 \x01(\bR\ausedRag\x12\x1f\n" +
|
|
"\vrag_sources\x18\x05 \x03(\tR\n" +
|
|
"ragSources\x12\x18\n" +
|
|
"\asuccess\x18\x06 \x01(\bR\asuccess\x12\x14\n" +
|
|
"\x05audio\x18\a \x01(\fR\x05audio\x12\x14\n" +
|
|
"\x05error\x18\b \x01(\tR\x05error\"\x90\x01\n" +
|
|
"\x0fChatStreamChunk\x12\x1d\n" +
|
|
"\n" +
|
|
"request_id\x18\x01 \x01(\tR\trequestId\x12\x12\n" +
|
|
"\x04type\x18\x02 \x01(\tR\x04type\x12\x18\n" +
|
|
"\acontent\x18\x03 \x01(\tR\acontent\x12\x12\n" +
|
|
"\x04done\x18\x04 \x01(\bR\x04done\x12\x1c\n" +
|
|
"\ttimestamp\x18\x05 \x01(\x03R\ttimestamp\"\x7f\n" +
|
|
"\fVoiceRequest\x12\x1d\n" +
|
|
"\n" +
|
|
"request_id\x18\x01 \x01(\tR\trequestId\x12\x14\n" +
|
|
"\x05audio\x18\x02 \x01(\fR\x05audio\x12\x1a\n" +
|
|
"\blanguage\x18\x03 \x01(\tR\blanguage\x12\x1e\n" +
|
|
"\n" +
|
|
"collection\x18\x04 \x01(\tR\n" +
|
|
"collection\":\n" +
|
|
"\x0eDocumentSource\x12\x12\n" +
|
|
"\x04text\x18\x01 \x01(\tR\x04text\x12\x14\n" +
|
|
"\x05score\x18\x02 \x01(\x01R\x05score\"\xd3\x01\n" +
|
|
"\rVoiceResponse\x12\x1d\n" +
|
|
"\n" +
|
|
"request_id\x18\x01 \x01(\tR\trequestId\x12\x1a\n" +
|
|
"\bresponse\x18\x02 \x01(\tR\bresponse\x12\x14\n" +
|
|
"\x05audio\x18\x03 \x01(\fR\x05audio\x12$\n" +
|
|
"\rtranscription\x18\x04 \x01(\tR\rtranscription\x125\n" +
|
|
"\asources\x18\x05 \x03(\v2\x1b.messages.v1.DocumentSourceR\asources\x12\x14\n" +
|
|
"\x05error\x18\x06 \x01(\tR\x05error\"\x96\x01\n" +
|
|
"\n" +
|
|
"TTSRequest\x12\x12\n" +
|
|
"\x04text\x18\x01 \x01(\tR\x04text\x12\x18\n" +
|
|
"\aspeaker\x18\x02 \x01(\tR\aspeaker\x12\x1a\n" +
|
|
"\blanguage\x18\x03 \x01(\tR\blanguage\x12&\n" +
|
|
"\x0fspeaker_wav_b64\x18\x04 \x01(\tR\rspeakerWavB64\x12\x16\n" +
|
|
"\x06stream\x18\x05 \x01(\bR\x06stream\"\xe0\x01\n" +
|
|
"\rTTSAudioChunk\x12\x1d\n" +
|
|
"\n" +
|
|
"session_id\x18\x01 \x01(\tR\tsessionId\x12\x1f\n" +
|
|
"\vchunk_index\x18\x02 \x01(\x05R\n" +
|
|
"chunkIndex\x12!\n" +
|
|
"\ftotal_chunks\x18\x03 \x01(\x05R\vtotalChunks\x12\x14\n" +
|
|
"\x05audio\x18\x04 \x01(\fR\x05audio\x12\x17\n" +
|
|
"\ais_last\x18\x05 \x01(\bR\x06isLast\x12\x1c\n" +
|
|
"\ttimestamp\x18\x06 \x01(\x03R\ttimestamp\x12\x1f\n" +
|
|
"\vsample_rate\x18\a \x01(\x05R\n" +
|
|
"sampleRate\"\x85\x01\n" +
|
|
"\x0fTTSFullResponse\x12\x1d\n" +
|
|
"\n" +
|
|
"session_id\x18\x01 \x01(\tR\tsessionId\x12\x14\n" +
|
|
"\x05audio\x18\x02 \x01(\fR\x05audio\x12\x1c\n" +
|
|
"\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\x12\x1f\n" +
|
|
"\vsample_rate\x18\x04 \x01(\x05R\n" +
|
|
"sampleRate\"z\n" +
|
|
"\tTTSStatus\x12\x1d\n" +
|
|
"\n" +
|
|
"session_id\x18\x01 \x01(\tR\tsessionId\x12\x16\n" +
|
|
"\x06status\x18\x02 \x01(\tR\x06status\x12\x18\n" +
|
|
"\amessage\x18\x03 \x01(\tR\amessage\x12\x1c\n" +
|
|
"\ttimestamp\x18\x04 \x01(\x03R\ttimestamp\"|\n" +
|
|
"\fTTSVoiceInfo\x12\x12\n" +
|
|
"\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n" +
|
|
"\blanguage\x18\x02 \x01(\tR\blanguage\x12\x1d\n" +
|
|
"\n" +
|
|
"model_type\x18\x03 \x01(\tR\tmodelType\x12\x1d\n" +
|
|
"\n" +
|
|
"created_at\x18\x04 \x01(\tR\tcreatedAt\"\xc0\x01\n" +
|
|
"\x14TTSVoiceListResponse\x12'\n" +
|
|
"\x0fdefault_speaker\x18\x01 \x01(\tR\x0edefaultSpeaker\x12>\n" +
|
|
"\rcustom_voices\x18\x02 \x03(\v2\x19.messages.v1.TTSVoiceInfoR\fcustomVoices\x12!\n" +
|
|
"\flast_refresh\x18\x03 \x01(\x03R\vlastRefresh\x12\x1c\n" +
|
|
"\ttimestamp\x18\x04 \x01(\x03R\ttimestamp\"\x8d\x01\n" +
|
|
"\x17TTSVoiceRefreshResponse\x12\x14\n" +
|
|
"\x05count\x18\x01 \x01(\x05R\x05count\x12>\n" +
|
|
"\rcustom_voices\x18\x02 \x03(\v2\x19.messages.v1.TTSVoiceInfoR\fcustomVoices\x12\x1c\n" +
|
|
"\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\"q\n" +
|
|
"\x10STTStreamMessage\x12\x12\n" +
|
|
"\x04type\x18\x01 \x01(\tR\x04type\x12\x14\n" +
|
|
"\x05audio\x18\x02 \x01(\fR\x05audio\x12\x14\n" +
|
|
"\x05state\x18\x03 \x01(\tR\x05state\x12\x1d\n" +
|
|
"\n" +
|
|
"speaker_id\x18\x04 \x01(\tR\tspeakerId\"\xa8\x02\n" +
|
|
"\x10STTTranscription\x12\x1d\n" +
|
|
"\n" +
|
|
"session_id\x18\x01 \x01(\tR\tsessionId\x12\x1e\n" +
|
|
"\n" +
|
|
"transcript\x18\x02 \x01(\tR\n" +
|
|
"transcript\x12\x1a\n" +
|
|
"\bsequence\x18\x03 \x01(\x05R\bsequence\x12\x1d\n" +
|
|
"\n" +
|
|
"is_partial\x18\x04 \x01(\bR\tisPartial\x12\x19\n" +
|
|
"\bis_final\x18\x05 \x01(\bR\aisFinal\x12\x1c\n" +
|
|
"\ttimestamp\x18\x06 \x01(\x03R\ttimestamp\x12\x1d\n" +
|
|
"\n" +
|
|
"speaker_id\x18\a \x01(\tR\tspeakerId\x12,\n" +
|
|
"\x12has_voice_activity\x18\b \x01(\bR\x10hasVoiceActivity\x12\x14\n" +
|
|
"\x05state\x18\t \x01(\tR\x05state\"~\n" +
|
|
"\fSTTInterrupt\x12\x1d\n" +
|
|
"\n" +
|
|
"session_id\x18\x01 \x01(\tR\tsessionId\x12\x12\n" +
|
|
"\x04type\x18\x02 \x01(\tR\x04type\x12\x1c\n" +
|
|
"\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\x12\x1d\n" +
|
|
"\n" +
|
|
"speaker_id\x18\x04 \x01(\tR\tspeakerId\"\xd9\x01\n" +
|
|
"\x0fPipelineTrigger\x12\x1d\n" +
|
|
"\n" +
|
|
"request_id\x18\x01 \x01(\tR\trequestId\x12\x1a\n" +
|
|
"\bpipeline\x18\x02 \x01(\tR\bpipeline\x12L\n" +
|
|
"\n" +
|
|
"parameters\x18\x03 \x03(\v2,.messages.v1.PipelineTrigger.ParametersEntryR\n" +
|
|
"parameters\x1a=\n" +
|
|
"\x0fParametersEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xfc\x01\n" +
|
|
"\x0ePipelineStatus\x12\x1d\n" +
|
|
"\n" +
|
|
"request_id\x18\x01 \x01(\tR\trequestId\x12\x16\n" +
|
|
"\x06status\x18\x02 \x01(\tR\x06status\x12\x15\n" +
|
|
"\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x16\n" +
|
|
"\x06engine\x18\x04 \x01(\tR\x06engine\x12\x1a\n" +
|
|
"\bpipeline\x18\x05 \x01(\tR\bpipeline\x12!\n" +
|
|
"\fsubmitted_at\x18\x06 \x01(\tR\vsubmittedAt\x12\x14\n" +
|
|
"\x05error\x18\a \x01(\tR\x05error\x12/\n" +
|
|
"\x13available_pipelines\x18\b \x03(\tR\x12availablePipelinesBBZ@git.daviestechlabs.io/daviestechlabs/handler-base/gen/messagespbb\x06proto3"
|
|
|
|
var (
|
|
file_messages_v1_messages_proto_rawDescOnce sync.Once
|
|
file_messages_v1_messages_proto_rawDescData []byte
|
|
)
|
|
|
|
func file_messages_v1_messages_proto_rawDescGZIP() []byte {
|
|
file_messages_v1_messages_proto_rawDescOnce.Do(func() {
|
|
file_messages_v1_messages_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_messages_v1_messages_proto_rawDesc), len(file_messages_v1_messages_proto_rawDesc)))
|
|
})
|
|
return file_messages_v1_messages_proto_rawDescData
|
|
}
|
|
|
|
var file_messages_v1_messages_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
|
|
var file_messages_v1_messages_proto_goTypes = []any{
|
|
(*ErrorResponse)(nil), // 0: messages.v1.ErrorResponse
|
|
(*LoginEvent)(nil), // 1: messages.v1.LoginEvent
|
|
(*GreetingRequest)(nil), // 2: messages.v1.GreetingRequest
|
|
(*GreetingResponse)(nil), // 3: messages.v1.GreetingResponse
|
|
(*ChatRequest)(nil), // 4: messages.v1.ChatRequest
|
|
(*ChatResponse)(nil), // 5: messages.v1.ChatResponse
|
|
(*ChatStreamChunk)(nil), // 6: messages.v1.ChatStreamChunk
|
|
(*VoiceRequest)(nil), // 7: messages.v1.VoiceRequest
|
|
(*DocumentSource)(nil), // 8: messages.v1.DocumentSource
|
|
(*VoiceResponse)(nil), // 9: messages.v1.VoiceResponse
|
|
(*TTSRequest)(nil), // 10: messages.v1.TTSRequest
|
|
(*TTSAudioChunk)(nil), // 11: messages.v1.TTSAudioChunk
|
|
(*TTSFullResponse)(nil), // 12: messages.v1.TTSFullResponse
|
|
(*TTSStatus)(nil), // 13: messages.v1.TTSStatus
|
|
(*TTSVoiceInfo)(nil), // 14: messages.v1.TTSVoiceInfo
|
|
(*TTSVoiceListResponse)(nil), // 15: messages.v1.TTSVoiceListResponse
|
|
(*TTSVoiceRefreshResponse)(nil), // 16: messages.v1.TTSVoiceRefreshResponse
|
|
(*STTStreamMessage)(nil), // 17: messages.v1.STTStreamMessage
|
|
(*STTTranscription)(nil), // 18: messages.v1.STTTranscription
|
|
(*STTInterrupt)(nil), // 19: messages.v1.STTInterrupt
|
|
(*PipelineTrigger)(nil), // 20: messages.v1.PipelineTrigger
|
|
(*PipelineStatus)(nil), // 21: messages.v1.PipelineStatus
|
|
nil, // 22: messages.v1.PipelineTrigger.ParametersEntry
|
|
}
|
|
var file_messages_v1_messages_proto_depIdxs = []int32{
|
|
8, // 0: messages.v1.VoiceResponse.sources:type_name -> messages.v1.DocumentSource
|
|
14, // 1: messages.v1.TTSVoiceListResponse.custom_voices:type_name -> messages.v1.TTSVoiceInfo
|
|
14, // 2: messages.v1.TTSVoiceRefreshResponse.custom_voices:type_name -> messages.v1.TTSVoiceInfo
|
|
22, // 3: messages.v1.PipelineTrigger.parameters:type_name -> messages.v1.PipelineTrigger.ParametersEntry
|
|
4, // [4:4] is the sub-list for method output_type
|
|
4, // [4:4] is the sub-list for method input_type
|
|
4, // [4:4] is the sub-list for extension type_name
|
|
4, // [4:4] is the sub-list for extension extendee
|
|
0, // [0:4] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_messages_v1_messages_proto_init() }
|
|
func file_messages_v1_messages_proto_init() {
|
|
if File_messages_v1_messages_proto != nil {
|
|
return
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: unsafe.Slice(unsafe.StringData(file_messages_v1_messages_proto_rawDesc), len(file_messages_v1_messages_proto_rawDesc)),
|
|
NumEnums: 0,
|
|
NumMessages: 23,
|
|
NumExtensions: 0,
|
|
NumServices: 0,
|
|
},
|
|
GoTypes: file_messages_v1_messages_proto_goTypes,
|
|
DependencyIndexes: file_messages_v1_messages_proto_depIdxs,
|
|
MessageInfos: file_messages_v1_messages_proto_msgTypes,
|
|
}.Build()
|
|
File_messages_v1_messages_proto = out.File
|
|
file_messages_v1_messages_proto_goTypes = nil
|
|
file_messages_v1_messages_proto_depIdxs = nil
|
|
}
|