google-cloud-dialogflow 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +8 -0
  3. data/LICENSE +201 -0
  4. data/README.md +32 -0
  5. data/lib/google/cloud/dialogflow.rb +452 -0
  6. data/lib/google/cloud/dialogflow/credentials.rb +30 -0
  7. data/lib/google/cloud/dialogflow/v2.rb +454 -0
  8. data/lib/google/cloud/dialogflow/v2/agent_pb.rb +87 -0
  9. data/lib/google/cloud/dialogflow/v2/agent_services_pb.rb +104 -0
  10. data/lib/google/cloud/dialogflow/v2/agents_client.rb +639 -0
  11. data/lib/google/cloud/dialogflow/v2/agents_client_config.json +56 -0
  12. data/lib/google/cloud/dialogflow/v2/context_pb.rb +59 -0
  13. data/lib/google/cloud/dialogflow/v2/context_services_pb.rb +71 -0
  14. data/lib/google/cloud/dialogflow/v2/contexts_client.rb +445 -0
  15. data/lib/google/cloud/dialogflow/v2/contexts_client_config.json +56 -0
  16. data/lib/google/cloud/dialogflow/v2/doc/google/cloud/dialogflow/v2/agent.rb +223 -0
  17. data/lib/google/cloud/dialogflow/v2/doc/google/cloud/dialogflow/v2/context.rb +115 -0
  18. data/lib/google/cloud/dialogflow/v2/doc/google/cloud/dialogflow/v2/entity_type.rb +290 -0
  19. data/lib/google/cloud/dialogflow/v2/doc/google/cloud/dialogflow/v2/intent.rb +714 -0
  20. data/lib/google/cloud/dialogflow/v2/doc/google/cloud/dialogflow/v2/session.rb +451 -0
  21. data/lib/google/cloud/dialogflow/v2/doc/google/cloud/dialogflow/v2/session_entity_type.rb +134 -0
  22. data/lib/google/cloud/dialogflow/v2/doc/google/protobuf/any.rb +124 -0
  23. data/lib/google/cloud/dialogflow/v2/doc/google/protobuf/field_mask.rb +223 -0
  24. data/lib/google/cloud/dialogflow/v2/doc/google/protobuf/struct.rb +73 -0
  25. data/lib/google/cloud/dialogflow/v2/doc/google/rpc/status.rb +83 -0
  26. data/lib/google/cloud/dialogflow/v2/doc/google/type/latlng.rb +64 -0
  27. data/lib/google/cloud/dialogflow/v2/doc/overview.rb +55 -0
  28. data/lib/google/cloud/dialogflow/v2/entity_type_pb.rb +120 -0
  29. data/lib/google/cloud/dialogflow/v2/entity_type_services_pb.rb +105 -0
  30. data/lib/google/cloud/dialogflow/v2/entity_types_client.rb +900 -0
  31. data/lib/google/cloud/dialogflow/v2/entity_types_client_config.json +76 -0
  32. data/lib/google/cloud/dialogflow/v2/intent_pb.rb +274 -0
  33. data/lib/google/cloud/dialogflow/v2/intent_services_pb.rb +91 -0
  34. data/lib/google/cloud/dialogflow/v2/intents_client.rb +684 -0
  35. data/lib/google/cloud/dialogflow/v2/intents_client_config.json +61 -0
  36. data/lib/google/cloud/dialogflow/v2/session_entity_type_pb.rb +61 -0
  37. data/lib/google/cloud/dialogflow/v2/session_entity_type_services_pb.rb +64 -0
  38. data/lib/google/cloud/dialogflow/v2/session_entity_types_client.rb +413 -0
  39. data/lib/google/cloud/dialogflow/v2/session_entity_types_client_config.json +51 -0
  40. data/lib/google/cloud/dialogflow/v2/session_pb.rb +127 -0
  41. data/lib/google/cloud/dialogflow/v2/session_services_pb.rb +55 -0
  42. data/lib/google/cloud/dialogflow/v2/sessions_client.rb +286 -0
  43. data/lib/google/cloud/dialogflow/v2/sessions_client_config.json +36 -0
  44. data/lib/google/cloud/dialogflow/v2/webhook_pb.rb +42 -0
  45. metadata +142 -0
@@ -0,0 +1,451 @@
1
+ # Copyright 2018 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
+ # https://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
+ module Google
16
+ module Cloud
17
+ module Dialogflow
18
+ ##
19
+ # # Dialogflow API Contents
20
+ #
21
+ # | Class | Description |
22
+ # | ----- | ----------- |
23
+ # | [SessionsClient][] | A session represents an interaction with a user. |
24
+ # | [Data Types][] | Data types for Google::Cloud::Dialogflow::V2 |
25
+ #
26
+ # [SessionsClient]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-dialogflow/latest/google/cloud/dialogflow/v2/sessionsclient
27
+ # [Data Types]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-dialogflow/latest/google/cloud/dialogflow/v2/datatypes
28
+ #
29
+ module V2
30
+ # The request to detect user's intent.
31
+ # @!attribute [rw] session
32
+ # @return [String]
33
+ # Required. The name of the session this query is sent to. Format:
34
+ # +projects/<Project ID>/agent/sessions/<Session ID>+. It's up to the API
35
+ # caller to choose an appropriate session ID. It can be a random number or
36
+ # some type of user identifier (preferably hashed). The length of the session
37
+ # ID must not exceed 36 bytes.
38
+ # @!attribute [rw] query_params
39
+ # @return [Google::Cloud::Dialogflow::V2::QueryParameters]
40
+ # Optional. The parameters of this query.
41
+ # @!attribute [rw] query_input
42
+ # @return [Google::Cloud::Dialogflow::V2::QueryInput]
43
+ # Required. The input specification. It can be set to:
44
+ #
45
+ # 1. an audio config
46
+ # which instructs the speech recognizer how to process the speech audio,
47
+ #
48
+ # 2. a conversational query in the form of text, or
49
+ #
50
+ # 3. an event that specifies which intent to trigger.
51
+ # @!attribute [rw] input_audio
52
+ # @return [String]
53
+ # Optional. The natural language speech audio to be processed. This field
54
+ # should be populated iff +query_input+ is set to an input audio config.
55
+ # A single request can contain up to 1 minute of speech audio data.
56
+ class DetectIntentRequest; end
57
+
58
+ # The message returned from the DetectIntent method.
59
+ # @!attribute [rw] response_id
60
+ # @return [String]
61
+ # The unique identifier of the response. It can be used to
62
+ # locate a response in the training example set or for reporting issues.
63
+ # @!attribute [rw] query_result
64
+ # @return [Google::Cloud::Dialogflow::V2::QueryResult]
65
+ # The results of the conversational query or event processing.
66
+ # @!attribute [rw] webhook_status
67
+ # @return [Google::Rpc::Status]
68
+ # Specifies the status of the webhook request. +webhook_status+
69
+ # is never populated in webhook requests.
70
+ class DetectIntentResponse; end
71
+
72
+ # Represents the parameters of the conversational query.
73
+ # @!attribute [rw] time_zone
74
+ # @return [String]
75
+ # Optional. The time zone of this conversational query from the
76
+ # [time zone database](https://www.iana.org/time-zones), e.g.,
77
+ # America/New_York, Europe/Paris. If not provided, the time zone specified in
78
+ # agent settings is used.
79
+ # @!attribute [rw] geo_location
80
+ # @return [Google::Type::LatLng]
81
+ # Optional. The geo location of this conversational query.
82
+ # @!attribute [rw] contexts
83
+ # @return [Array<Google::Cloud::Dialogflow::V2::Context>]
84
+ # Optional. The collection of contexts to be activated before this query is
85
+ # executed.
86
+ # @!attribute [rw] reset_contexts
87
+ # @return [true, false]
88
+ # Optional. Specifies whether to delete all contexts in the current session
89
+ # before the new ones are activated.
90
+ # @!attribute [rw] session_entity_types
91
+ # @return [Array<Google::Cloud::Dialogflow::V2::SessionEntityType>]
92
+ # Optional. The collection of session entity types to replace or extend
93
+ # developer entities with for this query only. The entity synonyms apply
94
+ # to all languages.
95
+ # @!attribute [rw] payload
96
+ # @return [Google::Protobuf::Struct]
97
+ # Optional. This field can be used to pass custom data into the webhook
98
+ # associated with the agent. Arbitrary JSON objects are supported.
99
+ class QueryParameters; end
100
+
101
+ # Represents the query input. It can contain either:
102
+ #
103
+ # 1. An audio config which
104
+ # instructs the speech recognizer how to process the speech audio.
105
+ #
106
+ # 2. A conversational query in the form of text,.
107
+ #
108
+ # 3. An event that specifies which intent to trigger.
109
+ # @!attribute [rw] audio_config
110
+ # @return [Google::Cloud::Dialogflow::V2::InputAudioConfig]
111
+ # Instructs the speech recognizer how to process the speech audio.
112
+ # @!attribute [rw] text
113
+ # @return [Google::Cloud::Dialogflow::V2::TextInput]
114
+ # The natural language text to be processed.
115
+ # @!attribute [rw] event
116
+ # @return [Google::Cloud::Dialogflow::V2::EventInput]
117
+ # The event to be processed.
118
+ class QueryInput; end
119
+
120
+ # Represents the result of conversational query or event processing.
121
+ # @!attribute [rw] query_text
122
+ # @return [String]
123
+ # The original conversational query text:
124
+ # * If natural language text was provided as input, +query_text+ contains
125
+ # a copy of the input.
126
+ # * If natural language speech audio was provided as input, +query_text+
127
+ # contains the speech recognition result. If speech recognizer produced
128
+ # multiple alternatives, a particular one is picked.
129
+ # * If an event was provided as input, +query_text+ is not set.
130
+ # @!attribute [rw] language_code
131
+ # @return [String]
132
+ # The language that was triggered during intent detection.
133
+ # See [Language Support](https://dialogflow.com/docs/reference/language)
134
+ # for a list of the currently supported language codes.
135
+ # @!attribute [rw] speech_recognition_confidence
136
+ # @return [Float]
137
+ # The Speech recognition confidence between 0.0 and 1.0. A higher number
138
+ # indicates an estimated greater likelihood that the recognized words are
139
+ # correct. The default of 0.0 is a sentinel value indicating that confidence
140
+ # was not set.
141
+ #
142
+ # You should not rely on this field as it isn't guaranteed to be accurate, or
143
+ # even set. In particular this field isn't set in Webhook calls and for
144
+ # StreamingDetectIntent since the streaming endpoint has separate confidence
145
+ # estimates per portion of the audio in StreamingRecognitionResult.
146
+ # @!attribute [rw] action
147
+ # @return [String]
148
+ # The action name from the matched intent.
149
+ # @!attribute [rw] parameters
150
+ # @return [Google::Protobuf::Struct]
151
+ # The collection of extracted parameters.
152
+ # @!attribute [rw] all_required_params_present
153
+ # @return [true, false]
154
+ # This field is set to:
155
+ # * +false+ if the matched intent has required parameters and not all of
156
+ # the required parameter values have been collected.
157
+ # * +true+ if all required parameter values have been collected, or if the
158
+ # matched intent doesn't contain any required parameters.
159
+ # @!attribute [rw] fulfillment_text
160
+ # @return [String]
161
+ # The text to be pronounced to the user or shown on the screen.
162
+ # @!attribute [rw] fulfillment_messages
163
+ # @return [Array<Google::Cloud::Dialogflow::V2::Intent::Message>]
164
+ # The collection of rich messages to present to the user.
165
+ # @!attribute [rw] webhook_source
166
+ # @return [String]
167
+ # If the query was fulfilled by a webhook call, this field is set to the
168
+ # value of the +source+ field returned in the webhook response.
169
+ # @!attribute [rw] webhook_payload
170
+ # @return [Google::Protobuf::Struct]
171
+ # If the query was fulfilled by a webhook call, this field is set to the
172
+ # value of the +payload+ field returned in the webhook response.
173
+ # @!attribute [rw] output_contexts
174
+ # @return [Array<Google::Cloud::Dialogflow::V2::Context>]
175
+ # The collection of output contexts. If applicable,
176
+ # +output_contexts.parameters+ contains entries with name
177
+ # +<parameter name>.original+ containing the original parameter values
178
+ # before the query.
179
+ # @!attribute [rw] intent
180
+ # @return [Google::Cloud::Dialogflow::V2::Intent]
181
+ # The intent that matched the conversational query. Some, not
182
+ # all fields are filled in this message, including but not limited to:
183
+ # +name+, +display_name+ and +webhook_state+.
184
+ # @!attribute [rw] intent_detection_confidence
185
+ # @return [Float]
186
+ # The intent detection confidence. Values range from 0.0
187
+ # (completely uncertain) to 1.0 (completely certain).
188
+ # @!attribute [rw] diagnostic_info
189
+ # @return [Google::Protobuf::Struct]
190
+ # The free-form diagnostic info. For example, this field
191
+ # could contain webhook call latency.
192
+ class QueryResult; end
193
+
194
+ # The top-level message sent by the client to the
195
+ # +StreamingDetectIntent+ method.
196
+ #
197
+ # Multiple request messages should be sent in order:
198
+ #
199
+ # 1. The first message must contain +session+, +query_input+ plus optionally
200
+ # +query_params+ and/or +single_utterance+. The message must not contain +input_audio+.
201
+ #
202
+ # 2. If +query_input+ was set to a streaming input audio config,
203
+ # all subsequent messages must contain only +input_audio+.
204
+ # Otherwise, finish the request stream.
205
+ # @!attribute [rw] session
206
+ # @return [String]
207
+ # Required. The name of the session the query is sent to.
208
+ # Format of the session name:
209
+ # +projects/<Project ID>/agent/sessions/<Session ID>+. It’s up to the API
210
+ # caller to choose an appropriate <Session ID>. It can be a random number or
211
+ # some type of user identifier (preferably hashed). The length of the session
212
+ # ID must not exceed 36 characters.
213
+ # @!attribute [rw] query_params
214
+ # @return [Google::Cloud::Dialogflow::V2::QueryParameters]
215
+ # Optional. The parameters of this query.
216
+ # @!attribute [rw] query_input
217
+ # @return [Google::Cloud::Dialogflow::V2::QueryInput]
218
+ # Required. The input specification. It can be set to:
219
+ #
220
+ # 1. an audio config which instructs the speech recognizer how to process
221
+ # the speech audio,
222
+ #
223
+ # 2. a conversational query in the form of text, or
224
+ #
225
+ # 3. an event that specifies which intent to trigger.
226
+ # @!attribute [rw] single_utterance
227
+ # @return [true, false]
228
+ # Optional. If +false+ (default), recognition does not cease until the
229
+ # client closes the stream.
230
+ # If +true+, the recognizer will detect a single spoken utterance in input
231
+ # audio. Recognition ceases when it detects the audio's voice has
232
+ # stopped or paused. In this case, once a detected intent is received, the
233
+ # client should close the stream and start a new request with a new stream as
234
+ # needed.
235
+ # This setting is ignored when +query_input+ is a piece of text or an event.
236
+ # @!attribute [rw] input_audio
237
+ # @return [String]
238
+ # Optional. The input audio content to be recognized. Must be sent if
239
+ # +query_input+ was set to a streaming input audio config. The complete audio
240
+ # over all streaming messages must not exceed 1 minute.
241
+ class StreamingDetectIntentRequest; end
242
+
243
+ # The top-level message returned from the
244
+ # +StreamingDetectIntent+ method.
245
+ #
246
+ # Multiple response messages can be returned in order:
247
+ #
248
+ # 1. If the input was set to streaming audio, the first one or more messages
249
+ # contain +recognition_result+. Each +recognition_result+ represents a more
250
+ # complete transcript of what the user said. The last +recognition_result+
251
+ # has +is_final+ set to +true+.
252
+ #
253
+ # 2. The next message contains +response_id+, +query_result+
254
+ # and optionally +webhook_status+ if a WebHook was called.
255
+ # @!attribute [rw] response_id
256
+ # @return [String]
257
+ # The unique identifier of the response. It can be used to
258
+ # locate a response in the training example set or for reporting issues.
259
+ # @!attribute [rw] recognition_result
260
+ # @return [Google::Cloud::Dialogflow::V2::StreamingRecognitionResult]
261
+ # The result of speech recognition.
262
+ # @!attribute [rw] query_result
263
+ # @return [Google::Cloud::Dialogflow::V2::QueryResult]
264
+ # The result of the conversational query or event processing.
265
+ # @!attribute [rw] webhook_status
266
+ # @return [Google::Rpc::Status]
267
+ # Specifies the status of the webhook request.
268
+ class StreamingDetectIntentResponse; end
269
+
270
+ # Contains a speech recognition result corresponding to a portion of the audio
271
+ # that is currently being processed or an indication that this is the end
272
+ # of the single requested utterance.
273
+ #
274
+ # Example:
275
+ #
276
+ # 1. transcript: "tube"
277
+ #
278
+ # 2. transcript: "to be a"
279
+ #
280
+ # 3. transcript: "to be"
281
+ #
282
+ # 4. transcript: "to be or not to be"
283
+ # is_final: true
284
+ #
285
+ # 5. transcript: " that's"
286
+ #
287
+ # 6. transcript: " that is"
288
+ #
289
+ # 7. recognition_event_type: +RECOGNITION_EVENT_END_OF_SINGLE_UTTERANCE+
290
+ #
291
+ # 8. transcript: " that is the question"
292
+ # is_final: true
293
+ #
294
+ # Only two of the responses contain final results (#4 and #8 indicated by
295
+ # +is_final: true+). Concatenating these generates the full transcript: "to be
296
+ # or not to be that is the question".
297
+ #
298
+ # In each response we populate:
299
+ #
300
+ # * for +MESSAGE_TYPE_TRANSCRIPT+: +transcript+ and possibly +is_final+.
301
+ #
302
+ # * for +MESSAGE_TYPE_END_OF_SINGLE_UTTERANCE+: only +event_type+.
303
+ # @!attribute [rw] message_type
304
+ # @return [Google::Cloud::Dialogflow::V2::StreamingRecognitionResult::MessageType]
305
+ # Type of the result message.
306
+ # @!attribute [rw] transcript
307
+ # @return [String]
308
+ # Transcript text representing the words that the user spoke.
309
+ # Populated if and only if +event_type+ = +RECOGNITION_EVENT_TRANSCRIPT+.
310
+ # @!attribute [rw] is_final
311
+ # @return [true, false]
312
+ # The default of 0.0 is a sentinel value indicating +confidence+ was not set.
313
+ # If +false+, the +StreamingRecognitionResult+ represents an
314
+ # interim result that may change. If +true+, the recognizer will not return
315
+ # any further hypotheses about this piece of the audio. May only be populated
316
+ # for +event_type+ = +RECOGNITION_EVENT_TRANSCRIPT+.
317
+ # @!attribute [rw] confidence
318
+ # @return [Float]
319
+ # The Speech confidence between 0.0 and 1.0 for the current portion of audio.
320
+ # A higher number indicates an estimated greater likelihood that the
321
+ # recognized words are correct. The default of 0.0 is a sentinel value
322
+ # indicating that confidence was not set.
323
+ #
324
+ # This field is typically only provided if +is_final+ is true and you should
325
+ # not rely on it being accurate or even set.
326
+ class StreamingRecognitionResult
327
+ # Type of the response message.
328
+ module MessageType
329
+ # Not specified. Should never be used.
330
+ MESSAGE_TYPE_UNSPECIFIED = 0
331
+
332
+ # Message contains a (possibly partial) transcript.
333
+ TRANSCRIPT = 1
334
+
335
+ # Event indicates that the server has detected the end of the user's speech
336
+ # utterance and expects no additional speech. Therefore, the server will
337
+ # not process additional audio (although it may subsequently return
338
+ # additional results). The client should stop sending additional audio
339
+ # data, half-close the gRPC connection, and wait for any additional results
340
+ # until the server closes the gRPC connection. This message is only sent if
341
+ # +single_utterance+ was set to +true+, and is not used otherwise.
342
+ END_OF_SINGLE_UTTERANCE = 2
343
+ end
344
+ end
345
+
346
+ # Instructs the speech recognizer how to process the audio content.
347
+ # @!attribute [rw] audio_encoding
348
+ # @return [Google::Cloud::Dialogflow::V2::AudioEncoding]
349
+ # Required. Audio encoding of the audio content to process.
350
+ # @!attribute [rw] sample_rate_hertz
351
+ # @return [Integer]
352
+ # Required. Sample rate (in Hertz) of the audio content sent in the query.
353
+ # Refer to [Cloud Speech API documentation](https://cloud.google.com/speech/docs/basics) for more
354
+ # details.
355
+ # @!attribute [rw] language_code
356
+ # @return [String]
357
+ # Required. The language of the supplied audio. Dialogflow does not do
358
+ # translations. See [Language
359
+ # Support](https://dialogflow.com/docs/languages) for a list of the
360
+ # currently supported language codes. Note that queries in the same session
361
+ # do not necessarily need to specify the same language.
362
+ # @!attribute [rw] phrase_hints
363
+ # @return [Array<String>]
364
+ # Optional. The collection of phrase hints which are used to boost accuracy
365
+ # of speech recognition.
366
+ # Refer to [Cloud Speech API documentation](https://cloud.google.com/speech/docs/basics#phrase-hints)
367
+ # for more details.
368
+ class InputAudioConfig; end
369
+
370
+ # Represents the natural language text to be processed.
371
+ # @!attribute [rw] text
372
+ # @return [String]
373
+ # Required. The UTF-8 encoded natural language text to be processed.
374
+ # Text length must not exceed 256 bytes.
375
+ # @!attribute [rw] language_code
376
+ # @return [String]
377
+ # Required. The language of this conversational query. See [Language
378
+ # Support](https://dialogflow.com/docs/languages) for a list of the
379
+ # currently supported language codes. Note that queries in the same session
380
+ # do not necessarily need to specify the same language.
381
+ class TextInput; end
382
+
383
+ # Events allow for matching intents by event name instead of the natural
384
+ # language input. For instance, input +<event: { name: “welcome_event”,
385
+ # parameters: { name: “Sam” } }>+ can trigger a personalized welcome response.
386
+ # The parameter +name+ may be used by the agent in the response:
387
+ # +“Hello #welcome_event.name! What can I do for you today?”+.
388
+ # @!attribute [rw] name
389
+ # @return [String]
390
+ # Required. The unique identifier of the event.
391
+ # @!attribute [rw] parameters
392
+ # @return [Google::Protobuf::Struct]
393
+ # Optional. The collection of parameters associated with the event.
394
+ # @!attribute [rw] language_code
395
+ # @return [String]
396
+ # Required. The language of this query. See [Language
397
+ # Support](https://dialogflow.com/docs/languages) for a list of the
398
+ # currently supported language codes. Note that queries in the same session
399
+ # do not necessarily need to specify the same language.
400
+ class EventInput; end
401
+
402
+ # Audio encoding of the audio content sent in the conversational query request.
403
+ # Refer to the [Cloud Speech API documentation](https://cloud.google.com/speech/docs/basics) for more
404
+ # details.
405
+ module AudioEncoding
406
+ # Not specified.
407
+ AUDIO_ENCODING_UNSPECIFIED = 0
408
+
409
+ # Uncompressed 16-bit signed little-endian samples (Linear PCM).
410
+ AUDIO_ENCODING_LINEAR_16 = 1
411
+
412
+ # [+FLAC+](https://xiph.org/flac/documentation.html) (Free Lossless Audio
413
+ # Codec) is the recommended encoding because it is lossless (therefore
414
+ # recognition is not compromised) and requires only about half the
415
+ # bandwidth of +LINEAR16+. +FLAC+ stream encoding supports 16-bit and
416
+ # 24-bit samples, however, not all fields in +STREAMINFO+ are supported.
417
+ AUDIO_ENCODING_FLAC = 2
418
+
419
+ # 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
420
+ AUDIO_ENCODING_MULAW = 3
421
+
422
+ # Adaptive Multi-Rate Narrowband codec. +sample_rate_hertz+ must be 8000.
423
+ AUDIO_ENCODING_AMR = 4
424
+
425
+ # Adaptive Multi-Rate Wideband codec. +sample_rate_hertz+ must be 16000.
426
+ AUDIO_ENCODING_AMR_WB = 5
427
+
428
+ # Opus encoded audio frames in Ogg container
429
+ # ([OggOpus](https://wiki.xiph.org/OggOpus)).
430
+ # +sample_rate_hertz+ must be 16000.
431
+ AUDIO_ENCODING_OGG_OPUS = 6
432
+
433
+ # Although the use of lossy encodings is not recommended, if a very low
434
+ # bitrate encoding is required, +OGG_OPUS+ is highly preferred over
435
+ # Speex encoding. The [Speex](https://speex.org/) encoding supported by
436
+ # Dialogflow API has a header byte in each block, as in MIME type
437
+ # +audio/x-speex-with-header-byte+.
438
+ # It is a variant of the RTP Speex encoding defined in
439
+ # [RFC 5574](https://tools.ietf.org/html/rfc5574).
440
+ # The stream is a sequence of blocks, one block per RTP packet. Each block
441
+ # starts with a byte containing the length of the block, in bytes, followed
442
+ # by one or more frames of Speex data, padded to an integral number of
443
+ # bytes (octets) as specified in RFC 5574. In other words, each RTP header
444
+ # is replaced with a single byte containing the block length. Only Speex
445
+ # wideband is supported. +sample_rate_hertz+ must be 16000.
446
+ AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE = 7
447
+ end
448
+ end
449
+ end
450
+ end
451
+ end
@@ -0,0 +1,134 @@
1
+ # Copyright 2018 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
+ # https://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
+ module Google
16
+ module Cloud
17
+ module Dialogflow
18
+ ##
19
+ # # Dialogflow API Contents
20
+ #
21
+ # | Class | Description |
22
+ # | ----- | ----------- |
23
+ # | [SessionEntityTypesClient][] | Entities are extracted from user input and represent parameters that are meaningful to your application. |
24
+ # | [Data Types][] | Data types for Google::Cloud::Dialogflow::V2 |
25
+ #
26
+ # [SessionEntityTypesClient]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-dialogflow/latest/google/cloud/dialogflow/v2/sessionentitytypesclient
27
+ # [Data Types]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-dialogflow/latest/google/cloud/dialogflow/v2/datatypes
28
+ #
29
+ module V2
30
+ # Represents a session entity type.
31
+ #
32
+ # Extends or replaces a developer entity type at the user session level (we
33
+ # refer to the entity types defined at the agent level as "developer entity
34
+ # types").
35
+ #
36
+ # Note: session entity types apply to all queries, regardless of the language.
37
+ # @!attribute [rw] name
38
+ # @return [String]
39
+ # Required. The unique identifier of this session entity type. Format:
40
+ # +projects/<Project ID>/agent/sessions/<Session ID>/entityTypes/<Entity Type
41
+ # Display Name>+.
42
+ # @!attribute [rw] entity_override_mode
43
+ # @return [Google::Cloud::Dialogflow::V2::SessionEntityType::EntityOverrideMode]
44
+ # Required. Indicates whether the additional data should override or
45
+ # supplement the developer entity type definition.
46
+ # @!attribute [rw] entities
47
+ # @return [Array<Google::Cloud::Dialogflow::V2::EntityType::Entity>]
48
+ # Required. The collection of entities associated with this session entity
49
+ # type.
50
+ class SessionEntityType
51
+ # The types of modifications for a session entity type.
52
+ module EntityOverrideMode
53
+ # Not specified. This value should be never used.
54
+ ENTITY_OVERRIDE_MODE_UNSPECIFIED = 0
55
+
56
+ # The collection of session entities overrides the collection of entities
57
+ # in the corresponding developer entity type.
58
+ ENTITY_OVERRIDE_MODE_OVERRIDE = 1
59
+
60
+ # The collection of session entities extends the collection of entities in
61
+ # the corresponding developer entity type.
62
+ # Calls to +ListSessionEntityTypes+, +GetSessionEntityType+,
63
+ # +CreateSessionEntityType+ and +UpdateSessionEntityType+ return the full
64
+ # collection of entities from the developer entity type in the agent's
65
+ # default language and the session entity type.
66
+ ENTITY_OVERRIDE_MODE_SUPPLEMENT = 2
67
+ end
68
+ end
69
+
70
+ # The request message for {Google::Cloud::Dialogflow::V2::SessionEntityTypes::ListSessionEntityTypes SessionEntityTypes::ListSessionEntityTypes}.
71
+ # @!attribute [rw] parent
72
+ # @return [String]
73
+ # Required. The session to list all session entity types from.
74
+ # Format: +projects/<Project ID>/agent/sessions/<Session ID>+.
75
+ # @!attribute [rw] page_size
76
+ # @return [Integer]
77
+ # Optional. The maximum number of items to return in a single page. By
78
+ # default 100 and at most 1000.
79
+ # @!attribute [rw] page_token
80
+ # @return [String]
81
+ # Optional. The next_page_token value returned from a previous list request.
82
+ class ListSessionEntityTypesRequest; end
83
+
84
+ # The response message for {Google::Cloud::Dialogflow::V2::SessionEntityTypes::ListSessionEntityTypes SessionEntityTypes::ListSessionEntityTypes}.
85
+ # @!attribute [rw] session_entity_types
86
+ # @return [Array<Google::Cloud::Dialogflow::V2::SessionEntityType>]
87
+ # The list of session entity types. There will be a maximum number of items
88
+ # returned based on the page_size field in the request.
89
+ # @!attribute [rw] next_page_token
90
+ # @return [String]
91
+ # Token to retrieve the next page of results, or empty if there are no
92
+ # more results in the list.
93
+ class ListSessionEntityTypesResponse; end
94
+
95
+ # The request message for {Google::Cloud::Dialogflow::V2::SessionEntityTypes::GetSessionEntityType SessionEntityTypes::GetSessionEntityType}.
96
+ # @!attribute [rw] name
97
+ # @return [String]
98
+ # Required. The name of the session entity type. Format:
99
+ # +projects/<Project ID>/agent/sessions/<Session ID>/entityTypes/<Entity Type
100
+ # Display Name>+.
101
+ class GetSessionEntityTypeRequest; end
102
+
103
+ # The request message for {Google::Cloud::Dialogflow::V2::SessionEntityTypes::CreateSessionEntityType SessionEntityTypes::CreateSessionEntityType}.
104
+ # @!attribute [rw] parent
105
+ # @return [String]
106
+ # Required. The session to create a session entity type for.
107
+ # Format: +projects/<Project ID>/agent/sessions/<Session ID>+.
108
+ # @!attribute [rw] session_entity_type
109
+ # @return [Google::Cloud::Dialogflow::V2::SessionEntityType]
110
+ # Required. The session entity type to create.
111
+ class CreateSessionEntityTypeRequest; end
112
+
113
+ # The request message for {Google::Cloud::Dialogflow::V2::SessionEntityTypes::UpdateSessionEntityType SessionEntityTypes::UpdateSessionEntityType}.
114
+ # @!attribute [rw] session_entity_type
115
+ # @return [Google::Cloud::Dialogflow::V2::SessionEntityType]
116
+ # Required. The entity type to update. Format:
117
+ # +projects/<Project ID>/agent/sessions/<Session ID>/entityTypes/<Entity Type
118
+ # Display Name>+.
119
+ # @!attribute [rw] update_mask
120
+ # @return [Google::Protobuf::FieldMask]
121
+ # Optional. The mask to control which fields get updated.
122
+ class UpdateSessionEntityTypeRequest; end
123
+
124
+ # The request message for {Google::Cloud::Dialogflow::V2::SessionEntityTypes::DeleteSessionEntityType SessionEntityTypes::DeleteSessionEntityType}.
125
+ # @!attribute [rw] name
126
+ # @return [String]
127
+ # Required. The name of the entity type to delete. Format:
128
+ # +projects/<Project ID>/agent/sessions/<Session ID>/entityTypes/<Entity Type
129
+ # Display Name>+.
130
+ class DeleteSessionEntityTypeRequest; end
131
+ end
132
+ end
133
+ end
134
+ end