// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v4.25.7
// source: google/cloud/dialogflow/cx/v3/generator.proto

package cxpb

import (
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"

	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
)

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)
)

// Generators contain prompt to be sent to the LLM model to generate text. The
// prompt can contain parameters which will be resolved before calling the
// model. It can optionally contain banned phrases to ensure the model responses
// are safe.
type Generator struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The unique identifier of the generator.
	// Must be set for the
	// [Generators.UpdateGenerator][google.cloud.dialogflow.cx.v3.Generators.UpdateGenerator]
	// method. [Generators.CreateGenerate][] populates the name automatically.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/generators/<GeneratorID>`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Required. The human-readable name of the generator, unique within the
	// agent. The prompt contains pre-defined parameters such as $conversation,
	// $last-user-utterance, etc. populated by Dialogflow. It can also contain
	// custom placeholders which will be resolved during fulfillment.
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Required. Prompt for the LLM model.
	PromptText *Phrase `protobuf:"bytes,3,opt,name=prompt_text,json=promptText,proto3" json:"prompt_text,omitempty"`
	// Optional. List of custom placeholders in the prompt text.
	Placeholders []*Generator_Placeholder `protobuf:"bytes,5,rep,name=placeholders,proto3" json:"placeholders,omitempty"`
	// The LLM model settings.
	LlmModelSettings *LlmModelSettings `protobuf:"bytes,9,opt,name=llm_model_settings,json=llmModelSettings,proto3" json:"llm_model_settings,omitempty"`
	// Parameters passed to the LLM to configure its behavior.
	ModelParameter *Generator_ModelParameter `protobuf:"bytes,8,opt,name=model_parameter,json=modelParameter,proto3" json:"model_parameter,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*Generator) ProtoMessage() {}

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

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

func (x *Generator) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *Generator) GetPromptText() *Phrase {
	if x != nil {
		return x.PromptText
	}
	return nil
}

func (x *Generator) GetPlaceholders() []*Generator_Placeholder {
	if x != nil {
		return x.Placeholders
	}
	return nil
}

func (x *Generator) GetLlmModelSettings() *LlmModelSettings {
	if x != nil {
		return x.LlmModelSettings
	}
	return nil
}

func (x *Generator) GetModelParameter() *Generator_ModelParameter {
	if x != nil {
		return x.ModelParameter
	}
	return nil
}

// Text input which can be used for prompt or banned phrases.
type Phrase struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Text input which can be used for prompt or banned phrases.
	Text          string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Phrase) ProtoMessage() {}

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

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

// The request message for
// [Generators.ListGenerators][google.cloud.dialogflow.cx.v3.Generators.ListGenerators].
type ListGeneratorsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The agent to list all generators for.
	// Format: `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The language to list generators for.
	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	// The maximum number of items to return in a single page. By default 100 and
	// at most 1000.
	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// The next_page_token value returned from a previous list request.
	PageToken     string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListGeneratorsRequest) ProtoMessage() {}

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

func (x *ListGeneratorsRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ListGeneratorsRequest) GetLanguageCode() string {
	if x != nil {
		return x.LanguageCode
	}
	return ""
}

func (x *ListGeneratorsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListGeneratorsRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

// The response message for
// [Generators.ListGenerators][google.cloud.dialogflow.cx.v3.Generators.ListGenerators].
type ListGeneratorsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The list of generators. There will be a maximum number of items returned
	// based on the page_size field in the request.
	Generators []*Generator `protobuf:"bytes,1,rep,name=generators,proto3" json:"generators,omitempty"`
	// Token to retrieve the next page of results, or empty if there are no more
	// results in the list.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListGeneratorsResponse) ProtoMessage() {}

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

func (x *ListGeneratorsResponse) GetGenerators() []*Generator {
	if x != nil {
		return x.Generators
	}
	return nil
}

func (x *ListGeneratorsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// The request message for
// [Generators.GetGenerator][google.cloud.dialogflow.cx.v3.Generators.GetGenerator].
type GetGeneratorRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The name of the generator.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/generators/<GeneratorID>`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The language to list generators for.
	LanguageCode  string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetGeneratorRequest) ProtoMessage() {}

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

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

func (x *GetGeneratorRequest) GetLanguageCode() string {
	if x != nil {
		return x.LanguageCode
	}
	return ""
}

// The request message for
// [Generators.CreateGenerator][google.cloud.dialogflow.cx.v3.Generators.CreateGenerator].
type CreateGeneratorRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The agent to create a generator for.
	// Format: `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. The generator to create.
	Generator *Generator `protobuf:"bytes,2,opt,name=generator,proto3" json:"generator,omitempty"`
	// The language to create generators for the following fields:
	// *  `Generator.prompt_text.text`
	// If not specified, the agent's default language is used.
	LanguageCode  string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateGeneratorRequest) ProtoMessage() {}

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

func (x *CreateGeneratorRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *CreateGeneratorRequest) GetGenerator() *Generator {
	if x != nil {
		return x.Generator
	}
	return nil
}

func (x *CreateGeneratorRequest) GetLanguageCode() string {
	if x != nil {
		return x.LanguageCode
	}
	return ""
}

// The request message for
// [Generators.UpdateGenerator][google.cloud.dialogflow.cx.v3.Generators.UpdateGenerator].
type UpdateGeneratorRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The generator to update.
	Generator *Generator `protobuf:"bytes,1,opt,name=generator,proto3" json:"generator,omitempty"`
	// The language to list generators for.
	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	// The mask to control which fields get updated. If the mask is not present,
	// all fields will be updated.
	UpdateMask    *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UpdateGeneratorRequest) ProtoMessage() {}

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

func (x *UpdateGeneratorRequest) GetGenerator() *Generator {
	if x != nil {
		return x.Generator
	}
	return nil
}

func (x *UpdateGeneratorRequest) GetLanguageCode() string {
	if x != nil {
		return x.LanguageCode
	}
	return ""
}

func (x *UpdateGeneratorRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
	if x != nil {
		return x.UpdateMask
	}
	return nil
}

// The request message for
// [Generators.DeleteGenerator][google.cloud.dialogflow.cx.v3.Generators.DeleteGenerator].
type DeleteGeneratorRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The name of the generator to delete.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/generators/<GeneratorID>`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// This field has no effect for generators not being used.
	// For generators that are used by pages/flows/transition route groups:
	//
	//   - If `force` is set to false, an error will be returned with message
	//     indicating the referenced resources.
	//   - If `force` is set to true, Dialogflow will remove the generator, as well
	//     as any references to the generator (i.e.
	//     [Generator][Fulfillment.generator]) in fulfillments.
	Force         bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeleteGeneratorRequest) ProtoMessage() {}

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

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

func (x *DeleteGeneratorRequest) GetForce() bool {
	if x != nil {
		return x.Force
	}
	return false
}

// Represents a custom placeholder in the prompt text.
type Generator_Placeholder struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique ID used to map custom placeholder to parameters in fulfillment.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Custom placeholder value in the prompt text.
	Name          string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Generator_Placeholder) ProtoMessage() {}

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

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

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

// Parameters to be passed to the LLM. If not set, default values will be
// used.
type Generator_ModelParameter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The temperature used for sampling. Temperature sampling occurs after both
	// topP and topK have been applied.
	// Valid range: [0.0, 1.0]
	// Low temperature = less random. High temperature = more random.
	Temperature *float32 `protobuf:"fixed32,1,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"`
	// The maximum number of tokens to generate.
	MaxDecodeSteps *int32 `protobuf:"varint,2,opt,name=max_decode_steps,json=maxDecodeSteps,proto3,oneof" json:"max_decode_steps,omitempty"`
	// If set, only the tokens comprising the top top_p probability mass are
	// considered. If both top_p and top_k are
	// set, top_p will be used for further refining candidates selected with
	// top_k.
	// Valid range: (0.0, 1.0].
	// Small topP = less random. Large topP = more random.
	TopP *float32 `protobuf:"fixed32,3,opt,name=top_p,json=topP,proto3,oneof" json:"top_p,omitempty"`
	// If set, the sampling process in each step is limited to the top_k tokens
	// with highest probabilities.
	// Valid range: [1, 40] or 1000+.
	// Small topK = less random. Large topK = more random.
	TopK          *int32 `protobuf:"varint,4,opt,name=top_k,json=topK,proto3,oneof" json:"top_k,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Generator_ModelParameter) ProtoMessage() {}

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

func (x *Generator_ModelParameter) GetTemperature() float32 {
	if x != nil && x.Temperature != nil {
		return *x.Temperature
	}
	return 0
}

func (x *Generator_ModelParameter) GetMaxDecodeSteps() int32 {
	if x != nil && x.MaxDecodeSteps != nil {
		return *x.MaxDecodeSteps
	}
	return 0
}

func (x *Generator_ModelParameter) GetTopP() float32 {
	if x != nil && x.TopP != nil {
		return *x.TopP
	}
	return 0
}

func (x *Generator_ModelParameter) GetTopK() int32 {
	if x != nil && x.TopK != nil {
		return *x.TopK
	}
	return 0
}

var File_google_cloud_dialogflow_cx_v3_generator_proto protoreflect.FileDescriptor

const file_google_cloud_dialogflow_cx_v3_generator_proto_rawDesc = "" +
	"\n" +
	"-google/cloud/dialogflow/cx/v3/generator.proto\x12\x1dgoogle.cloud.dialogflow.cx.v3\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a7google/cloud/dialogflow/cx/v3/generative_settings.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\"\xb6\x06\n" +
	"\tGenerator\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12&\n" +
	"\fdisplay_name\x18\x02 \x01(\tB\x03\xe0A\x02R\vdisplayName\x12K\n" +
	"\vprompt_text\x18\x03 \x01(\v2%.google.cloud.dialogflow.cx.v3.PhraseB\x03\xe0A\x02R\n" +
	"promptText\x12]\n" +
	"\fplaceholders\x18\x05 \x03(\v24.google.cloud.dialogflow.cx.v3.Generator.PlaceholderB\x03\xe0A\x01R\fplaceholders\x12]\n" +
	"\x12llm_model_settings\x18\t \x01(\v2/.google.cloud.dialogflow.cx.v3.LlmModelSettingsR\x10llmModelSettings\x12`\n" +
	"\x0fmodel_parameter\x18\b \x01(\v27.google.cloud.dialogflow.cx.v3.Generator.ModelParameterR\x0emodelParameter\x1a1\n" +
	"\vPlaceholder\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x1a\xd3\x01\n" +
	"\x0eModelParameter\x12%\n" +
	"\vtemperature\x18\x01 \x01(\x02H\x00R\vtemperature\x88\x01\x01\x12-\n" +
	"\x10max_decode_steps\x18\x02 \x01(\x05H\x01R\x0emaxDecodeSteps\x88\x01\x01\x12\x18\n" +
	"\x05top_p\x18\x03 \x01(\x02H\x02R\x04topP\x88\x01\x01\x12\x18\n" +
	"\x05top_k\x18\x04 \x01(\x05H\x03R\x04topK\x88\x01\x01B\x0e\n" +
	"\f_temperatureB\x13\n" +
	"\x11_max_decode_stepsB\b\n" +
	"\x06_top_pB\b\n" +
	"\x06_top_k:w\xeaAt\n" +
	"#dialogflow.googleapis.com/Generator\x12Mprojects/{project}/locations/{location}/agents/{agent}/generators/{generator}\"!\n" +
	"\x06Phrase\x12\x17\n" +
	"\x04text\x18\x01 \x01(\tB\x03\xe0A\x02R\x04text\"\xbd\x01\n" +
	"\x15ListGeneratorsRequest\x12C\n" +
	"\x06parent\x18\x01 \x01(\tB+\xe0A\x02\xfaA%\x12#dialogflow.googleapis.com/GeneratorR\x06parent\x12#\n" +
	"\rlanguage_code\x18\x02 \x01(\tR\flanguageCode\x12\x1b\n" +
	"\tpage_size\x18\x03 \x01(\x05R\bpageSize\x12\x1d\n" +
	"\n" +
	"page_token\x18\x04 \x01(\tR\tpageToken\"\x8a\x01\n" +
	"\x16ListGeneratorsResponse\x12H\n" +
	"\n" +
	"generators\x18\x01 \x03(\v2(.google.cloud.dialogflow.cx.v3.GeneratorR\n" +
	"generators\x12&\n" +
	"\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"{\n" +
	"\x13GetGeneratorRequest\x12?\n" +
	"\x04name\x18\x01 \x01(\tB+\xe0A\x02\xfaA%\n" +
	"#dialogflow.googleapis.com/GeneratorR\x04name\x12#\n" +
	"\rlanguage_code\x18\x02 \x01(\tR\flanguageCode\"\xcf\x01\n" +
	"\x16CreateGeneratorRequest\x12C\n" +
	"\x06parent\x18\x01 \x01(\tB+\xe0A\x02\xfaA%\x12#dialogflow.googleapis.com/GeneratorR\x06parent\x12K\n" +
	"\tgenerator\x18\x02 \x01(\v2(.google.cloud.dialogflow.cx.v3.GeneratorB\x03\xe0A\x02R\tgenerator\x12#\n" +
	"\rlanguage_code\x18\x03 \x01(\tR\flanguageCode\"\xc7\x01\n" +
	"\x16UpdateGeneratorRequest\x12K\n" +
	"\tgenerator\x18\x01 \x01(\v2(.google.cloud.dialogflow.cx.v3.GeneratorB\x03\xe0A\x02R\tgenerator\x12#\n" +
	"\rlanguage_code\x18\x02 \x01(\tR\flanguageCode\x12;\n" +
	"\vupdate_mask\x18\x03 \x01(\v2\x1a.google.protobuf.FieldMaskR\n" +
	"updateMask\"o\n" +
	"\x16DeleteGeneratorRequest\x12?\n" +
	"\x04name\x18\x01 \x01(\tB+\xe0A\x02\xfaA%\n" +
	"#dialogflow.googleapis.com/GeneratorR\x04name\x12\x14\n" +
	"\x05force\x18\x02 \x01(\bR\x05force2\xe9\b\n" +
	"\n" +
	"Generators\x12\xc7\x01\n" +
	"\x0eListGenerators\x124.google.cloud.dialogflow.cx.v3.ListGeneratorsRequest\x1a5.google.cloud.dialogflow.cx.v3.ListGeneratorsResponse\"H\xdaA\x06parent\x82\xd3\xe4\x93\x029\x127/v3/{parent=projects/*/locations/*/agents/*}/generators\x12\xb4\x01\n" +
	"\fGetGenerator\x122.google.cloud.dialogflow.cx.v3.GetGeneratorRequest\x1a(.google.cloud.dialogflow.cx.v3.Generator\"F\xdaA\x04name\x82\xd3\xe4\x93\x029\x127/v3/{name=projects/*/locations/*/agents/*/generators/*}\x12\xd1\x01\n" +
	"\x0fCreateGenerator\x125.google.cloud.dialogflow.cx.v3.CreateGeneratorRequest\x1a(.google.cloud.dialogflow.cx.v3.Generator\"]\xdaA\x10parent,generator\x82\xd3\xe4\x93\x02D:\tgenerator\"7/v3/{parent=projects/*/locations/*/agents/*}/generators\x12\xe0\x01\n" +
	"\x0fUpdateGenerator\x125.google.cloud.dialogflow.cx.v3.UpdateGeneratorRequest\x1a(.google.cloud.dialogflow.cx.v3.Generator\"l\xdaA\x15generator,update_mask\x82\xd3\xe4\x93\x02N:\tgenerator2A/v3/{generator.name=projects/*/locations/*/agents/*/generators/*}\x12\xa8\x01\n" +
	"\x0fDeleteGenerator\x125.google.cloud.dialogflow.cx.v3.DeleteGeneratorRequest\x1a\x16.google.protobuf.Empty\"F\xdaA\x04name\x82\xd3\xe4\x93\x029*7/v3/{name=projects/*/locations/*/agents/*/generators/*}\x1ax\xcaA\x19dialogflow.googleapis.com\xd2AYhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/dialogflowB\xb1\x01\n" +
	"!com.google.cloud.dialogflow.cx.v3B\x0eGeneratorProtoP\x01Z1cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb\xa2\x02\x02DF\xaa\x02\x1dGoogle.Cloud.Dialogflow.Cx.V3\xea\x02!Google::Cloud::Dialogflow::CX::V3b\x06proto3"

var (
	file_google_cloud_dialogflow_cx_v3_generator_proto_rawDescOnce sync.Once
	file_google_cloud_dialogflow_cx_v3_generator_proto_rawDescData []byte
)

func file_google_cloud_dialogflow_cx_v3_generator_proto_rawDescGZIP() []byte {
	file_google_cloud_dialogflow_cx_v3_generator_proto_rawDescOnce.Do(func() {
		file_google_cloud_dialogflow_cx_v3_generator_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_dialogflow_cx_v3_generator_proto_rawDesc), len(file_google_cloud_dialogflow_cx_v3_generator_proto_rawDesc)))
	})
	return file_google_cloud_dialogflow_cx_v3_generator_proto_rawDescData
}

var file_google_cloud_dialogflow_cx_v3_generator_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
var file_google_cloud_dialogflow_cx_v3_generator_proto_goTypes = []any{
	(*Generator)(nil),                // 0: google.cloud.dialogflow.cx.v3.Generator
	(*Phrase)(nil),                   // 1: google.cloud.dialogflow.cx.v3.Phrase
	(*ListGeneratorsRequest)(nil),    // 2: google.cloud.dialogflow.cx.v3.ListGeneratorsRequest
	(*ListGeneratorsResponse)(nil),   // 3: google.cloud.dialogflow.cx.v3.ListGeneratorsResponse
	(*GetGeneratorRequest)(nil),      // 4: google.cloud.dialogflow.cx.v3.GetGeneratorRequest
	(*CreateGeneratorRequest)(nil),   // 5: google.cloud.dialogflow.cx.v3.CreateGeneratorRequest
	(*UpdateGeneratorRequest)(nil),   // 6: google.cloud.dialogflow.cx.v3.UpdateGeneratorRequest
	(*DeleteGeneratorRequest)(nil),   // 7: google.cloud.dialogflow.cx.v3.DeleteGeneratorRequest
	(*Generator_Placeholder)(nil),    // 8: google.cloud.dialogflow.cx.v3.Generator.Placeholder
	(*Generator_ModelParameter)(nil), // 9: google.cloud.dialogflow.cx.v3.Generator.ModelParameter
	(*LlmModelSettings)(nil),         // 10: google.cloud.dialogflow.cx.v3.LlmModelSettings
	(*fieldmaskpb.FieldMask)(nil),    // 11: google.protobuf.FieldMask
	(*emptypb.Empty)(nil),            // 12: google.protobuf.Empty
}
var file_google_cloud_dialogflow_cx_v3_generator_proto_depIdxs = []int32{
	1,  // 0: google.cloud.dialogflow.cx.v3.Generator.prompt_text:type_name -> google.cloud.dialogflow.cx.v3.Phrase
	8,  // 1: google.cloud.dialogflow.cx.v3.Generator.placeholders:type_name -> google.cloud.dialogflow.cx.v3.Generator.Placeholder
	10, // 2: google.cloud.dialogflow.cx.v3.Generator.llm_model_settings:type_name -> google.cloud.dialogflow.cx.v3.LlmModelSettings
	9,  // 3: google.cloud.dialogflow.cx.v3.Generator.model_parameter:type_name -> google.cloud.dialogflow.cx.v3.Generator.ModelParameter
	0,  // 4: google.cloud.dialogflow.cx.v3.ListGeneratorsResponse.generators:type_name -> google.cloud.dialogflow.cx.v3.Generator
	0,  // 5: google.cloud.dialogflow.cx.v3.CreateGeneratorRequest.generator:type_name -> google.cloud.dialogflow.cx.v3.Generator
	0,  // 6: google.cloud.dialogflow.cx.v3.UpdateGeneratorRequest.generator:type_name -> google.cloud.dialogflow.cx.v3.Generator
	11, // 7: google.cloud.dialogflow.cx.v3.UpdateGeneratorRequest.update_mask:type_name -> google.protobuf.FieldMask
	2,  // 8: google.cloud.dialogflow.cx.v3.Generators.ListGenerators:input_type -> google.cloud.dialogflow.cx.v3.ListGeneratorsRequest
	4,  // 9: google.cloud.dialogflow.cx.v3.Generators.GetGenerator:input_type -> google.cloud.dialogflow.cx.v3.GetGeneratorRequest
	5,  // 10: google.cloud.dialogflow.cx.v3.Generators.CreateGenerator:input_type -> google.cloud.dialogflow.cx.v3.CreateGeneratorRequest
	6,  // 11: google.cloud.dialogflow.cx.v3.Generators.UpdateGenerator:input_type -> google.cloud.dialogflow.cx.v3.UpdateGeneratorRequest
	7,  // 12: google.cloud.dialogflow.cx.v3.Generators.DeleteGenerator:input_type -> google.cloud.dialogflow.cx.v3.DeleteGeneratorRequest
	3,  // 13: google.cloud.dialogflow.cx.v3.Generators.ListGenerators:output_type -> google.cloud.dialogflow.cx.v3.ListGeneratorsResponse
	0,  // 14: google.cloud.dialogflow.cx.v3.Generators.GetGenerator:output_type -> google.cloud.dialogflow.cx.v3.Generator
	0,  // 15: google.cloud.dialogflow.cx.v3.Generators.CreateGenerator:output_type -> google.cloud.dialogflow.cx.v3.Generator
	0,  // 16: google.cloud.dialogflow.cx.v3.Generators.UpdateGenerator:output_type -> google.cloud.dialogflow.cx.v3.Generator
	12, // 17: google.cloud.dialogflow.cx.v3.Generators.DeleteGenerator:output_type -> google.protobuf.Empty
	13, // [13:18] is the sub-list for method output_type
	8,  // [8:13] is the sub-list for method input_type
	8,  // [8:8] is the sub-list for extension type_name
	8,  // [8:8] is the sub-list for extension extendee
	0,  // [0:8] is the sub-list for field type_name
}

func init() { file_google_cloud_dialogflow_cx_v3_generator_proto_init() }
func file_google_cloud_dialogflow_cx_v3_generator_proto_init() {
	if File_google_cloud_dialogflow_cx_v3_generator_proto != nil {
		return
	}
	file_google_cloud_dialogflow_cx_v3_generative_settings_proto_init()
	file_google_cloud_dialogflow_cx_v3_generator_proto_msgTypes[9].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_cloud_dialogflow_cx_v3_generator_proto_rawDesc), len(file_google_cloud_dialogflow_cx_v3_generator_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   10,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_google_cloud_dialogflow_cx_v3_generator_proto_goTypes,
		DependencyIndexes: file_google_cloud_dialogflow_cx_v3_generator_proto_depIdxs,
		MessageInfos:      file_google_cloud_dialogflow_cx_v3_generator_proto_msgTypes,
	}.Build()
	File_google_cloud_dialogflow_cx_v3_generator_proto = out.File
	file_google_cloud_dialogflow_cx_v3_generator_proto_goTypes = nil
	file_google_cloud_dialogflow_cx_v3_generator_proto_depIdxs = nil
}
