1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.25.0
18// 	protoc        v3.13.0
19// source: google/actions/sdk/v2/interactionmodel/scene.proto
20
21package interactionmodel
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	proto "github.com/golang/protobuf/proto"
28	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
29	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
30)
31
32const (
33	// Verify that this generated code is sufficiently up-to-date.
34	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
35	// Verify that runtime/protoimpl is sufficiently up-to-date.
36	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
37)
38
39// This is a compile-time assertion that a sufficiently up-to-date version
40// of the legacy proto package is being used.
41const _ = proto.ProtoPackageIsVersion4
42
43// Scene is the basic unit of control flow when designing a conversation. They
44// can be chained together with other scenes, generate prompts for the end user,
45// and define slots.
46// The scene name is specified in the name of the file.
47type Scene struct {
48	state         protoimpl.MessageState
49	sizeCache     protoimpl.SizeCache
50	unknownFields protoimpl.UnknownFields
51
52	// Handler to invoke when transitioning into this scene.
53	OnEnter *EventHandler `protobuf:"bytes,1,opt,name=on_enter,json=onEnter,proto3" json:"on_enter,omitempty"`
54	// The list of events that trigger based on intents. These events can
55	// be triggered at any time after the on_load Handler has been called.
56	// Important - these events define the set of intents which are scoped to
57	// this scene and will take precedence over any globally defined events that
58	// have the same intents or their triggering phrases. Intent names must be
59	// unique within a scene.
60	IntentEvents []*IntentEvent `protobuf:"bytes,2,rep,name=intent_events,json=intentEvents,proto3" json:"intent_events,omitempty"`
61	// The list of events to trigger based on conditional statements. These are
62	// evaluated after the form has been filled or immediately after on_load if
63	// this scene does not have a form (evaluation is only done once). Only the
64	// first matching event will be triggered.
65	ConditionalEvents []*ConditionalEvent `protobuf:"bytes,3,rep,name=conditional_events,json=conditionalEvents,proto3" json:"conditional_events,omitempty"`
66	// Ordered list of slots. Each slot defines the type of data
67	// that it will resolve and configuration to customize the experience of this
68	// resolution (e.g. prompts).
69	Slots []*Slot `protobuf:"bytes,4,rep,name=slots,proto3" json:"slots,omitempty"`
70	// Handler called when there is a change in state of a slot not
71	// caused by updates within another Handler. This allows slots to be
72	// invalidated, the scene invalidated or other changes to scene state.
73	OnSlotUpdated *EventHandler `protobuf:"bytes,5,opt,name=on_slot_updated,json=onSlotUpdated,proto3" json:"on_slot_updated,omitempty"`
74}
75
76func (x *Scene) Reset() {
77	*x = Scene{}
78	if protoimpl.UnsafeEnabled {
79		mi := &file_google_actions_sdk_v2_interactionmodel_scene_proto_msgTypes[0]
80		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
81		ms.StoreMessageInfo(mi)
82	}
83}
84
85func (x *Scene) String() string {
86	return protoimpl.X.MessageStringOf(x)
87}
88
89func (*Scene) ProtoMessage() {}
90
91func (x *Scene) ProtoReflect() protoreflect.Message {
92	mi := &file_google_actions_sdk_v2_interactionmodel_scene_proto_msgTypes[0]
93	if protoimpl.UnsafeEnabled && x != nil {
94		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
95		if ms.LoadMessageInfo() == nil {
96			ms.StoreMessageInfo(mi)
97		}
98		return ms
99	}
100	return mi.MessageOf(x)
101}
102
103// Deprecated: Use Scene.ProtoReflect.Descriptor instead.
104func (*Scene) Descriptor() ([]byte, []int) {
105	return file_google_actions_sdk_v2_interactionmodel_scene_proto_rawDescGZIP(), []int{0}
106}
107
108func (x *Scene) GetOnEnter() *EventHandler {
109	if x != nil {
110		return x.OnEnter
111	}
112	return nil
113}
114
115func (x *Scene) GetIntentEvents() []*IntentEvent {
116	if x != nil {
117		return x.IntentEvents
118	}
119	return nil
120}
121
122func (x *Scene) GetConditionalEvents() []*ConditionalEvent {
123	if x != nil {
124		return x.ConditionalEvents
125	}
126	return nil
127}
128
129func (x *Scene) GetSlots() []*Slot {
130	if x != nil {
131		return x.Slots
132	}
133	return nil
134}
135
136func (x *Scene) GetOnSlotUpdated() *EventHandler {
137	if x != nil {
138		return x.OnSlotUpdated
139	}
140	return nil
141}
142
143var File_google_actions_sdk_v2_interactionmodel_scene_proto protoreflect.FileDescriptor
144
145var file_google_actions_sdk_v2_interactionmodel_scene_proto_rawDesc = []byte{
146	0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
147	0x2f, 0x73, 0x64, 0x6b, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74,
148	0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x2e, 0x70,
149	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x63, 0x74,
150	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x76, 0x32, 0x2e, 0x69, 0x6e, 0x74, 0x65,
151	0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x1a, 0x3e, 0x67, 0x6f,
152	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x64, 0x6b,
153	0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d,
154	0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
155	0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f,
156	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x64, 0x6b,
157	0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d,
158	0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c,
159	0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
160	0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x64, 0x6b, 0x2f, 0x76, 0x32, 0x2f,
161	0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
162	0x2f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72,
163	0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x63, 0x74, 0x69,
164	0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x64, 0x6b, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72,
165	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x73, 0x6c, 0x6f, 0x74,
166	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd, 0x03, 0x0a, 0x05, 0x53, 0x63, 0x65, 0x6e, 0x65,
167	0x12, 0x4f, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
168	0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x63, 0x74, 0x69,
169	0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x76, 0x32, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72,
170	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e,
171	0x74, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52, 0x07, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x65,
172	0x72, 0x12, 0x58, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e,
173	0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
174	0x65, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x76, 0x32,
175	0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65,
176	0x6c, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x69,
177	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x12, 0x63,
178	0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74,
179	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
180	0x2e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x76, 0x32, 0x2e,
181	0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
182	0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e,
183	0x74, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x76,
184	0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x04, 0x20,
185	0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x63, 0x74,
186	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x76, 0x32, 0x2e, 0x69, 0x6e, 0x74, 0x65,
187	0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x53, 0x6c, 0x6f,
188	0x74, 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x0f, 0x6f, 0x6e, 0x5f, 0x73,
189	0x6c, 0x6f, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
190	0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x6f,
191	0x6e, 0x73, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x76, 0x32, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61,
192	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74,
193	0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52, 0x0d, 0x6f, 0x6e, 0x53, 0x6c, 0x6f, 0x74, 0x55,
194	0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x92, 0x01, 0x0a, 0x2a, 0x63, 0x6f, 0x6d, 0x2e, 0x67,
195	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x64,
196	0x6b, 0x2e, 0x76, 0x32, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
197	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x0a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x74,
198	0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61,
199	0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
200	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
201	0x6e, 0x73, 0x2f, 0x73, 0x64, 0x6b, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61,
202	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3b, 0x69, 0x6e, 0x74, 0x65, 0x72,
203	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f,
204	0x74, 0x6f, 0x33,
205}
206
207var (
208	file_google_actions_sdk_v2_interactionmodel_scene_proto_rawDescOnce sync.Once
209	file_google_actions_sdk_v2_interactionmodel_scene_proto_rawDescData = file_google_actions_sdk_v2_interactionmodel_scene_proto_rawDesc
210)
211
212func file_google_actions_sdk_v2_interactionmodel_scene_proto_rawDescGZIP() []byte {
213	file_google_actions_sdk_v2_interactionmodel_scene_proto_rawDescOnce.Do(func() {
214		file_google_actions_sdk_v2_interactionmodel_scene_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_actions_sdk_v2_interactionmodel_scene_proto_rawDescData)
215	})
216	return file_google_actions_sdk_v2_interactionmodel_scene_proto_rawDescData
217}
218
219var file_google_actions_sdk_v2_interactionmodel_scene_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
220var file_google_actions_sdk_v2_interactionmodel_scene_proto_goTypes = []interface{}{
221	(*Scene)(nil),            // 0: google.actions.sdk.v2.interactionmodel.Scene
222	(*EventHandler)(nil),     // 1: google.actions.sdk.v2.interactionmodel.EventHandler
223	(*IntentEvent)(nil),      // 2: google.actions.sdk.v2.interactionmodel.IntentEvent
224	(*ConditionalEvent)(nil), // 3: google.actions.sdk.v2.interactionmodel.ConditionalEvent
225	(*Slot)(nil),             // 4: google.actions.sdk.v2.interactionmodel.Slot
226}
227var file_google_actions_sdk_v2_interactionmodel_scene_proto_depIdxs = []int32{
228	1, // 0: google.actions.sdk.v2.interactionmodel.Scene.on_enter:type_name -> google.actions.sdk.v2.interactionmodel.EventHandler
229	2, // 1: google.actions.sdk.v2.interactionmodel.Scene.intent_events:type_name -> google.actions.sdk.v2.interactionmodel.IntentEvent
230	3, // 2: google.actions.sdk.v2.interactionmodel.Scene.conditional_events:type_name -> google.actions.sdk.v2.interactionmodel.ConditionalEvent
231	4, // 3: google.actions.sdk.v2.interactionmodel.Scene.slots:type_name -> google.actions.sdk.v2.interactionmodel.Slot
232	1, // 4: google.actions.sdk.v2.interactionmodel.Scene.on_slot_updated:type_name -> google.actions.sdk.v2.interactionmodel.EventHandler
233	5, // [5:5] is the sub-list for method output_type
234	5, // [5:5] is the sub-list for method input_type
235	5, // [5:5] is the sub-list for extension type_name
236	5, // [5:5] is the sub-list for extension extendee
237	0, // [0:5] is the sub-list for field type_name
238}
239
240func init() { file_google_actions_sdk_v2_interactionmodel_scene_proto_init() }
241func file_google_actions_sdk_v2_interactionmodel_scene_proto_init() {
242	if File_google_actions_sdk_v2_interactionmodel_scene_proto != nil {
243		return
244	}
245	file_google_actions_sdk_v2_interactionmodel_conditional_event_proto_init()
246	file_google_actions_sdk_v2_interactionmodel_event_handler_proto_init()
247	file_google_actions_sdk_v2_interactionmodel_intent_event_proto_init()
248	file_google_actions_sdk_v2_interactionmodel_slot_proto_init()
249	if !protoimpl.UnsafeEnabled {
250		file_google_actions_sdk_v2_interactionmodel_scene_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
251			switch v := v.(*Scene); i {
252			case 0:
253				return &v.state
254			case 1:
255				return &v.sizeCache
256			case 2:
257				return &v.unknownFields
258			default:
259				return nil
260			}
261		}
262	}
263	type x struct{}
264	out := protoimpl.TypeBuilder{
265		File: protoimpl.DescBuilder{
266			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
267			RawDescriptor: file_google_actions_sdk_v2_interactionmodel_scene_proto_rawDesc,
268			NumEnums:      0,
269			NumMessages:   1,
270			NumExtensions: 0,
271			NumServices:   0,
272		},
273		GoTypes:           file_google_actions_sdk_v2_interactionmodel_scene_proto_goTypes,
274		DependencyIndexes: file_google_actions_sdk_v2_interactionmodel_scene_proto_depIdxs,
275		MessageInfos:      file_google_actions_sdk_v2_interactionmodel_scene_proto_msgTypes,
276	}.Build()
277	File_google_actions_sdk_v2_interactionmodel_scene_proto = out.File
278	file_google_actions_sdk_v2_interactionmodel_scene_proto_rawDesc = nil
279	file_google_actions_sdk_v2_interactionmodel_scene_proto_goTypes = nil
280	file_google_actions_sdk_v2_interactionmodel_scene_proto_depIdxs = nil
281}
282