// Code generated by protoc-gen-goext. DO NOT EDIT.

package assistants

import (
	structpb "google.golang.org/protobuf/types/known/structpb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
)

type PromptTruncationOptions_TruncationStrategy = isPromptTruncationOptions_TruncationStrategy

func (m *PromptTruncationOptions) SetTruncationStrategy(v PromptTruncationOptions_TruncationStrategy) {
	m.TruncationStrategy = v
}

func (m *PromptTruncationOptions) SetMaxPromptTokens(v *wrapperspb.Int64Value) {
	m.MaxPromptTokens = v
}

func (m *PromptTruncationOptions) SetAutoStrategy(v *PromptTruncationOptions_AutoStrategy) {
	m.TruncationStrategy = &PromptTruncationOptions_AutoStrategy_{
		AutoStrategy: v,
	}
}

func (m *PromptTruncationOptions) SetLastMessagesStrategy(v *PromptTruncationOptions_LastMessagesStrategy) {
	m.TruncationStrategy = &PromptTruncationOptions_LastMessagesStrategy_{
		LastMessagesStrategy: v,
	}
}

func (m *PromptTruncationOptions_LastMessagesStrategy) SetNumMessages(v int64) {
	m.NumMessages = v
}

func (m *CompletionOptions) SetMaxTokens(v *wrapperspb.Int64Value) {
	m.MaxTokens = v
}

func (m *CompletionOptions) SetTemperature(v *wrapperspb.DoubleValue) {
	m.Temperature = v
}

type Tool_ToolType = isTool_ToolType

func (m *Tool) SetToolType(v Tool_ToolType) {
	m.ToolType = v
}

func (m *Tool) SetSearchIndex(v *SearchIndexTool) {
	m.ToolType = &Tool_SearchIndex{
		SearchIndex: v,
	}
}

func (m *Tool) SetFunction(v *FunctionTool) {
	m.ToolType = &Tool_Function{
		Function: v,
	}
}

func (m *Tool) SetGenSearch(v *GenSearchTool) {
	m.ToolType = &Tool_GenSearch{
		GenSearch: v,
	}
}

type ToolCall_ToolCallType = isToolCall_ToolCallType

func (m *ToolCall) SetToolCallType(v ToolCall_ToolCallType) {
	m.ToolCallType = v
}

func (m *ToolCall) SetFunctionCall(v *FunctionCall) {
	m.ToolCallType = &ToolCall_FunctionCall{
		FunctionCall: v,
	}
}

func (m *ToolCallList) SetToolCalls(v []*ToolCall) {
	m.ToolCalls = v
}

type ToolResult_ToolResultType = isToolResult_ToolResultType

func (m *ToolResult) SetToolResultType(v ToolResult_ToolResultType) {
	m.ToolResultType = v
}

func (m *ToolResult) SetFunctionResult(v *FunctionResult) {
	m.ToolResultType = &ToolResult_FunctionResult{
		FunctionResult: v,
	}
}

func (m *ToolResultList) SetToolResults(v []*ToolResult) {
	m.ToolResults = v
}

func (m *SearchIndexTool) SetSearchIndexIds(v []string) {
	m.SearchIndexIds = v
}

func (m *SearchIndexTool) SetMaxNumResults(v *wrapperspb.Int64Value) {
	m.MaxNumResults = v
}

func (m *SearchIndexTool) SetRephraserOptions(v *RephraserOptions) {
	m.RephraserOptions = v
}

func (m *SearchIndexTool) SetCallStrategy(v *CallStrategy) {
	m.CallStrategy = v
}

type CallStrategy_Strategy = isCallStrategy_Strategy

func (m *CallStrategy) SetStrategy(v CallStrategy_Strategy) {
	m.Strategy = v
}

func (m *CallStrategy) SetAlwaysCall(v *CallStrategy_AlwaysCall) {
	m.Strategy = &CallStrategy_AlwaysCall_{
		AlwaysCall: v,
	}
}

func (m *CallStrategy) SetAutoCall(v *CallStrategy_AutoCall) {
	m.Strategy = &CallStrategy_AutoCall_{
		AutoCall: v,
	}
}

func (m *CallStrategy_AutoCall) SetName(v string) {
	m.Name = v
}

func (m *CallStrategy_AutoCall) SetInstruction(v string) {
	m.Instruction = v
}

func (m *FunctionTool) SetName(v string) {
	m.Name = v
}

func (m *FunctionTool) SetDescription(v string) {
	m.Description = v
}

func (m *FunctionTool) SetParameters(v *structpb.Struct) {
	m.Parameters = v
}

func (m *FunctionCall) SetName(v string) {
	m.Name = v
}

func (m *FunctionCall) SetArguments(v *structpb.Struct) {
	m.Arguments = v
}

type FunctionResult_ContentType = isFunctionResult_ContentType

func (m *FunctionResult) SetContentType(v FunctionResult_ContentType) {
	m.ContentType = v
}

func (m *FunctionResult) SetName(v string) {
	m.Name = v
}

func (m *FunctionResult) SetContent(v string) {
	m.ContentType = &FunctionResult_Content{
		Content: v,
	}
}

func (m *RephraserOptions) SetRephraserUri(v string) {
	m.RephraserUri = v
}

func (m *JsonSchema) SetSchema(v *structpb.Struct) {
	m.Schema = v
}

type ResponseFormat_ResponseFormat = isResponseFormat_ResponseFormat

func (m *ResponseFormat) SetResponseFormat(v ResponseFormat_ResponseFormat) {
	m.ResponseFormat = v
}

func (m *ResponseFormat) SetJsonObject(v bool) {
	m.ResponseFormat = &ResponseFormat_JsonObject{
		JsonObject: v,
	}
}

func (m *ResponseFormat) SetJsonSchema(v *JsonSchema) {
	m.ResponseFormat = &ResponseFormat_JsonSchema{
		JsonSchema: v,
	}
}

func (m *GenSearchTool) SetOptions(v *GenSearchOptions) {
	m.Options = v
}

func (m *GenSearchTool) SetDescription(v string) {
	m.Description = v
}

type GenSearchOptions_SiteOptions = isGenSearchOptions_SiteOptions

func (m *GenSearchOptions) SetSiteOptions(v GenSearchOptions_SiteOptions) {
	m.SiteOptions = v
}

func (m *GenSearchOptions) SetSite(v *GenSearchOptions_SiteOption) {
	m.SiteOptions = &GenSearchOptions_Site{
		Site: v,
	}
}

func (m *GenSearchOptions) SetHost(v *GenSearchOptions_HostOption) {
	m.SiteOptions = &GenSearchOptions_Host{
		Host: v,
	}
}

func (m *GenSearchOptions) SetUrl(v *GenSearchOptions_UrlOption) {
	m.SiteOptions = &GenSearchOptions_Url{
		Url: v,
	}
}

func (m *GenSearchOptions) SetEnableNrfmDocs(v bool) {
	m.EnableNrfmDocs = v
}

func (m *GenSearchOptions) SetSearchFilters(v []*GenSearchOptions_SearchFilter) {
	m.SearchFilters = v
}

func (m *GenSearchOptions_SiteOption) SetSite(v []string) {
	m.Site = v
}

func (m *GenSearchOptions_UrlOption) SetUrl(v []string) {
	m.Url = v
}

func (m *GenSearchOptions_HostOption) SetHost(v []string) {
	m.Host = v
}

type GenSearchOptions_SearchFilter_FilterOptions = isGenSearchOptions_SearchFilter_FilterOptions

func (m *GenSearchOptions_SearchFilter) SetFilterOptions(v GenSearchOptions_SearchFilter_FilterOptions) {
	m.FilterOptions = v
}

func (m *GenSearchOptions_SearchFilter) SetDate(v string) {
	m.FilterOptions = &GenSearchOptions_SearchFilter_Date{
		Date: v,
	}
}

func (m *GenSearchOptions_SearchFilter) SetLang(v string) {
	m.FilterOptions = &GenSearchOptions_SearchFilter_Lang{
		Lang: v,
	}
}

func (m *GenSearchOptions_SearchFilter) SetFormat(v GenSearchOptions_SearchFilter_DocFormat) {
	m.FilterOptions = &GenSearchOptions_SearchFilter_Format{
		Format: v,
	}
}
