// 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/common.proto

package assistants

import (
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	structpb "google.golang.org/protobuf/types/known/structpb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	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)
)

type GenSearchOptions_SearchFilter_DocFormat int32

const (
	GenSearchOptions_SearchFilter_DOC_FORMAT_UNSPECIFIED GenSearchOptions_SearchFilter_DocFormat = 0
	GenSearchOptions_SearchFilter_DOC_FORMAT_PDF         GenSearchOptions_SearchFilter_DocFormat = 1
	GenSearchOptions_SearchFilter_DOC_FORMAT_XLS         GenSearchOptions_SearchFilter_DocFormat = 2
	GenSearchOptions_SearchFilter_DOC_FORMAT_ODS         GenSearchOptions_SearchFilter_DocFormat = 3
	GenSearchOptions_SearchFilter_DOC_FORMAT_RTF         GenSearchOptions_SearchFilter_DocFormat = 4
	GenSearchOptions_SearchFilter_DOC_FORMAT_PPT         GenSearchOptions_SearchFilter_DocFormat = 5
	GenSearchOptions_SearchFilter_DOC_FORMAT_ODP         GenSearchOptions_SearchFilter_DocFormat = 6
	GenSearchOptions_SearchFilter_DOC_FORMAT_SWF         GenSearchOptions_SearchFilter_DocFormat = 7
	GenSearchOptions_SearchFilter_DOC_FORMAT_ODT         GenSearchOptions_SearchFilter_DocFormat = 8
	GenSearchOptions_SearchFilter_DOC_FORMAT_ODG         GenSearchOptions_SearchFilter_DocFormat = 9
	GenSearchOptions_SearchFilter_DOC_FORMAT_DOC         GenSearchOptions_SearchFilter_DocFormat = 10
)

// Enum value maps for GenSearchOptions_SearchFilter_DocFormat.
var (
	GenSearchOptions_SearchFilter_DocFormat_name = map[int32]string{
		0:  "DOC_FORMAT_UNSPECIFIED",
		1:  "DOC_FORMAT_PDF",
		2:  "DOC_FORMAT_XLS",
		3:  "DOC_FORMAT_ODS",
		4:  "DOC_FORMAT_RTF",
		5:  "DOC_FORMAT_PPT",
		6:  "DOC_FORMAT_ODP",
		7:  "DOC_FORMAT_SWF",
		8:  "DOC_FORMAT_ODT",
		9:  "DOC_FORMAT_ODG",
		10: "DOC_FORMAT_DOC",
	}
	GenSearchOptions_SearchFilter_DocFormat_value = map[string]int32{
		"DOC_FORMAT_UNSPECIFIED": 0,
		"DOC_FORMAT_PDF":         1,
		"DOC_FORMAT_XLS":         2,
		"DOC_FORMAT_ODS":         3,
		"DOC_FORMAT_RTF":         4,
		"DOC_FORMAT_PPT":         5,
		"DOC_FORMAT_ODP":         6,
		"DOC_FORMAT_SWF":         7,
		"DOC_FORMAT_ODT":         8,
		"DOC_FORMAT_ODG":         9,
		"DOC_FORMAT_DOC":         10,
	}
)

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

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

func (GenSearchOptions_SearchFilter_DocFormat) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_ai_assistants_v1_common_proto_enumTypes[0].Descriptor()
}

func (GenSearchOptions_SearchFilter_DocFormat) Type() protoreflect.EnumType {
	return &file_yandex_cloud_ai_assistants_v1_common_proto_enumTypes[0]
}

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

// Deprecated: Use GenSearchOptions_SearchFilter_DocFormat.Descriptor instead.
func (GenSearchOptions_SearchFilter_DocFormat) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_ai_assistants_v1_common_proto_rawDescGZIP(), []int{16, 3, 0}
}

// Defines the options for truncating thread messages within a prompt.
type PromptTruncationOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The maximum number of tokens allowed in the prompt.
	// If the prompt exceeds this limit, the thread messages will be truncated.
	// Default max_prompt_tokens: 7000
	MaxPromptTokens *wrapperspb.Int64Value `protobuf:"bytes,1,opt,name=max_prompt_tokens,json=maxPromptTokens,proto3" json:"max_prompt_tokens,omitempty"`
	// Specifies the truncation strategy to use when the prompt exceeds the token limit.
	//
	// Types that are valid to be assigned to TruncationStrategy:
	//
	//	*PromptTruncationOptions_AutoStrategy_
	//	*PromptTruncationOptions_LastMessagesStrategy_
	TruncationStrategy isPromptTruncationOptions_TruncationStrategy `protobuf_oneof:"TruncationStrategy"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*PromptTruncationOptions) ProtoMessage() {}

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

func (x *PromptTruncationOptions) GetMaxPromptTokens() *wrapperspb.Int64Value {
	if x != nil {
		return x.MaxPromptTokens
	}
	return nil
}

func (x *PromptTruncationOptions) GetTruncationStrategy() isPromptTruncationOptions_TruncationStrategy {
	if x != nil {
		return x.TruncationStrategy
	}
	return nil
}

func (x *PromptTruncationOptions) GetAutoStrategy() *PromptTruncationOptions_AutoStrategy {
	if x != nil {
		if x, ok := x.TruncationStrategy.(*PromptTruncationOptions_AutoStrategy_); ok {
			return x.AutoStrategy
		}
	}
	return nil
}

func (x *PromptTruncationOptions) GetLastMessagesStrategy() *PromptTruncationOptions_LastMessagesStrategy {
	if x != nil {
		if x, ok := x.TruncationStrategy.(*PromptTruncationOptions_LastMessagesStrategy_); ok {
			return x.LastMessagesStrategy
		}
	}
	return nil
}

type isPromptTruncationOptions_TruncationStrategy interface {
	isPromptTruncationOptions_TruncationStrategy()
}

type PromptTruncationOptions_AutoStrategy_ struct {
	AutoStrategy *PromptTruncationOptions_AutoStrategy `protobuf:"bytes,2,opt,name=auto_strategy,json=autoStrategy,proto3,oneof"`
}

type PromptTruncationOptions_LastMessagesStrategy_ struct {
	// Retains only the last `num_messages` messages in the thread.
	// If these messages exceed `max_prompt_tokens`, older messages will be further truncated to fit the limit.
	LastMessagesStrategy *PromptTruncationOptions_LastMessagesStrategy `protobuf:"bytes,3,opt,name=last_messages_strategy,json=lastMessagesStrategy,proto3,oneof"`
}

func (*PromptTruncationOptions_AutoStrategy_) isPromptTruncationOptions_TruncationStrategy() {}

func (*PromptTruncationOptions_LastMessagesStrategy_) isPromptTruncationOptions_TruncationStrategy() {
}

// Defines the options for completion generation.
type CompletionOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The limit on the number of tokens used for single completion generation.
	// Must be greater than zero. This maximum allowed parameter value may depend on the model being used.
	MaxTokens *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"`
	// Affects creativity and randomness of responses. Should be a double number between 0 (inclusive) and 1 (inclusive).
	// Lower values produce more straightforward responses while higher values lead to increased creativity and randomness.
	// Default temperature: 0.3
	Temperature   *wrapperspb.DoubleValue `protobuf:"bytes,3,opt,name=temperature,proto3" json:"temperature,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CompletionOptions) ProtoMessage() {}

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

func (x *CompletionOptions) GetMaxTokens() *wrapperspb.Int64Value {
	if x != nil {
		return x.MaxTokens
	}
	return nil
}

func (x *CompletionOptions) GetTemperature() *wrapperspb.DoubleValue {
	if x != nil {
		return x.Temperature
	}
	return nil
}

// Represents a general tool that can be one of several types.
type Tool struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to ToolType:
	//
	//	*Tool_SearchIndex
	//	*Tool_Function
	//	*Tool_GenSearch
	ToolType      isTool_ToolType `protobuf_oneof:"ToolType"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Tool) ProtoMessage() {}

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

func (x *Tool) GetToolType() isTool_ToolType {
	if x != nil {
		return x.ToolType
	}
	return nil
}

func (x *Tool) GetSearchIndex() *SearchIndexTool {
	if x != nil {
		if x, ok := x.ToolType.(*Tool_SearchIndex); ok {
			return x.SearchIndex
		}
	}
	return nil
}

func (x *Tool) GetFunction() *FunctionTool {
	if x != nil {
		if x, ok := x.ToolType.(*Tool_Function); ok {
			return x.Function
		}
	}
	return nil
}

func (x *Tool) GetGenSearch() *GenSearchTool {
	if x != nil {
		if x, ok := x.ToolType.(*Tool_GenSearch); ok {
			return x.GenSearch
		}
	}
	return nil
}

type isTool_ToolType interface {
	isTool_ToolType()
}

type Tool_SearchIndex struct {
	// SearchIndexTool tool that performs search across specified indexes.
	SearchIndex *SearchIndexTool `protobuf:"bytes,1,opt,name=search_index,json=searchIndex,proto3,oneof"`
}

type Tool_Function struct {
	// Function tool that can be invoked by the assistant.
	Function *FunctionTool `protobuf:"bytes,2,opt,name=function,proto3,oneof"`
}

type Tool_GenSearch struct {
	// Performs web retrieval and generative synthesis.
	GenSearch *GenSearchTool `protobuf:"bytes,3,opt,name=gen_search,json=genSearch,proto3,oneof"`
}

func (*Tool_SearchIndex) isTool_ToolType() {}

func (*Tool_Function) isTool_ToolType() {}

func (*Tool_GenSearch) isTool_ToolType() {}

// Represents a call to a tool.
type ToolCall struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to ToolCallType:
	//
	//	*ToolCall_FunctionCall
	ToolCallType  isToolCall_ToolCallType `protobuf_oneof:"ToolCallType"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ToolCall) ProtoMessage() {}

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

func (x *ToolCall) GetToolCallType() isToolCall_ToolCallType {
	if x != nil {
		return x.ToolCallType
	}
	return nil
}

func (x *ToolCall) GetFunctionCall() *FunctionCall {
	if x != nil {
		if x, ok := x.ToolCallType.(*ToolCall_FunctionCall); ok {
			return x.FunctionCall
		}
	}
	return nil
}

type isToolCall_ToolCallType interface {
	isToolCall_ToolCallType()
}

type ToolCall_FunctionCall struct {
	// Represents a call to a function.
	FunctionCall *FunctionCall `protobuf:"bytes,1,opt,name=function_call,json=functionCall,proto3,oneof"`
}

func (*ToolCall_FunctionCall) isToolCall_ToolCallType() {}

// Represents a list of tool calls.
type ToolCallList struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A list of tool calls to be executed.
	ToolCalls     []*ToolCall `protobuf:"bytes,1,rep,name=tool_calls,json=toolCalls,proto3" json:"tool_calls,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ToolCallList) ProtoMessage() {}

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

func (x *ToolCallList) GetToolCalls() []*ToolCall {
	if x != nil {
		return x.ToolCalls
	}
	return nil
}

// Represents the result of a tool call.
type ToolResult struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to ToolResultType:
	//
	//	*ToolResult_FunctionResult
	ToolResultType isToolResult_ToolResultType `protobuf_oneof:"ToolResultType"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*ToolResult) ProtoMessage() {}

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

func (x *ToolResult) GetToolResultType() isToolResult_ToolResultType {
	if x != nil {
		return x.ToolResultType
	}
	return nil
}

func (x *ToolResult) GetFunctionResult() *FunctionResult {
	if x != nil {
		if x, ok := x.ToolResultType.(*ToolResult_FunctionResult); ok {
			return x.FunctionResult
		}
	}
	return nil
}

type isToolResult_ToolResultType interface {
	isToolResult_ToolResultType()
}

type ToolResult_FunctionResult struct {
	// Represents the result of a function call.
	FunctionResult *FunctionResult `protobuf:"bytes,1,opt,name=function_result,json=functionResult,proto3,oneof"`
}

func (*ToolResult_FunctionResult) isToolResult_ToolResultType() {}

// Represents a list of tool results.
type ToolResultList struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A list of tool results.
	ToolResults   []*ToolResult `protobuf:"bytes,1,rep,name=tool_results,json=toolResults,proto3" json:"tool_results,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ToolResultList) ProtoMessage() {}

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

func (x *ToolResultList) GetToolResults() []*ToolResult {
	if x != nil {
		return x.ToolResults
	}
	return nil
}

// Configures a tool that enables Retrieval-Augmented Generation (RAG) by allowing the assistant to search across a specified search index.
type SearchIndexTool struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A list of search index IDs that this tool will query. Currently, only a single index ID is supported.
	SearchIndexIds []string `protobuf:"bytes,1,rep,name=search_index_ids,json=searchIndexIds,proto3" json:"search_index_ids,omitempty"`
	// The maximum number of results to return from the search.
	// Fewer results may be returned if necessary to fit within the prompt's token limit.
	// This ensures that the combined prompt and search results do not exceed the token constraints.
	MaxNumResults *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=max_num_results,json=maxNumResults,proto3" json:"max_num_results,omitempty"`
	// Options for rephrasing user queries.
	// Used to rewrite the last user message for search,
	// incorporating context from the previous conversation.
	RephraserOptions *RephraserOptions `protobuf:"bytes,3,opt,name=rephraser_options,json=rephraserOptions,proto3" json:"rephraser_options,omitempty"`
	// Defines the strategy for triggering search.
	// Controls whether search results are always included or returned only when
	// the model explicitly calls the tool.
	CallStrategy  *CallStrategy `protobuf:"bytes,4,opt,name=call_strategy,json=callStrategy,proto3" json:"call_strategy,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SearchIndexTool) ProtoMessage() {}

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

func (x *SearchIndexTool) GetSearchIndexIds() []string {
	if x != nil {
		return x.SearchIndexIds
	}
	return nil
}

func (x *SearchIndexTool) GetMaxNumResults() *wrapperspb.Int64Value {
	if x != nil {
		return x.MaxNumResults
	}
	return nil
}

func (x *SearchIndexTool) GetRephraserOptions() *RephraserOptions {
	if x != nil {
		return x.RephraserOptions
	}
	return nil
}

func (x *SearchIndexTool) GetCallStrategy() *CallStrategy {
	if x != nil {
		return x.CallStrategy
	}
	return nil
}

// Defines when the assistant uses the search tool.
type CallStrategy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// One of `always_call` or `auto_call`.
	// always_call is used if no strategy is explicitly set
	//
	// Types that are valid to be assigned to Strategy:
	//
	//	*CallStrategy_AlwaysCall_
	//	*CallStrategy_AutoCall_
	Strategy      isCallStrategy_Strategy `protobuf_oneof:"Strategy"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CallStrategy) ProtoMessage() {}

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

func (x *CallStrategy) GetStrategy() isCallStrategy_Strategy {
	if x != nil {
		return x.Strategy
	}
	return nil
}

func (x *CallStrategy) GetAlwaysCall() *CallStrategy_AlwaysCall {
	if x != nil {
		if x, ok := x.Strategy.(*CallStrategy_AlwaysCall_); ok {
			return x.AlwaysCall
		}
	}
	return nil
}

func (x *CallStrategy) GetAutoCall() *CallStrategy_AutoCall {
	if x != nil {
		if x, ok := x.Strategy.(*CallStrategy_AutoCall_); ok {
			return x.AutoCall
		}
	}
	return nil
}

type isCallStrategy_Strategy interface {
	isCallStrategy_Strategy()
}

type CallStrategy_AlwaysCall_ struct {
	AlwaysCall *CallStrategy_AlwaysCall `protobuf:"bytes,1,opt,name=always_call,json=alwaysCall,proto3,oneof"`
}

type CallStrategy_AutoCall_ struct {
	AutoCall *CallStrategy_AutoCall `protobuf:"bytes,2,opt,name=auto_call,json=autoCall,proto3,oneof"`
}

func (*CallStrategy_AlwaysCall_) isCallStrategy_Strategy() {}

func (*CallStrategy_AutoCall_) isCallStrategy_Strategy() {}

// Represents a function tool that can be invoked by the assistant.
type FunctionTool struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the function.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// A description of the function's purpose or behavior.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// A JSON Schema that defines the expected parameters for the function.
	// The schema should describe the required fields, their types, and any constraints or default values.
	Parameters    *structpb.Struct `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FunctionTool) ProtoMessage() {}

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

func (x *FunctionTool) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *FunctionTool) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *FunctionTool) GetParameters() *structpb.Struct {
	if x != nil {
		return x.Parameters
	}
	return nil
}

// Represents the invocation of a function with specific arguments.
type FunctionCall struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the function being called.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The structured arguments passed to the function.
	// These arguments must adhere to the JSON Schema defined in the corresponding function's parameters.
	Arguments     *structpb.Struct `protobuf:"bytes,2,opt,name=arguments,proto3" json:"arguments,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FunctionCall) Reset() {
	*x = FunctionCall{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FunctionCall) ProtoMessage() {}

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

func (x *FunctionCall) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *FunctionCall) GetArguments() *structpb.Struct {
	if x != nil {
		return x.Arguments
	}
	return nil
}

// Represents the result of a function call.
type FunctionResult struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the function that was executed.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Types that are valid to be assigned to ContentType:
	//
	//	*FunctionResult_Content
	ContentType   isFunctionResult_ContentType `protobuf_oneof:"ContentType"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FunctionResult) Reset() {
	*x = FunctionResult{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FunctionResult) ProtoMessage() {}

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

func (x *FunctionResult) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *FunctionResult) GetContentType() isFunctionResult_ContentType {
	if x != nil {
		return x.ContentType
	}
	return nil
}

func (x *FunctionResult) GetContent() string {
	if x != nil {
		if x, ok := x.ContentType.(*FunctionResult_Content); ok {
			return x.Content
		}
	}
	return ""
}

type isFunctionResult_ContentType interface {
	isFunctionResult_ContentType()
}

type FunctionResult_Content struct {
	// The result of the function call, represented as a string.
	// This field can be used to store the output of the function.
	Content string `protobuf:"bytes,2,opt,name=content,proto3,oneof"`
}

func (*FunctionResult_Content) isFunctionResult_ContentType() {}

// Options for configuring the rephrasing the last user message for search using context from previous conversation.
type RephraserOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The ID of the model used to rephrase the last user message for search.
	RephraserUri  string `protobuf:"bytes,1,opt,name=rephraser_uri,json=rephraserUri,proto3" json:"rephraser_uri,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RephraserOptions) Reset() {
	*x = RephraserOptions{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RephraserOptions) ProtoMessage() {}

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

func (x *RephraserOptions) GetRephraserUri() string {
	if x != nil {
		return x.RephraserUri
	}
	return ""
}

// Represents the expected structure of the model's response using a JSON Schema.
type JsonSchema struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The JSON Schema that the model's output must conform to.
	Schema        *structpb.Struct `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *JsonSchema) Reset() {
	*x = JsonSchema{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*JsonSchema) ProtoMessage() {}

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

func (x *JsonSchema) GetSchema() *structpb.Struct {
	if x != nil {
		return x.Schema
	}
	return nil
}

// Specifies the format of the model's response.
type ResponseFormat struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to ResponseFormat:
	//
	//	*ResponseFormat_JsonObject
	//	*ResponseFormat_JsonSchema
	ResponseFormat isResponseFormat_ResponseFormat `protobuf_oneof:"ResponseFormat"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ResponseFormat) Reset() {
	*x = ResponseFormat{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ResponseFormat) ProtoMessage() {}

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

func (x *ResponseFormat) GetResponseFormat() isResponseFormat_ResponseFormat {
	if x != nil {
		return x.ResponseFormat
	}
	return nil
}

func (x *ResponseFormat) GetJsonObject() bool {
	if x != nil {
		if x, ok := x.ResponseFormat.(*ResponseFormat_JsonObject); ok {
			return x.JsonObject
		}
	}
	return false
}

func (x *ResponseFormat) GetJsonSchema() *JsonSchema {
	if x != nil {
		if x, ok := x.ResponseFormat.(*ResponseFormat_JsonSchema); ok {
			return x.JsonSchema
		}
	}
	return nil
}

type isResponseFormat_ResponseFormat interface {
	isResponseFormat_ResponseFormat()
}

type ResponseFormat_JsonObject struct {
	// When set to true, the model will respond with a valid JSON object.
	// Be sure to explicitly ask the model for JSON.
	// Otherwise, it may generate excessive whitespace and run indefinitely until it reaches the token limit.
	JsonObject bool `protobuf:"varint,1,opt,name=json_object,json=jsonObject,proto3,oneof"`
}

type ResponseFormat_JsonSchema struct {
	// Enforces a specific JSON structure for the model's response based on a provided schema.
	JsonSchema *JsonSchema `protobuf:"bytes,2,opt,name=json_schema,json=jsonSchema,proto3,oneof"`
}

func (*ResponseFormat_JsonObject) isResponseFormat_ResponseFormat() {}

func (*ResponseFormat_JsonSchema) isResponseFormat_ResponseFormat() {}

type GenSearchTool struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Scoping and filtering rules for the search query
	Options *GenSearchOptions `protobuf:"bytes,1,opt,name=options,proto3" json:"options,omitempty"`
	// description of the purpose
	Description   string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenSearchTool) Reset() {
	*x = GenSearchTool{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GenSearchTool) ProtoMessage() {}

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

func (x *GenSearchTool) GetOptions() *GenSearchOptions {
	if x != nil {
		return x.Options
	}
	return nil
}

func (x *GenSearchTool) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

type GenSearchOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Restricts the search to the specific websites, hosts or pages.
	// Includes only one of the fields site, host, url.
	//
	// Types that are valid to be assigned to SiteOptions:
	//
	//	*GenSearchOptions_Site
	//	*GenSearchOptions_Host
	//	*GenSearchOptions_Url
	SiteOptions isGenSearchOptions_SiteOptions `protobuf_oneof:"site_options"`
	// Use the documents inaccessible from the front page.
	EnableNrfmDocs bool `protobuf:"varint,4,opt,name=enable_nrfm_docs,json=enableNrfmDocs,proto3" json:"enable_nrfm_docs,omitempty"`
	// Restricts the search by date, document formats or language.
	SearchFilters []*GenSearchOptions_SearchFilter `protobuf:"bytes,5,rep,name=search_filters,json=searchFilters,proto3" json:"search_filters,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenSearchOptions) Reset() {
	*x = GenSearchOptions{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GenSearchOptions) ProtoMessage() {}

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

func (x *GenSearchOptions) GetSiteOptions() isGenSearchOptions_SiteOptions {
	if x != nil {
		return x.SiteOptions
	}
	return nil
}

func (x *GenSearchOptions) GetSite() *GenSearchOptions_SiteOption {
	if x != nil {
		if x, ok := x.SiteOptions.(*GenSearchOptions_Site); ok {
			return x.Site
		}
	}
	return nil
}

func (x *GenSearchOptions) GetHost() *GenSearchOptions_HostOption {
	if x != nil {
		if x, ok := x.SiteOptions.(*GenSearchOptions_Host); ok {
			return x.Host
		}
	}
	return nil
}

func (x *GenSearchOptions) GetUrl() *GenSearchOptions_UrlOption {
	if x != nil {
		if x, ok := x.SiteOptions.(*GenSearchOptions_Url); ok {
			return x.Url
		}
	}
	return nil
}

func (x *GenSearchOptions) GetEnableNrfmDocs() bool {
	if x != nil {
		return x.EnableNrfmDocs
	}
	return false
}

func (x *GenSearchOptions) GetSearchFilters() []*GenSearchOptions_SearchFilter {
	if x != nil {
		return x.SearchFilters
	}
	return nil
}

type isGenSearchOptions_SiteOptions interface {
	isGenSearchOptions_SiteOptions()
}

type GenSearchOptions_Site struct {
	Site *GenSearchOptions_SiteOption `protobuf:"bytes,1,opt,name=site,proto3,oneof"`
}

type GenSearchOptions_Host struct {
	Host *GenSearchOptions_HostOption `protobuf:"bytes,2,opt,name=host,proto3,oneof"`
}

type GenSearchOptions_Url struct {
	Url *GenSearchOptions_UrlOption `protobuf:"bytes,3,opt,name=url,proto3,oneof"`
}

func (*GenSearchOptions_Site) isGenSearchOptions_SiteOptions() {}

func (*GenSearchOptions_Host) isGenSearchOptions_SiteOptions() {}

func (*GenSearchOptions_Url) isGenSearchOptions_SiteOptions() {}

// Auto truncation strategy.
type PromptTruncationOptions_AutoStrategy struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PromptTruncationOptions_AutoStrategy) Reset() {
	*x = PromptTruncationOptions_AutoStrategy{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PromptTruncationOptions_AutoStrategy) ProtoMessage() {}

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

// Truncates the prompt by retaining only the last `num_messages` messages in the thread.
type PromptTruncationOptions_LastMessagesStrategy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The number of most recent messages to retain in the prompt.
	// If these messages exceed `max_prompt_tokens`, older messages will be further truncated to fit the limit.
	NumMessages   int64 `protobuf:"varint,1,opt,name=num_messages,json=numMessages,proto3" json:"num_messages,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PromptTruncationOptions_LastMessagesStrategy) Reset() {
	*x = PromptTruncationOptions_LastMessagesStrategy{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PromptTruncationOptions_LastMessagesStrategy) ProtoMessage() {}

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

func (x *PromptTruncationOptions_LastMessagesStrategy) GetNumMessages() int64 {
	if x != nil {
		return x.NumMessages
	}
	return 0
}

// Always includes retrieved search results in the prompt.
type CallStrategy_AlwaysCall struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CallStrategy_AlwaysCall) Reset() {
	*x = CallStrategy_AlwaysCall{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CallStrategy_AlwaysCall) ProtoMessage() {}

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

// Exposes the tool as a callable function.
// The model decides when to trigger search based on the instruction.
type CallStrategy_AutoCall struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the tool as exposed to the model.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Required instruction that helps the model decide when to call the tool.
	Instruction   string `protobuf:"bytes,2,opt,name=instruction,proto3" json:"instruction,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CallStrategy_AutoCall) Reset() {
	*x = CallStrategy_AutoCall{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CallStrategy_AutoCall) ProtoMessage() {}

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

func (x *CallStrategy_AutoCall) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *CallStrategy_AutoCall) GetInstruction() string {
	if x != nil {
		return x.Instruction
	}
	return ""
}

// Restricts the search to the specific websites.
type GenSearchOptions_SiteOption struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Site          []string               `protobuf:"bytes,1,rep,name=site,proto3" json:"site,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenSearchOptions_SiteOption) Reset() {
	*x = GenSearchOptions_SiteOption{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GenSearchOptions_SiteOption) ProtoMessage() {}

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

func (x *GenSearchOptions_SiteOption) GetSite() []string {
	if x != nil {
		return x.Site
	}
	return nil
}

// Restricts the search to the specific pages.
type GenSearchOptions_UrlOption struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Url           []string               `protobuf:"bytes,1,rep,name=url,proto3" json:"url,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenSearchOptions_UrlOption) Reset() {
	*x = GenSearchOptions_UrlOption{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GenSearchOptions_UrlOption) ProtoMessage() {}

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

func (x *GenSearchOptions_UrlOption) GetUrl() []string {
	if x != nil {
		return x.Url
	}
	return nil
}

// Restricts the search to the specific hosts.
type GenSearchOptions_HostOption struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Host          []string               `protobuf:"bytes,1,rep,name=host,proto3" json:"host,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenSearchOptions_HostOption) Reset() {
	*x = GenSearchOptions_HostOption{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GenSearchOptions_HostOption) ProtoMessage() {}

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

func (x *GenSearchOptions_HostOption) GetHost() []string {
	if x != nil {
		return x.Host
	}
	return nil
}

type GenSearchOptions_SearchFilter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Includes only one of the fields date, lang, format.
	//
	// Types that are valid to be assigned to FilterOptions:
	//
	//	*GenSearchOptions_SearchFilter_Date
	//	*GenSearchOptions_SearchFilter_Lang
	//	*GenSearchOptions_SearchFilter_Format
	FilterOptions isGenSearchOptions_SearchFilter_FilterOptions `protobuf_oneof:"filter_options"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenSearchOptions_SearchFilter) Reset() {
	*x = GenSearchOptions_SearchFilter{}
	mi := &file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GenSearchOptions_SearchFilter) ProtoMessage() {}

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

func (x *GenSearchOptions_SearchFilter) GetFilterOptions() isGenSearchOptions_SearchFilter_FilterOptions {
	if x != nil {
		return x.FilterOptions
	}
	return nil
}

func (x *GenSearchOptions_SearchFilter) GetDate() string {
	if x != nil {
		if x, ok := x.FilterOptions.(*GenSearchOptions_SearchFilter_Date); ok {
			return x.Date
		}
	}
	return ""
}

func (x *GenSearchOptions_SearchFilter) GetLang() string {
	if x != nil {
		if x, ok := x.FilterOptions.(*GenSearchOptions_SearchFilter_Lang); ok {
			return x.Lang
		}
	}
	return ""
}

func (x *GenSearchOptions_SearchFilter) GetFormat() GenSearchOptions_SearchFilter_DocFormat {
	if x != nil {
		if x, ok := x.FilterOptions.(*GenSearchOptions_SearchFilter_Format); ok {
			return x.Format
		}
	}
	return GenSearchOptions_SearchFilter_DOC_FORMAT_UNSPECIFIED
}

type isGenSearchOptions_SearchFilter_FilterOptions interface {
	isGenSearchOptions_SearchFilter_FilterOptions()
}

type GenSearchOptions_SearchFilter_Date struct {
	// Restrict by document date
	Date string `protobuf:"bytes,1,opt,name=date,proto3,oneof"`
}

type GenSearchOptions_SearchFilter_Lang struct {
	// Restrict by document language. Use ISO 639-1 language codes.
	Lang string `protobuf:"bytes,2,opt,name=lang,proto3,oneof"`
}

type GenSearchOptions_SearchFilter_Format struct {
	// Restrict by document format.
	Format GenSearchOptions_SearchFilter_DocFormat `protobuf:"varint,3,opt,name=format,proto3,enum=yandex.cloud.ai.assistants.v1.GenSearchOptions_SearchFilter_DocFormat,oneof"`
}

func (*GenSearchOptions_SearchFilter_Date) isGenSearchOptions_SearchFilter_FilterOptions() {}

func (*GenSearchOptions_SearchFilter_Lang) isGenSearchOptions_SearchFilter_FilterOptions() {}

func (*GenSearchOptions_SearchFilter_Format) isGenSearchOptions_SearchFilter_FilterOptions() {}

var File_yandex_cloud_ai_assistants_v1_common_proto protoreflect.FileDescriptor

const file_yandex_cloud_ai_assistants_v1_common_proto_rawDesc = "" +
	"\n" +
	"*yandex/cloud/ai/assistants/v1/common.proto\x12\x1dyandex.cloud.ai.assistants.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1dyandex/cloud/validation.proto\"\xb5\x03\n" +
	"\x17PromptTruncationOptions\x12G\n" +
	"\x11max_prompt_tokens\x18\x01 \x01(\v2\x1b.google.protobuf.Int64ValueR\x0fmaxPromptTokens\x12j\n" +
	"\rauto_strategy\x18\x02 \x01(\v2C.yandex.cloud.ai.assistants.v1.PromptTruncationOptions.AutoStrategyH\x00R\fautoStrategy\x12\x83\x01\n" +
	"\x16last_messages_strategy\x18\x03 \x01(\v2K.yandex.cloud.ai.assistants.v1.PromptTruncationOptions.LastMessagesStrategyH\x00R\x14lastMessagesStrategy\x1a\x0e\n" +
	"\fAutoStrategy\x1a9\n" +
	"\x14LastMessagesStrategy\x12!\n" +
	"\fnum_messages\x18\x01 \x01(\x03R\vnumMessagesB\x14\n" +
	"\x12TruncationStrategy\"\x8f\x01\n" +
	"\x11CompletionOptions\x12:\n" +
	"\n" +
	"max_tokens\x18\x02 \x01(\v2\x1b.google.protobuf.Int64ValueR\tmaxTokens\x12>\n" +
	"\vtemperature\x18\x03 \x01(\v2\x1c.google.protobuf.DoubleValueR\vtemperature\"\x81\x02\n" +
	"\x04Tool\x12S\n" +
	"\fsearch_index\x18\x01 \x01(\v2..yandex.cloud.ai.assistants.v1.SearchIndexToolH\x00R\vsearchIndex\x12I\n" +
	"\bfunction\x18\x02 \x01(\v2+.yandex.cloud.ai.assistants.v1.FunctionToolH\x00R\bfunction\x12M\n" +
	"\n" +
	"gen_search\x18\x03 \x01(\v2,.yandex.cloud.ai.assistants.v1.GenSearchToolH\x00R\tgenSearchB\n" +
	"\n" +
	"\bToolType\"n\n" +
	"\bToolCall\x12R\n" +
	"\rfunction_call\x18\x01 \x01(\v2+.yandex.cloud.ai.assistants.v1.FunctionCallH\x00R\ffunctionCallB\x0e\n" +
	"\fToolCallType\"V\n" +
	"\fToolCallList\x12F\n" +
	"\n" +
	"tool_calls\x18\x01 \x03(\v2'.yandex.cloud.ai.assistants.v1.ToolCallR\ttoolCalls\"x\n" +
	"\n" +
	"ToolResult\x12X\n" +
	"\x0ffunction_result\x18\x01 \x01(\v2-.yandex.cloud.ai.assistants.v1.FunctionResultH\x00R\x0efunctionResultB\x10\n" +
	"\x0eToolResultType\"^\n" +
	"\x0eToolResultList\x12L\n" +
	"\ftool_results\x18\x01 \x03(\v2).yandex.cloud.ai.assistants.v1.ToolResultR\vtoolResults\"\xb0\x02\n" +
	"\x0fSearchIndexTool\x12(\n" +
	"\x10search_index_ids\x18\x01 \x03(\tR\x0esearchIndexIds\x12C\n" +
	"\x0fmax_num_results\x18\x02 \x01(\v2\x1b.google.protobuf.Int64ValueR\rmaxNumResults\x12\\\n" +
	"\x11rephraser_options\x18\x03 \x01(\v2/.yandex.cloud.ai.assistants.v1.RephraserOptionsR\x10rephraserOptions\x12P\n" +
	"\rcall_strategy\x18\x04 \x01(\v2+.yandex.cloud.ai.assistants.v1.CallStrategyR\fcallStrategy\"\xa0\x02\n" +
	"\fCallStrategy\x12Y\n" +
	"\valways_call\x18\x01 \x01(\v26.yandex.cloud.ai.assistants.v1.CallStrategy.AlwaysCallH\x00R\n" +
	"alwaysCall\x12S\n" +
	"\tauto_call\x18\x02 \x01(\v24.yandex.cloud.ai.assistants.v1.CallStrategy.AutoCallH\x00R\bautoCall\x1a\f\n" +
	"\n" +
	"AlwaysCall\x1aF\n" +
	"\bAutoCall\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12&\n" +
	"\vinstruction\x18\x02 \x01(\tB\x04\xe8\xc71\x01R\vinstructionB\n" +
	"\n" +
	"\bStrategy\"}\n" +
	"\fFunctionTool\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x02 \x01(\tR\vdescription\x127\n" +
	"\n" +
	"parameters\x18\x03 \x01(\v2\x17.google.protobuf.StructR\n" +
	"parameters\"Y\n" +
	"\fFunctionCall\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x125\n" +
	"\targuments\x18\x02 \x01(\v2\x17.google.protobuf.StructR\targuments\"O\n" +
	"\x0eFunctionResult\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n" +
	"\acontent\x18\x02 \x01(\tH\x00R\acontentB\r\n" +
	"\vContentType\"=\n" +
	"\x10RephraserOptions\x12)\n" +
	"\rrephraser_uri\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\frephraserUri\"=\n" +
	"\n" +
	"JsonSchema\x12/\n" +
	"\x06schema\x18\x01 \x01(\v2\x17.google.protobuf.StructR\x06schema\"\x93\x01\n" +
	"\x0eResponseFormat\x12!\n" +
	"\vjson_object\x18\x01 \x01(\bH\x00R\n" +
	"jsonObject\x12L\n" +
	"\vjson_schema\x18\x02 \x01(\v2).yandex.cloud.ai.assistants.v1.JsonSchemaH\x00R\n" +
	"jsonSchemaB\x10\n" +
	"\x0eResponseFormat\"\x82\x01\n" +
	"\rGenSearchTool\x12I\n" +
	"\aoptions\x18\x01 \x01(\v2/.yandex.cloud.ai.assistants.v1.GenSearchOptionsR\aoptions\x12&\n" +
	"\vdescription\x18\x02 \x01(\tB\x04\xe8\xc71\x01R\vdescription\"\x84\b\n" +
	"\x10GenSearchOptions\x12P\n" +
	"\x04site\x18\x01 \x01(\v2:.yandex.cloud.ai.assistants.v1.GenSearchOptions.SiteOptionH\x00R\x04site\x12P\n" +
	"\x04host\x18\x02 \x01(\v2:.yandex.cloud.ai.assistants.v1.GenSearchOptions.HostOptionH\x00R\x04host\x12M\n" +
	"\x03url\x18\x03 \x01(\v29.yandex.cloud.ai.assistants.v1.GenSearchOptions.UrlOptionH\x00R\x03url\x12(\n" +
	"\x10enable_nrfm_docs\x18\x04 \x01(\bR\x0eenableNrfmDocs\x12m\n" +
	"\x0esearch_filters\x18\x05 \x03(\v2<.yandex.cloud.ai.assistants.v1.GenSearchOptions.SearchFilterB\b\x82\xc81\x04<=10R\rsearchFilters\x1a5\n" +
	"\n" +
	"SiteOption\x12'\n" +
	"\x04site\x18\x01 \x03(\tB\x13\x82\xc81\x05<=100\x8a\xc81\x06<=1024R\x04site\x1a2\n" +
	"\tUrlOption\x12%\n" +
	"\x03url\x18\x01 \x03(\tB\x13\x82\xc81\x05<=100\x8a\xc81\x06<=1024R\x03url\x1a5\n" +
	"\n" +
	"HostOption\x12'\n" +
	"\x04host\x18\x01 \x03(\tB\x13\x82\xc81\x05<=100\x8a\xc81\x06<=1024R\x04host\x1a\xb1\x03\n" +
	"\fSearchFilter\x12\x1e\n" +
	"\x04date\x18\x01 \x01(\tB\b\x8a\xc81\x04<=25H\x00R\x04date\x12\x1b\n" +
	"\x04lang\x18\x02 \x01(\tB\x05\x8a\xc81\x012H\x00R\x04lang\x12`\n" +
	"\x06format\x18\x03 \x01(\x0e2F.yandex.cloud.ai.assistants.v1.GenSearchOptions.SearchFilter.DocFormatH\x00R\x06format\"\xef\x01\n" +
	"\tDocFormat\x12\x1a\n" +
	"\x16DOC_FORMAT_UNSPECIFIED\x10\x00\x12\x12\n" +
	"\x0eDOC_FORMAT_PDF\x10\x01\x12\x12\n" +
	"\x0eDOC_FORMAT_XLS\x10\x02\x12\x12\n" +
	"\x0eDOC_FORMAT_ODS\x10\x03\x12\x12\n" +
	"\x0eDOC_FORMAT_RTF\x10\x04\x12\x12\n" +
	"\x0eDOC_FORMAT_PPT\x10\x05\x12\x12\n" +
	"\x0eDOC_FORMAT_ODP\x10\x06\x12\x12\n" +
	"\x0eDOC_FORMAT_SWF\x10\a\x12\x12\n" +
	"\x0eDOC_FORMAT_ODT\x10\b\x12\x12\n" +
	"\x0eDOC_FORMAT_ODG\x10\t\x12\x12\n" +
	"\x0eDOC_FORMAT_DOC\x10\n" +
	"B\x10\n" +
	"\x0efilter_optionsB\x0e\n" +
	"\fsite_optionsBq\n" +
	"!yandex.cloud.api.ai.assistants.v1ZLgithub.com/yandex-cloud/go-genproto/yandex/cloud/ai/assistants/v1;assistantsb\x06proto3"

var (
	file_yandex_cloud_ai_assistants_v1_common_proto_rawDescOnce sync.Once
	file_yandex_cloud_ai_assistants_v1_common_proto_rawDescData []byte
)

func file_yandex_cloud_ai_assistants_v1_common_proto_rawDescGZIP() []byte {
	file_yandex_cloud_ai_assistants_v1_common_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_ai_assistants_v1_common_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_ai_assistants_v1_common_proto_rawDesc), len(file_yandex_cloud_ai_assistants_v1_common_proto_rawDesc)))
	})
	return file_yandex_cloud_ai_assistants_v1_common_proto_rawDescData
}

var file_yandex_cloud_ai_assistants_v1_common_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
var file_yandex_cloud_ai_assistants_v1_common_proto_goTypes = []any{
	(GenSearchOptions_SearchFilter_DocFormat)(0),         // 0: yandex.cloud.ai.assistants.v1.GenSearchOptions.SearchFilter.DocFormat
	(*PromptTruncationOptions)(nil),                      // 1: yandex.cloud.ai.assistants.v1.PromptTruncationOptions
	(*CompletionOptions)(nil),                            // 2: yandex.cloud.ai.assistants.v1.CompletionOptions
	(*Tool)(nil),                                         // 3: yandex.cloud.ai.assistants.v1.Tool
	(*ToolCall)(nil),                                     // 4: yandex.cloud.ai.assistants.v1.ToolCall
	(*ToolCallList)(nil),                                 // 5: yandex.cloud.ai.assistants.v1.ToolCallList
	(*ToolResult)(nil),                                   // 6: yandex.cloud.ai.assistants.v1.ToolResult
	(*ToolResultList)(nil),                               // 7: yandex.cloud.ai.assistants.v1.ToolResultList
	(*SearchIndexTool)(nil),                              // 8: yandex.cloud.ai.assistants.v1.SearchIndexTool
	(*CallStrategy)(nil),                                 // 9: yandex.cloud.ai.assistants.v1.CallStrategy
	(*FunctionTool)(nil),                                 // 10: yandex.cloud.ai.assistants.v1.FunctionTool
	(*FunctionCall)(nil),                                 // 11: yandex.cloud.ai.assistants.v1.FunctionCall
	(*FunctionResult)(nil),                               // 12: yandex.cloud.ai.assistants.v1.FunctionResult
	(*RephraserOptions)(nil),                             // 13: yandex.cloud.ai.assistants.v1.RephraserOptions
	(*JsonSchema)(nil),                                   // 14: yandex.cloud.ai.assistants.v1.JsonSchema
	(*ResponseFormat)(nil),                               // 15: yandex.cloud.ai.assistants.v1.ResponseFormat
	(*GenSearchTool)(nil),                                // 16: yandex.cloud.ai.assistants.v1.GenSearchTool
	(*GenSearchOptions)(nil),                             // 17: yandex.cloud.ai.assistants.v1.GenSearchOptions
	(*PromptTruncationOptions_AutoStrategy)(nil),         // 18: yandex.cloud.ai.assistants.v1.PromptTruncationOptions.AutoStrategy
	(*PromptTruncationOptions_LastMessagesStrategy)(nil), // 19: yandex.cloud.ai.assistants.v1.PromptTruncationOptions.LastMessagesStrategy
	(*CallStrategy_AlwaysCall)(nil),                      // 20: yandex.cloud.ai.assistants.v1.CallStrategy.AlwaysCall
	(*CallStrategy_AutoCall)(nil),                        // 21: yandex.cloud.ai.assistants.v1.CallStrategy.AutoCall
	(*GenSearchOptions_SiteOption)(nil),                  // 22: yandex.cloud.ai.assistants.v1.GenSearchOptions.SiteOption
	(*GenSearchOptions_UrlOption)(nil),                   // 23: yandex.cloud.ai.assistants.v1.GenSearchOptions.UrlOption
	(*GenSearchOptions_HostOption)(nil),                  // 24: yandex.cloud.ai.assistants.v1.GenSearchOptions.HostOption
	(*GenSearchOptions_SearchFilter)(nil),                // 25: yandex.cloud.ai.assistants.v1.GenSearchOptions.SearchFilter
	(*wrapperspb.Int64Value)(nil),                        // 26: google.protobuf.Int64Value
	(*wrapperspb.DoubleValue)(nil),                       // 27: google.protobuf.DoubleValue
	(*structpb.Struct)(nil),                              // 28: google.protobuf.Struct
}
var file_yandex_cloud_ai_assistants_v1_common_proto_depIdxs = []int32{
	26, // 0: yandex.cloud.ai.assistants.v1.PromptTruncationOptions.max_prompt_tokens:type_name -> google.protobuf.Int64Value
	18, // 1: yandex.cloud.ai.assistants.v1.PromptTruncationOptions.auto_strategy:type_name -> yandex.cloud.ai.assistants.v1.PromptTruncationOptions.AutoStrategy
	19, // 2: yandex.cloud.ai.assistants.v1.PromptTruncationOptions.last_messages_strategy:type_name -> yandex.cloud.ai.assistants.v1.PromptTruncationOptions.LastMessagesStrategy
	26, // 3: yandex.cloud.ai.assistants.v1.CompletionOptions.max_tokens:type_name -> google.protobuf.Int64Value
	27, // 4: yandex.cloud.ai.assistants.v1.CompletionOptions.temperature:type_name -> google.protobuf.DoubleValue
	8,  // 5: yandex.cloud.ai.assistants.v1.Tool.search_index:type_name -> yandex.cloud.ai.assistants.v1.SearchIndexTool
	10, // 6: yandex.cloud.ai.assistants.v1.Tool.function:type_name -> yandex.cloud.ai.assistants.v1.FunctionTool
	16, // 7: yandex.cloud.ai.assistants.v1.Tool.gen_search:type_name -> yandex.cloud.ai.assistants.v1.GenSearchTool
	11, // 8: yandex.cloud.ai.assistants.v1.ToolCall.function_call:type_name -> yandex.cloud.ai.assistants.v1.FunctionCall
	4,  // 9: yandex.cloud.ai.assistants.v1.ToolCallList.tool_calls:type_name -> yandex.cloud.ai.assistants.v1.ToolCall
	12, // 10: yandex.cloud.ai.assistants.v1.ToolResult.function_result:type_name -> yandex.cloud.ai.assistants.v1.FunctionResult
	6,  // 11: yandex.cloud.ai.assistants.v1.ToolResultList.tool_results:type_name -> yandex.cloud.ai.assistants.v1.ToolResult
	26, // 12: yandex.cloud.ai.assistants.v1.SearchIndexTool.max_num_results:type_name -> google.protobuf.Int64Value
	13, // 13: yandex.cloud.ai.assistants.v1.SearchIndexTool.rephraser_options:type_name -> yandex.cloud.ai.assistants.v1.RephraserOptions
	9,  // 14: yandex.cloud.ai.assistants.v1.SearchIndexTool.call_strategy:type_name -> yandex.cloud.ai.assistants.v1.CallStrategy
	20, // 15: yandex.cloud.ai.assistants.v1.CallStrategy.always_call:type_name -> yandex.cloud.ai.assistants.v1.CallStrategy.AlwaysCall
	21, // 16: yandex.cloud.ai.assistants.v1.CallStrategy.auto_call:type_name -> yandex.cloud.ai.assistants.v1.CallStrategy.AutoCall
	28, // 17: yandex.cloud.ai.assistants.v1.FunctionTool.parameters:type_name -> google.protobuf.Struct
	28, // 18: yandex.cloud.ai.assistants.v1.FunctionCall.arguments:type_name -> google.protobuf.Struct
	28, // 19: yandex.cloud.ai.assistants.v1.JsonSchema.schema:type_name -> google.protobuf.Struct
	14, // 20: yandex.cloud.ai.assistants.v1.ResponseFormat.json_schema:type_name -> yandex.cloud.ai.assistants.v1.JsonSchema
	17, // 21: yandex.cloud.ai.assistants.v1.GenSearchTool.options:type_name -> yandex.cloud.ai.assistants.v1.GenSearchOptions
	22, // 22: yandex.cloud.ai.assistants.v1.GenSearchOptions.site:type_name -> yandex.cloud.ai.assistants.v1.GenSearchOptions.SiteOption
	24, // 23: yandex.cloud.ai.assistants.v1.GenSearchOptions.host:type_name -> yandex.cloud.ai.assistants.v1.GenSearchOptions.HostOption
	23, // 24: yandex.cloud.ai.assistants.v1.GenSearchOptions.url:type_name -> yandex.cloud.ai.assistants.v1.GenSearchOptions.UrlOption
	25, // 25: yandex.cloud.ai.assistants.v1.GenSearchOptions.search_filters:type_name -> yandex.cloud.ai.assistants.v1.GenSearchOptions.SearchFilter
	0,  // 26: yandex.cloud.ai.assistants.v1.GenSearchOptions.SearchFilter.format:type_name -> yandex.cloud.ai.assistants.v1.GenSearchOptions.SearchFilter.DocFormat
	27, // [27:27] is the sub-list for method output_type
	27, // [27:27] is the sub-list for method input_type
	27, // [27:27] is the sub-list for extension type_name
	27, // [27:27] is the sub-list for extension extendee
	0,  // [0:27] is the sub-list for field type_name
}

func init() { file_yandex_cloud_ai_assistants_v1_common_proto_init() }
func file_yandex_cloud_ai_assistants_v1_common_proto_init() {
	if File_yandex_cloud_ai_assistants_v1_common_proto != nil {
		return
	}
	file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[0].OneofWrappers = []any{
		(*PromptTruncationOptions_AutoStrategy_)(nil),
		(*PromptTruncationOptions_LastMessagesStrategy_)(nil),
	}
	file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[2].OneofWrappers = []any{
		(*Tool_SearchIndex)(nil),
		(*Tool_Function)(nil),
		(*Tool_GenSearch)(nil),
	}
	file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[3].OneofWrappers = []any{
		(*ToolCall_FunctionCall)(nil),
	}
	file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[5].OneofWrappers = []any{
		(*ToolResult_FunctionResult)(nil),
	}
	file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[8].OneofWrappers = []any{
		(*CallStrategy_AlwaysCall_)(nil),
		(*CallStrategy_AutoCall_)(nil),
	}
	file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[11].OneofWrappers = []any{
		(*FunctionResult_Content)(nil),
	}
	file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[14].OneofWrappers = []any{
		(*ResponseFormat_JsonObject)(nil),
		(*ResponseFormat_JsonSchema)(nil),
	}
	file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[16].OneofWrappers = []any{
		(*GenSearchOptions_Site)(nil),
		(*GenSearchOptions_Host)(nil),
		(*GenSearchOptions_Url)(nil),
	}
	file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes[24].OneofWrappers = []any{
		(*GenSearchOptions_SearchFilter_Date)(nil),
		(*GenSearchOptions_SearchFilter_Lang)(nil),
		(*GenSearchOptions_SearchFilter_Format)(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_common_proto_rawDesc), len(file_yandex_cloud_ai_assistants_v1_common_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   25,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_ai_assistants_v1_common_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_ai_assistants_v1_common_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_ai_assistants_v1_common_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_ai_assistants_v1_common_proto_msgTypes,
	}.Build()
	File_yandex_cloud_ai_assistants_v1_common_proto = out.File
	file_yandex_cloud_ai_assistants_v1_common_proto_goTypes = nil
	file_yandex_cloud_ai_assistants_v1_common_proto_depIdxs = nil
}
