// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v3.21.12
// source: yandex/cloud/ai/assistants/v1/threads/message.proto

package threads

import (
	searchindex "github.com/yandex-cloud/go-genproto/yandex/cloud/ai/assistants/v1/searchindex"
	v1 "github.com/yandex-cloud/go-genproto/yandex/cloud/ai/files/v1"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	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)
)

// Enum representing the status of a message.
type Message_MessageStatus int32

const (
	// Unspecified message status.
	Message_MESSAGE_STATUS_UNSPECIFIED Message_MessageStatus = 0
	// Message was successfully created by a user or generated by an assistant.
	Message_COMPLETED Message_MessageStatus = 1
	// Message generation was truncated due to reaching the maximum allowed number of tokens.
	Message_TRUNCATED Message_MessageStatus = 2
	// Message generation was stopped because potentially sensitive content was detected either in the prompt or in the generated response.
	Message_FILTERED_CONTENT Message_MessageStatus = 3
)

// Enum value maps for Message_MessageStatus.
var (
	Message_MessageStatus_name = map[int32]string{
		0: "MESSAGE_STATUS_UNSPECIFIED",
		1: "COMPLETED",
		2: "TRUNCATED",
		3: "FILTERED_CONTENT",
	}
	Message_MessageStatus_value = map[string]int32{
		"MESSAGE_STATUS_UNSPECIFIED": 0,
		"COMPLETED":                  1,
		"TRUNCATED":                  2,
		"FILTERED_CONTENT":           3,
	}
)

func (x Message_MessageStatus) Enum() *Message_MessageStatus {
	p := new(Message_MessageStatus)
	*p = x
	return p
}

func (x Message_MessageStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Message_MessageStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_assistants_v1_threads_message_proto_enumTypes[0].Descriptor()
}

func (Message_MessageStatus) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_assistants_v1_threads_message_proto_enumTypes[0]
}

func (x Message_MessageStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Message_MessageStatus.Descriptor instead.
func (Message_MessageStatus) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescGZIP(), []int{0, 0}
}

type Message struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique identifier of the message.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ID of the thread that this message belongs to.
	ThreadId string `protobuf:"bytes,2,opt,name=thread_id,json=threadId,proto3" json:"thread_id,omitempty"`
	// Identifier of the subject who created this message.
	CreatedBy string `protobuf:"bytes,3,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
	// Timestamp representing when the message was created.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Author of the message, containing details about the message's creator.
	Author *Author `protobuf:"bytes,5,opt,name=author,proto3" json:"author,omitempty"`
	// Set of key-value pairs that can be used to organize and categorize the message.
	Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Content of the message.
	Content *MessageContent `protobuf:"bytes,7,opt,name=content,proto3" json:"content,omitempty"`
	// Status of the message.
	Status Message_MessageStatus `protobuf:"varint,8,opt,name=status,proto3,enum=yandex.cloud.ai.assistants.v1.threads.Message_MessageStatus" json:"status,omitempty"`
	// List of citations used to generate the message.
	Citations     []*Citation `protobuf:"bytes,9,rep,name=citations,proto3" json:"citations,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Message) Reset() {
	*x = Message{}
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Message) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Message) ProtoMessage() {}

func (x *Message) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_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 Message.ProtoReflect.Descriptor instead.
func (*Message) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescGZIP(), []int{0}
}

func (x *Message) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Message) GetThreadId() string {
	if x != nil {
		return x.ThreadId
	}
	return ""
}

func (x *Message) GetCreatedBy() string {
	if x != nil {
		return x.CreatedBy
	}
	return ""
}

func (x *Message) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Message) GetAuthor() *Author {
	if x != nil {
		return x.Author
	}
	return nil
}

func (x *Message) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *Message) GetContent() *MessageContent {
	if x != nil {
		return x.Content
	}
	return nil
}

func (x *Message) GetStatus() Message_MessageStatus {
	if x != nil {
		return x.Status
	}
	return Message_MESSAGE_STATUS_UNSPECIFIED
}

func (x *Message) GetCitations() []*Citation {
	if x != nil {
		return x.Citations
	}
	return nil
}

// Represents the content of a message, which can consist of multiple parts.
type MessageContent struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A list of content parts that make up the message.
	Content       []*ContentPart `protobuf:"bytes,1,rep,name=content,proto3" json:"content,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MessageContent) Reset() {
	*x = MessageContent{}
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MessageContent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MessageContent) ProtoMessage() {}

func (x *MessageContent) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_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 MessageContent.ProtoReflect.Descriptor instead.
func (*MessageContent) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescGZIP(), []int{1}
}

func (x *MessageContent) GetContent() []*ContentPart {
	if x != nil {
		return x.Content
	}
	return nil
}

// Represents the data required to create or initialize a message in a thread.
// This message is used, for example, to initialize a thread with some messages upon its creation.
type MessageData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Author of the message, containing details about the message's creator.
	Author *Author `protobuf:"bytes,1,opt,name=author,proto3" json:"author,omitempty"`
	// Set of key-value pairs that can be used to organize and categorize the message.
	Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Content of the message.
	Content       *MessageContent `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MessageData) Reset() {
	*x = MessageData{}
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MessageData) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MessageData) ProtoMessage() {}

func (x *MessageData) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_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 MessageData.ProtoReflect.Descriptor instead.
func (*MessageData) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescGZIP(), []int{2}
}

func (x *MessageData) GetAuthor() *Author {
	if x != nil {
		return x.Author
	}
	return nil
}

func (x *MessageData) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *MessageData) GetContent() *MessageContent {
	if x != nil {
		return x.Content
	}
	return nil
}

// Text represents a textual content part of a message.
type Text struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Text content of the message.
	Content       string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Text) Reset() {
	*x = Text{}
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Text) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Text) ProtoMessage() {}

func (x *Text) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_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 Text.ProtoReflect.Descriptor instead.
func (*Text) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescGZIP(), []int{3}
}

func (x *Text) GetContent() string {
	if x != nil {
		return x.Content
	}
	return ""
}

// ContentPart represents an individual part of the message content, which can be of various types.
type ContentPart struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Specifies the type of content that the part contains.
	//
	// Types that are valid to be assigned to PartType:
	//
	//	*ContentPart_Text
	PartType      isContentPart_PartType `protobuf_oneof:"PartType"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ContentPart) Reset() {
	*x = ContentPart{}
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ContentPart) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ContentPart) ProtoMessage() {}

func (x *ContentPart) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_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 ContentPart.ProtoReflect.Descriptor instead.
func (*ContentPart) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescGZIP(), []int{4}
}

func (x *ContentPart) GetPartType() isContentPart_PartType {
	if x != nil {
		return x.PartType
	}
	return nil
}

func (x *ContentPart) GetText() *Text {
	if x != nil {
		if x, ok := x.PartType.(*ContentPart_Text); ok {
			return x.Text
		}
	}
	return nil
}

type isContentPart_PartType interface {
	isContentPart_PartType()
}

type ContentPart_Text struct {
	// Text content of the message part.
	Text *Text `protobuf:"bytes,1,opt,name=text,proto3,oneof"`
}

func (*ContentPart_Text) isContentPart_PartType() {}

// Author of the message, containing details about the message's creator.
type Author struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique identifier of the author. This could be either the user's ID or the assistant's ID, depending on the role.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Role of the author, indicating whether the message was created by a "user" or an "assistant".
	Role          string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Author) Reset() {
	*x = Author{}
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Author) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Author) ProtoMessage() {}

func (x *Author) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_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 Author.ProtoReflect.Descriptor instead.
func (*Author) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescGZIP(), []int{5}
}

func (x *Author) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Author) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

// Represents a citation used for generating a message.
type Citation struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of sources for citation.
	Sources       []*Source `protobuf:"bytes,4,rep,name=sources,proto3" json:"sources,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Citation) Reset() {
	*x = Citation{}
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Citation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Citation) ProtoMessage() {}

func (x *Citation) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_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 Citation.ProtoReflect.Descriptor instead.
func (*Citation) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescGZIP(), []int{6}
}

func (x *Citation) GetSources() []*Source {
	if x != nil {
		return x.Sources
	}
	return nil
}

// Represents a source used for generating a message citation.
type Source struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Specifies the type of source type.
	//
	// Types that are valid to be assigned to SourceType:
	//
	//	*Source_Chunk
	SourceType    isSource_SourceType `protobuf_oneof:"SourceType"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Source) Reset() {
	*x = Source{}
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Source) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Source) ProtoMessage() {}

func (x *Source) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_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 Source.ProtoReflect.Descriptor instead.
func (*Source) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescGZIP(), []int{7}
}

func (x *Source) GetSourceType() isSource_SourceType {
	if x != nil {
		return x.SourceType
	}
	return nil
}

func (x *Source) GetChunk() *FileChunk {
	if x != nil {
		if x, ok := x.SourceType.(*Source_Chunk); ok {
			return x.Chunk
		}
	}
	return nil
}

type isSource_SourceType interface {
	isSource_SourceType()
}

type Source_Chunk struct {
	// File chunk source.
	Chunk *FileChunk `protobuf:"bytes,1,opt,name=chunk,proto3,oneof"`
}

func (*Source_Chunk) isSource_SourceType() {}

// FileChunk represents a chunk of a file used as a source.
type FileChunk struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Search index associated with the file chunk.
	SearchIndex *searchindex.SearchIndex `protobuf:"bytes,1,opt,name=search_index,json=searchIndex,proto3" json:"search_index,omitempty"`
	// The original file from which the chunk is derived.
	SourceFile *v1.File `protobuf:"bytes,2,opt,name=source_file,json=sourceFile,proto3" json:"source_file,omitempty"`
	// Content of the file chunk.
	Content       *ChunkContent `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FileChunk) Reset() {
	*x = FileChunk{}
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FileChunk) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FileChunk) ProtoMessage() {}

func (x *FileChunk) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_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 FileChunk.ProtoReflect.Descriptor instead.
func (*FileChunk) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescGZIP(), []int{8}
}

func (x *FileChunk) GetSearchIndex() *searchindex.SearchIndex {
	if x != nil {
		return x.SearchIndex
	}
	return nil
}

func (x *FileChunk) GetSourceFile() *v1.File {
	if x != nil {
		return x.SourceFile
	}
	return nil
}

func (x *FileChunk) GetContent() *ChunkContent {
	if x != nil {
		return x.Content
	}
	return nil
}

// Represents the content of a file chunk.
type ChunkContent struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A list of content parts that make up the chunk.
	Content       []*ContentPart `protobuf:"bytes,1,rep,name=content,proto3" json:"content,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChunkContent) Reset() {
	*x = ChunkContent{}
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ChunkContent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ChunkContent) ProtoMessage() {}

func (x *ChunkContent) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_ai_assistants_v1_threads_message_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 ChunkContent.ProtoReflect.Descriptor instead.
func (*ChunkContent) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescGZIP(), []int{9}
}

func (x *ChunkContent) GetContent() []*ContentPart {
	if x != nil {
		return x.Content
	}
	return nil
}

var File_yandex_cloud_ai_assistants_v1_threads_message_proto protoreflect.FileDescriptor

const file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDesc = "" +
	"\n" +
	"3yandex/cloud/ai/assistants/v1/threads/message.proto\x12%yandex.cloud.ai.assistants.v1.threads\x1a\x1fgoogle/protobuf/timestamp.proto\x1a<yandex/cloud/ai/assistants/v1/searchindex/search_index.proto\x1a#yandex/cloud/ai/files/v1/file.proto\"\xc1\x05\n" +
	"\aMessage\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" +
	"\tthread_id\x18\x02 \x01(\tR\bthreadId\x12\x1d\n" +
	"\n" +
	"created_by\x18\x03 \x01(\tR\tcreatedBy\x129\n" +
	"\n" +
	"created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12E\n" +
	"\x06author\x18\x05 \x01(\v2-.yandex.cloud.ai.assistants.v1.threads.AuthorR\x06author\x12R\n" +
	"\x06labels\x18\x06 \x03(\v2:.yandex.cloud.ai.assistants.v1.threads.Message.LabelsEntryR\x06labels\x12O\n" +
	"\acontent\x18\a \x01(\v25.yandex.cloud.ai.assistants.v1.threads.MessageContentR\acontent\x12T\n" +
	"\x06status\x18\b \x01(\x0e2<.yandex.cloud.ai.assistants.v1.threads.Message.MessageStatusR\x06status\x12M\n" +
	"\tcitations\x18\t \x03(\v2/.yandex.cloud.ai.assistants.v1.threads.CitationR\tcitations\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"c\n" +
	"\rMessageStatus\x12\x1e\n" +
	"\x1aMESSAGE_STATUS_UNSPECIFIED\x10\x00\x12\r\n" +
	"\tCOMPLETED\x10\x01\x12\r\n" +
	"\tTRUNCATED\x10\x02\x12\x14\n" +
	"\x10FILTERED_CONTENT\x10\x03\"^\n" +
	"\x0eMessageContent\x12L\n" +
	"\acontent\x18\x01 \x03(\v22.yandex.cloud.ai.assistants.v1.threads.ContentPartR\acontent\"\xb8\x02\n" +
	"\vMessageData\x12E\n" +
	"\x06author\x18\x01 \x01(\v2-.yandex.cloud.ai.assistants.v1.threads.AuthorR\x06author\x12V\n" +
	"\x06labels\x18\x02 \x03(\v2>.yandex.cloud.ai.assistants.v1.threads.MessageData.LabelsEntryR\x06labels\x12O\n" +
	"\acontent\x18\x03 \x01(\v25.yandex.cloud.ai.assistants.v1.threads.MessageContentR\acontent\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\" \n" +
	"\x04Text\x12\x18\n" +
	"\acontent\x18\x01 \x01(\tR\acontent\"\\\n" +
	"\vContentPart\x12A\n" +
	"\x04text\x18\x01 \x01(\v2+.yandex.cloud.ai.assistants.v1.threads.TextH\x00R\x04textB\n" +
	"\n" +
	"\bPartType\",\n" +
	"\x06Author\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04role\x18\x02 \x01(\tR\x04role\"S\n" +
	"\bCitation\x12G\n" +
	"\asources\x18\x04 \x03(\v2-.yandex.cloud.ai.assistants.v1.threads.SourceR\asources\"`\n" +
	"\x06Source\x12H\n" +
	"\x05chunk\x18\x01 \x01(\v20.yandex.cloud.ai.assistants.v1.threads.FileChunkH\x00R\x05chunkB\f\n" +
	"\n" +
	"SourceType\"\xf6\x01\n" +
	"\tFileChunk\x12Y\n" +
	"\fsearch_index\x18\x01 \x01(\v26.yandex.cloud.ai.assistants.v1.searchindex.SearchIndexR\vsearchIndex\x12?\n" +
	"\vsource_file\x18\x02 \x01(\v2\x1e.yandex.cloud.ai.files.v1.FileR\n" +
	"sourceFile\x12M\n" +
	"\acontent\x18\x03 \x01(\v23.yandex.cloud.ai.assistants.v1.threads.ChunkContentR\acontent\"\\\n" +
	"\fChunkContent\x12L\n" +
	"\acontent\x18\x01 \x03(\v22.yandex.cloud.ai.assistants.v1.threads.ContentPartR\acontentB~\n" +
	")yandex.cloud.api.ai.assistants.v1.threadsZQgithub.com/yandex-cloud/go-genproto/yandex/cloud/ai/assistants/v1/threads;threadsb\x06proto3"

var (
	file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescOnce sync.Once
	file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescData []byte
)

func file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescGZIP() []byte {
	file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDesc), len(file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDesc)))
	})
	return file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDescData
}

var file_yandex_cloud_ai_assistants_v1_threads_message_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_yandex_cloud_ai_assistants_v1_threads_message_proto_goTypes = []any{
	(Message_MessageStatus)(0),      // 0: yandex.cloud.ai.assistants.v1.threads.Message.MessageStatus
	(*Message)(nil),                 // 1: yandex.cloud.ai.assistants.v1.threads.Message
	(*MessageContent)(nil),          // 2: yandex.cloud.ai.assistants.v1.threads.MessageContent
	(*MessageData)(nil),             // 3: yandex.cloud.ai.assistants.v1.threads.MessageData
	(*Text)(nil),                    // 4: yandex.cloud.ai.assistants.v1.threads.Text
	(*ContentPart)(nil),             // 5: yandex.cloud.ai.assistants.v1.threads.ContentPart
	(*Author)(nil),                  // 6: yandex.cloud.ai.assistants.v1.threads.Author
	(*Citation)(nil),                // 7: yandex.cloud.ai.assistants.v1.threads.Citation
	(*Source)(nil),                  // 8: yandex.cloud.ai.assistants.v1.threads.Source
	(*FileChunk)(nil),               // 9: yandex.cloud.ai.assistants.v1.threads.FileChunk
	(*ChunkContent)(nil),            // 10: yandex.cloud.ai.assistants.v1.threads.ChunkContent
	nil,                             // 11: yandex.cloud.ai.assistants.v1.threads.Message.LabelsEntry
	nil,                             // 12: yandex.cloud.ai.assistants.v1.threads.MessageData.LabelsEntry
	(*timestamppb.Timestamp)(nil),   // 13: google.protobuf.Timestamp
	(*searchindex.SearchIndex)(nil), // 14: yandex.cloud.ai.assistants.v1.searchindex.SearchIndex
	(*v1.File)(nil),                 // 15: yandex.cloud.ai.files.v1.File
}
var file_yandex_cloud_ai_assistants_v1_threads_message_proto_depIdxs = []int32{
	13, // 0: yandex.cloud.ai.assistants.v1.threads.Message.created_at:type_name -> google.protobuf.Timestamp
	6,  // 1: yandex.cloud.ai.assistants.v1.threads.Message.author:type_name -> yandex.cloud.ai.assistants.v1.threads.Author
	11, // 2: yandex.cloud.ai.assistants.v1.threads.Message.labels:type_name -> yandex.cloud.ai.assistants.v1.threads.Message.LabelsEntry
	2,  // 3: yandex.cloud.ai.assistants.v1.threads.Message.content:type_name -> yandex.cloud.ai.assistants.v1.threads.MessageContent
	0,  // 4: yandex.cloud.ai.assistants.v1.threads.Message.status:type_name -> yandex.cloud.ai.assistants.v1.threads.Message.MessageStatus
	7,  // 5: yandex.cloud.ai.assistants.v1.threads.Message.citations:type_name -> yandex.cloud.ai.assistants.v1.threads.Citation
	5,  // 6: yandex.cloud.ai.assistants.v1.threads.MessageContent.content:type_name -> yandex.cloud.ai.assistants.v1.threads.ContentPart
	6,  // 7: yandex.cloud.ai.assistants.v1.threads.MessageData.author:type_name -> yandex.cloud.ai.assistants.v1.threads.Author
	12, // 8: yandex.cloud.ai.assistants.v1.threads.MessageData.labels:type_name -> yandex.cloud.ai.assistants.v1.threads.MessageData.LabelsEntry
	2,  // 9: yandex.cloud.ai.assistants.v1.threads.MessageData.content:type_name -> yandex.cloud.ai.assistants.v1.threads.MessageContent
	4,  // 10: yandex.cloud.ai.assistants.v1.threads.ContentPart.text:type_name -> yandex.cloud.ai.assistants.v1.threads.Text
	8,  // 11: yandex.cloud.ai.assistants.v1.threads.Citation.sources:type_name -> yandex.cloud.ai.assistants.v1.threads.Source
	9,  // 12: yandex.cloud.ai.assistants.v1.threads.Source.chunk:type_name -> yandex.cloud.ai.assistants.v1.threads.FileChunk
	14, // 13: yandex.cloud.ai.assistants.v1.threads.FileChunk.search_index:type_name -> yandex.cloud.ai.assistants.v1.searchindex.SearchIndex
	15, // 14: yandex.cloud.ai.assistants.v1.threads.FileChunk.source_file:type_name -> yandex.cloud.ai.files.v1.File
	10, // 15: yandex.cloud.ai.assistants.v1.threads.FileChunk.content:type_name -> yandex.cloud.ai.assistants.v1.threads.ChunkContent
	5,  // 16: yandex.cloud.ai.assistants.v1.threads.ChunkContent.content:type_name -> yandex.cloud.ai.assistants.v1.threads.ContentPart
	17, // [17:17] is the sub-list for method output_type
	17, // [17:17] is the sub-list for method input_type
	17, // [17:17] is the sub-list for extension type_name
	17, // [17:17] is the sub-list for extension extendee
	0,  // [0:17] is the sub-list for field type_name
}

func init() { file_yandex_cloud_ai_assistants_v1_threads_message_proto_init() }
func file_yandex_cloud_ai_assistants_v1_threads_message_proto_init() {
	if File_yandex_cloud_ai_assistants_v1_threads_message_proto != nil {
		return
	}
	file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes[4].OneofWrappers = []any{
		(*ContentPart_Text)(nil),
	}
	file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes[7].OneofWrappers = []any{
		(*Source_Chunk)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDesc), len(file_yandex_cloud_ai_assistants_v1_threads_message_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   12,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_ai_assistants_v1_threads_message_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_ai_assistants_v1_threads_message_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_ai_assistants_v1_threads_message_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_ai_assistants_v1_threads_message_proto_msgTypes,
	}.Build()
	File_yandex_cloud_ai_assistants_v1_threads_message_proto = out.File
	file_yandex_cloud_ai_assistants_v1_threads_message_proto_goTypes = nil
	file_yandex_cloud_ai_assistants_v1_threads_message_proto_depIdxs = nil
}
