blob: 6e3d535800f13b93dd4a7a4a90caddc7a784ba4e [file] [edit]
// Copyright 2025 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 v6.33.2
// source: google/cloud/discoveryengine/v1/session.proto
package discoveryenginepb
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"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)
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)
)
// Enumeration of the state of the session.
type Session_State int32
const (
// State is unspecified.
Session_STATE_UNSPECIFIED Session_State = 0
// The session is currently open.
Session_IN_PROGRESS Session_State = 1
)
// Enum value maps for Session_State.
var (
Session_State_name = map[int32]string{
0: "STATE_UNSPECIFIED",
1: "IN_PROGRESS",
}
Session_State_value = map[string]int32{
"STATE_UNSPECIFIED": 0,
"IN_PROGRESS": 1,
}
)
func (x Session_State) Enum() *Session_State {
p := new(Session_State)
*p = x
return p
}
func (x Session_State) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Session_State) Descriptor() protoreflect.EnumDescriptor {
return file_google_cloud_discoveryengine_v1_session_proto_enumTypes[0].Descriptor()
}
func (Session_State) Type() protoreflect.EnumType {
return &file_google_cloud_discoveryengine_v1_session_proto_enumTypes[0]
}
func (x Session_State) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Session_State.Descriptor instead.
func (Session_State) EnumDescriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_session_proto_rawDescGZIP(), []int{0, 0}
}
// External session proto definition.
type Session struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Immutable. Fully qualified name
// `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Optional. The display name of the session.
//
// This field is used to identify the session in the UI.
// By default, the display name is the first turn query text in the session.
DisplayName string `protobuf:"bytes,7,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// The state of the session.
State Session_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.cloud.discoveryengine.v1.Session_State" json:"state,omitempty"`
// A unique identifier for tracking users.
UserPseudoId string `protobuf:"bytes,3,opt,name=user_pseudo_id,json=userPseudoId,proto3" json:"user_pseudo_id,omitempty"`
// Turns.
Turns []*Session_Turn `protobuf:"bytes,4,rep,name=turns,proto3" json:"turns,omitempty"`
// Optional. The labels for the session.
// Can be set as filter in ListSessionsRequest.
Labels []string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty"`
// Output only. The time the session started.
StartTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
// Output only. The time the session finished.
EndTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
// Optional. Whether the session is pinned, pinned session will be displayed
// on the top of the session list.
IsPinned bool `protobuf:"varint,8,opt,name=is_pinned,json=isPinned,proto3" json:"is_pinned,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Session) Reset() {
*x = Session{}
mi := &file_google_cloud_discoveryengine_v1_session_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Session) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Session) ProtoMessage() {}
func (x *Session) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_session_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 Session.ProtoReflect.Descriptor instead.
func (*Session) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_session_proto_rawDescGZIP(), []int{0}
}
func (x *Session) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Session) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
func (x *Session) GetState() Session_State {
if x != nil {
return x.State
}
return Session_STATE_UNSPECIFIED
}
func (x *Session) GetUserPseudoId() string {
if x != nil {
return x.UserPseudoId
}
return ""
}
func (x *Session) GetTurns() []*Session_Turn {
if x != nil {
return x.Turns
}
return nil
}
func (x *Session) GetLabels() []string {
if x != nil {
return x.Labels
}
return nil
}
func (x *Session) GetStartTime() *timestamppb.Timestamp {
if x != nil {
return x.StartTime
}
return nil
}
func (x *Session) GetEndTime() *timestamppb.Timestamp {
if x != nil {
return x.EndTime
}
return nil
}
func (x *Session) GetIsPinned() bool {
if x != nil {
return x.IsPinned
}
return false
}
// Defines a user inputed query.
type Query struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Query content.
//
// Types that are valid to be assigned to Content:
//
// *Query_Text
Content isQuery_Content `protobuf_oneof:"content"`
// Output only. Unique Id for the query.
QueryId string `protobuf:"bytes,1,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Query) Reset() {
*x = Query{}
mi := &file_google_cloud_discoveryengine_v1_session_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Query) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Query) ProtoMessage() {}
func (x *Query) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_session_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 Query.ProtoReflect.Descriptor instead.
func (*Query) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_session_proto_rawDescGZIP(), []int{1}
}
func (x *Query) GetContent() isQuery_Content {
if x != nil {
return x.Content
}
return nil
}
func (x *Query) GetText() string {
if x != nil {
if x, ok := x.Content.(*Query_Text); ok {
return x.Text
}
}
return ""
}
func (x *Query) GetQueryId() string {
if x != nil {
return x.QueryId
}
return ""
}
type isQuery_Content interface {
isQuery_Content()
}
type Query_Text struct {
// Plain text.
Text string `protobuf:"bytes,2,opt,name=text,proto3,oneof"`
}
func (*Query_Text) isQuery_Content() {}
// Represents a turn, including a query from the user and a
// answer from service.
type Session_Turn struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Optional. The user query. May not be set if this turn is merely
// regenerating an answer to a different turn
Query *Query `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
// Optional. The resource name of the answer to the user query.
//
// Only set if the answer generation (/answer API call) happened in this
// turn.
Answer string `protobuf:"bytes,2,opt,name=answer,proto3" json:"answer,omitempty"`
// Output only. In
// [ConversationalSearchService.GetSession][google.cloud.discoveryengine.v1.ConversationalSearchService.GetSession]
// API, if
// [GetSessionRequest.include_answer_details][google.cloud.discoveryengine.v1.GetSessionRequest.include_answer_details]
// is set to true, this field will be populated when getting answer query
// session.
DetailedAnswer *Answer `protobuf:"bytes,7,opt,name=detailed_answer,json=detailedAnswer,proto3" json:"detailed_answer,omitempty"`
// Output only. In
// [ConversationalSearchService.GetSession][google.cloud.discoveryengine.v1.ConversationalSearchService.GetSession]
// API, if
// [GetSessionRequest.include_answer_details][google.cloud.discoveryengine.v1.GetSessionRequest.include_answer_details]
// is set to true, this field will be populated when getting assistant
// session.
DetailedAssistAnswer *AssistAnswer `protobuf:"bytes,8,opt,name=detailed_assist_answer,json=detailedAssistAnswer,proto3" json:"detailed_assist_answer,omitempty"`
// Optional. Represents metadata related to the query config, for example
// LLM model and version used, model parameters (temperature, grounding
// parameters, etc.). The prefix "google." is reserved for Google-developed
// functionality.
QueryConfig map[string]string `protobuf:"bytes,16,rep,name=query_config,json=queryConfig,proto3" json:"query_config,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Session_Turn) Reset() {
*x = Session_Turn{}
mi := &file_google_cloud_discoveryengine_v1_session_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Session_Turn) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Session_Turn) ProtoMessage() {}
func (x *Session_Turn) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_discoveryengine_v1_session_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 Session_Turn.ProtoReflect.Descriptor instead.
func (*Session_Turn) Descriptor() ([]byte, []int) {
return file_google_cloud_discoveryengine_v1_session_proto_rawDescGZIP(), []int{0, 0}
}
func (x *Session_Turn) GetQuery() *Query {
if x != nil {
return x.Query
}
return nil
}
func (x *Session_Turn) GetAnswer() string {
if x != nil {
return x.Answer
}
return ""
}
func (x *Session_Turn) GetDetailedAnswer() *Answer {
if x != nil {
return x.DetailedAnswer
}
return nil
}
func (x *Session_Turn) GetDetailedAssistAnswer() *AssistAnswer {
if x != nil {
return x.DetailedAssistAnswer
}
return nil
}
func (x *Session_Turn) GetQueryConfig() map[string]string {
if x != nil {
return x.QueryConfig
}
return nil
}
var File_google_cloud_discoveryengine_v1_session_proto protoreflect.FileDescriptor
const file_google_cloud_discoveryengine_v1_session_proto_rawDesc = "" +
"\n" +
"-google/cloud/discoveryengine/v1/session.proto\x12\x1fgoogle.cloud.discoveryengine.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a,google/cloud/discoveryengine/v1/answer.proto\x1a3google/cloud/discoveryengine/v1/assist_answer.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xcc\n" +
"\n" +
"\aSession\x12\x17\n" +
"\x04name\x18\x01 \x01(\tB\x03\xe0A\x05R\x04name\x12&\n" +
"\fdisplay_name\x18\a \x01(\tB\x03\xe0A\x01R\vdisplayName\x12D\n" +
"\x05state\x18\x02 \x01(\x0e2..google.cloud.discoveryengine.v1.Session.StateR\x05state\x12$\n" +
"\x0euser_pseudo_id\x18\x03 \x01(\tR\fuserPseudoId\x12C\n" +
"\x05turns\x18\x04 \x03(\v2-.google.cloud.discoveryengine.v1.Session.TurnR\x05turns\x12\x1b\n" +
"\x06labels\x18\t \x03(\tB\x03\xe0A\x01R\x06labels\x12>\n" +
"\n" +
"start_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampB\x03\xe0A\x03R\tstartTime\x12:\n" +
"\bend_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampB\x03\xe0A\x03R\aendTime\x12 \n" +
"\tis_pinned\x18\b \x01(\bB\x03\xe0A\x01R\bisPinned\x1a\xf9\x03\n" +
"\x04Turn\x12A\n" +
"\x05query\x18\x01 \x01(\v2&.google.cloud.discoveryengine.v1.QueryB\x03\xe0A\x01R\x05query\x12E\n" +
"\x06answer\x18\x02 \x01(\tB-\xe0A\x01\xfaA'\n" +
"%discoveryengine.googleapis.com/AnswerR\x06answer\x12U\n" +
"\x0fdetailed_answer\x18\a \x01(\v2'.google.cloud.discoveryengine.v1.AnswerB\x03\xe0A\x03R\x0edetailedAnswer\x12h\n" +
"\x16detailed_assist_answer\x18\b \x01(\v2-.google.cloud.discoveryengine.v1.AssistAnswerB\x03\xe0A\x03R\x14detailedAssistAnswer\x12f\n" +
"\fquery_config\x18\x10 \x03(\v2>.google.cloud.discoveryengine.v1.Session.Turn.QueryConfigEntryB\x03\xe0A\x01R\vqueryConfig\x1a>\n" +
"\x10QueryConfigEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"/\n" +
"\x05State\x12\x15\n" +
"\x11STATE_UNSPECIFIED\x10\x00\x12\x0f\n" +
"\vIN_PROGRESS\x10\x01:\xe6\x02\xeaA\xe2\x02\n" +
"&discoveryengine.googleapis.com/Session\x12Rprojects/{project}/locations/{location}/dataStores/{data_store}/sessions/{session}\x12kprojects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/sessions/{session}\x12dprojects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}*\bsessions2\asession\"H\n" +
"\x05Query\x12\x14\n" +
"\x04text\x18\x02 \x01(\tH\x00R\x04text\x12\x1e\n" +
"\bquery_id\x18\x01 \x01(\tB\x03\xe0A\x03R\aqueryIdB\t\n" +
"\acontentB\xff\x01\n" +
"#com.google.cloud.discoveryengine.v1B\fSessionProtoP\x01ZMcloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb\xa2\x02\x0fDISCOVERYENGINE\xaa\x02\x1fGoogle.Cloud.DiscoveryEngine.V1\xca\x02\x1fGoogle\\Cloud\\DiscoveryEngine\\V1\xea\x02\"Google::Cloud::DiscoveryEngine::V1b\x06proto3"
var (
file_google_cloud_discoveryengine_v1_session_proto_rawDescOnce sync.Once
file_google_cloud_discoveryengine_v1_session_proto_rawDescData []byte
)
func file_google_cloud_discoveryengine_v1_session_proto_rawDescGZIP() []byte {
file_google_cloud_discoveryengine_v1_session_proto_rawDescOnce.Do(func() {
file_google_cloud_discoveryengine_v1_session_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_discoveryengine_v1_session_proto_rawDesc), len(file_google_cloud_discoveryengine_v1_session_proto_rawDesc)))
})
return file_google_cloud_discoveryengine_v1_session_proto_rawDescData
}
var file_google_cloud_discoveryengine_v1_session_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_google_cloud_discoveryengine_v1_session_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_google_cloud_discoveryengine_v1_session_proto_goTypes = []any{
(Session_State)(0), // 0: google.cloud.discoveryengine.v1.Session.State
(*Session)(nil), // 1: google.cloud.discoveryengine.v1.Session
(*Query)(nil), // 2: google.cloud.discoveryengine.v1.Query
(*Session_Turn)(nil), // 3: google.cloud.discoveryengine.v1.Session.Turn
nil, // 4: google.cloud.discoveryengine.v1.Session.Turn.QueryConfigEntry
(*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp
(*Answer)(nil), // 6: google.cloud.discoveryengine.v1.Answer
(*AssistAnswer)(nil), // 7: google.cloud.discoveryengine.v1.AssistAnswer
}
var file_google_cloud_discoveryengine_v1_session_proto_depIdxs = []int32{
0, // 0: google.cloud.discoveryengine.v1.Session.state:type_name -> google.cloud.discoveryengine.v1.Session.State
3, // 1: google.cloud.discoveryengine.v1.Session.turns:type_name -> google.cloud.discoveryengine.v1.Session.Turn
5, // 2: google.cloud.discoveryengine.v1.Session.start_time:type_name -> google.protobuf.Timestamp
5, // 3: google.cloud.discoveryengine.v1.Session.end_time:type_name -> google.protobuf.Timestamp
2, // 4: google.cloud.discoveryengine.v1.Session.Turn.query:type_name -> google.cloud.discoveryengine.v1.Query
6, // 5: google.cloud.discoveryengine.v1.Session.Turn.detailed_answer:type_name -> google.cloud.discoveryengine.v1.Answer
7, // 6: google.cloud.discoveryengine.v1.Session.Turn.detailed_assist_answer:type_name -> google.cloud.discoveryengine.v1.AssistAnswer
4, // 7: google.cloud.discoveryengine.v1.Session.Turn.query_config:type_name -> google.cloud.discoveryengine.v1.Session.Turn.QueryConfigEntry
8, // [8:8] is the sub-list for method output_type
8, // [8:8] 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_discoveryengine_v1_session_proto_init() }
func file_google_cloud_discoveryengine_v1_session_proto_init() {
if File_google_cloud_discoveryengine_v1_session_proto != nil {
return
}
file_google_cloud_discoveryengine_v1_answer_proto_init()
file_google_cloud_discoveryengine_v1_assist_answer_proto_init()
file_google_cloud_discoveryengine_v1_session_proto_msgTypes[1].OneofWrappers = []any{
(*Query_Text)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_cloud_discoveryengine_v1_session_proto_rawDesc), len(file_google_cloud_discoveryengine_v1_session_proto_rawDesc)),
NumEnums: 1,
NumMessages: 4,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_google_cloud_discoveryengine_v1_session_proto_goTypes,
DependencyIndexes: file_google_cloud_discoveryengine_v1_session_proto_depIdxs,
EnumInfos: file_google_cloud_discoveryengine_v1_session_proto_enumTypes,
MessageInfos: file_google_cloud_discoveryengine_v1_session_proto_msgTypes,
}.Build()
File_google_cloud_discoveryengine_v1_session_proto = out.File
file_google_cloud_discoveryengine_v1_session_proto_goTypes = nil
file_google_cloud_discoveryengine_v1_session_proto_depIdxs = nil
}