google-cloud-dialogflow 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b099651cf9d1ad5cd8170c056cc465982d9abea70fa0bdbee16cab4bb8cc7e4
4
- data.tar.gz: f7642c305ed87c34c2539115a9f3163cb0b2028cf837b80dce222c6788fb5317
3
+ metadata.gz: 52e48b0ee78c9bbf6e482267696e240b0acf24083f68da2f286ce627b468bd96
4
+ data.tar.gz: 2d9f547058339df85b66561738561d08ac40221067a17b98eb0f00a4a6ff49a4
5
5
  SHA512:
6
- metadata.gz: 2c2e2e95f2e5b6173eb0e4ffe9a0af50b412191e6fa9605a036f495fc0aa94c584d6e82a1009e93f83ad3ba0171931d698ba991540ccb0e37f1ba562736ee4b2
7
- data.tar.gz: ebe1fa61e4713dd4f0f92f52547335fca7d8bf16cd7f4de50b85a0ba11f874344cebe539b1c4c43c29aee7bf97c0377fbcf7876422bd182e1a23a4b1a38ab842
6
+ metadata.gz: ec42693762751785fdbc41598b3dda558ec783bb70da2ad15fe104cdc98bf19938654394a2080e5267915d2670fb2476d95bf8d88e5b1b4669a02dff62d30322
7
+ data.tar.gz: a47fb63ffc9291507f4d7ed1b608e43125f162cfa8e872358256c35b352d6c049b65f574609c2c6076b09cd4692461e4ba2b1d65ee9a48ce0a6c8bf9c35b3a68
data/LICENSE.md CHANGED
@@ -1,192 +1,190 @@
1
- Apache License
2
- ==============
3
-
4
- * Version 2.0, January 2004
5
- * https://www.apache.org/licenses/
6
-
7
- ### TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
8
-
9
- 1. **Definitions.**
10
-
11
- "License" shall mean the terms and conditions for use, reproduction,
12
- and distribution as defined by Sections 1 through 9 of this document.
13
-
14
- "Licensor" shall mean the copyright owner or entity authorized by
15
- the copyright owner that is granting the License.
16
-
17
- "Legal Entity" shall mean the union of the acting entity and all
18
- other entities that control, are controlled by, or are under common
19
- control with that entity. For the purposes of this definition,
20
- "control" means (i) the power, direct or indirect, to cause the
21
- direction or management of such entity, whether by contract or
22
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
23
- outstanding shares, or (iii) beneficial ownership of such entity.
24
-
25
- "You" (or "Your") shall mean an individual or Legal Entity
26
- exercising permissions granted by this License.
27
-
28
- "Source" form shall mean the preferred form for making modifications,
29
- including but not limited to software source code, documentation
30
- source, and configuration files.
31
-
32
- "Object" form shall mean any form resulting from mechanical
33
- transformation or translation of a Source form, including but
34
- not limited to compiled object code, generated documentation,
35
- and conversions to other media types.
36
-
37
- "Work" shall mean the work of authorship, whether in Source or
38
- Object form, made available under the License, as indicated by a
39
- copyright notice that is included in or attached to the work
40
- (an example is provided in the Appendix below).
41
-
42
- "Derivative Works" shall mean any work, whether in Source or Object
43
- form, that is based on (or derived from) the Work and for which the
44
- editorial revisions, annotations, elaborations, or other modifications
45
- represent, as a whole, an original work of authorship. For the purposes
46
- of this License, Derivative Works shall not include works that remain
47
- separable from, or merely link (or bind by name) to the interfaces of,
48
- the Work and Derivative Works thereof.
49
-
50
- "Contribution" shall mean any work of authorship, including
51
- the original version of the Work and any modifications or additions
52
- to that Work or Derivative Works thereof, that is intentionally
53
- submitted to Licensor for inclusion in the Work by the copyright owner
54
- or by an individual or Legal Entity authorized to submit on behalf of
55
- the copyright owner. For the purposes of this definition, "submitted"
56
- means any form of electronic, verbal, or written communication sent
57
- to the Licensor or its representatives, including but not limited to
58
- communication on electronic mailing lists, source code control systems,
59
- and issue tracking systems that are managed by, or on behalf of, the
60
- Licensor for the purpose of discussing and improving the Work, but
61
- excluding communication that is conspicuously marked or otherwise
62
- designated in writing by the copyright owner as "Not a Contribution."
63
-
64
- "Contributor" shall mean Licensor and any individual or Legal Entity
65
- on behalf of whom a Contribution has been received by Licensor and
66
- subsequently incorporated within the Work.
67
-
68
- 2. **Grant of Copyright License.** Subject to the terms and conditions of
69
- this License, each Contributor hereby grants to You a perpetual,
70
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
71
- copyright license to reproduce, prepare Derivative Works of,
72
- publicly display, publicly perform, sublicense, and distribute the
73
- Work and such Derivative Works in Source or Object form.
74
-
75
- 3. **Grant of Patent License.** Subject to the terms and conditions of
76
- this License, each Contributor hereby grants to You a perpetual,
77
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
78
- (except as stated in this section) patent license to make, have made,
79
- use, offer to sell, sell, import, and otherwise transfer the Work,
80
- where such license applies only to those patent claims licensable
81
- by such Contributor that are necessarily infringed by their
82
- Contribution(s) alone or by combination of their Contribution(s)
83
- with the Work to which such Contribution(s) was submitted. If You
84
- institute patent litigation against any entity (including a
85
- cross-claim or counterclaim in a lawsuit) alleging that the Work
86
- or a Contribution incorporated within the Work constitutes direct
87
- or contributory patent infringement, then any patent licenses
88
- granted to You under this License for that Work shall terminate
89
- as of the date such litigation is filed.
90
-
91
- 4. **Redistribution.** You may reproduce and distribute copies of the
92
- Work or Derivative Works thereof in any medium, with or without
93
- modifications, and in Source or Object form, provided that You
94
- meet the following conditions:
95
-
96
- * **(a)** You must give any other recipients of the Work or
97
- Derivative Works a copy of this License; and
98
-
99
- * **(b)** You must cause any modified files to carry prominent notices
100
- stating that You changed the files; and
101
-
102
- * **(c)** You must retain, in the Source form of any Derivative Works
103
- that You distribute, all copyright, patent, trademark, and
104
- attribution notices from the Source form of the Work,
105
- excluding those notices that do not pertain to any part of
106
- the Derivative Works; and
107
-
108
- * **(d)** If the Work includes a "NOTICE" text file as part of its
109
- distribution, then any Derivative Works that You distribute must
110
- include a readable copy of the attribution notices contained
111
- within such NOTICE file, excluding those notices that do not
112
- pertain to any part of the Derivative Works, in at least one
113
- of the following places: within a NOTICE text file distributed
114
- as part of the Derivative Works; within the Source form or
115
- documentation, if provided along with the Derivative Works; or,
116
- within a display generated by the Derivative Works, if and
117
- wherever such third-party notices normally appear. The contents
118
- of the NOTICE file are for informational purposes only and
119
- do not modify the License. You may add Your own attribution
120
- notices within Derivative Works that You distribute, alongside
121
- or as an addendum to the NOTICE text from the Work, provided
122
- that such additional attribution notices cannot be construed
123
- as modifying the License.
124
-
125
- You may add Your own copyright statement to Your modifications and
126
- may provide additional or different license terms and conditions
127
- for use, reproduction, or distribution of Your modifications, or
128
- for any such Derivative Works as a whole, provided Your use,
129
- reproduction, and distribution of the Work otherwise complies with
130
- the conditions stated in this License.
131
-
132
- 5. **Submission of Contributions.** Unless You explicitly state otherwise,
133
- any Contribution intentionally submitted for inclusion in the Work
134
- by You to the Licensor shall be under the terms and conditions of
135
- this License, without any additional terms or conditions.
136
- Notwithstanding the above, nothing herein shall supersede or modify
137
- the terms of any separate license agreement you may have executed
138
- with Licensor regarding such Contributions.
139
-
140
- 6. **Trademarks.** This License does not grant permission to use the trade
141
- names, trademarks, service marks, or product names of the Licensor,
142
- except as required for reasonable and customary use in describing the
143
- origin of the Work and reproducing the content of the NOTICE file.
144
-
145
- 7. **Disclaimer of Warranty.** Unless required by applicable law or
146
- agreed to in writing, Licensor provides the Work (and each
147
- Contributor provides its Contributions) on an "AS IS" BASIS,
148
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
149
- implied, including, without limitation, any warranties or conditions
150
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
151
- PARTICULAR PURPOSE. You are solely responsible for determining the
152
- appropriateness of using or redistributing the Work and assume any
153
- risks associated with Your exercise of permissions under this License.
154
-
155
- 8. **Limitation of Liability.** In no event and under no legal theory,
156
- whether in tort (including negligence), contract, or otherwise,
157
- unless required by applicable law (such as deliberate and grossly
158
- negligent acts) or agreed to in writing, shall any Contributor be
159
- liable to You for damages, including any direct, indirect, special,
160
- incidental, or consequential damages of any character arising as a
161
- result of this License or out of the use or inability to use the
162
- Work (including but not limited to damages for loss of goodwill,
163
- work stoppage, computer failure or malfunction, or any and all
164
- other commercial damages or losses), even if such Contributor
165
- has been advised of the possibility of such damages.
166
-
167
- 9. **Accepting Warranty or Additional Liability.** While redistributing
168
- the Work or Derivative Works thereof, You may choose to offer,
169
- and charge a fee for, acceptance of support, warranty, indemnity,
170
- or other liability obligations and/or rights consistent with this
171
- License. However, in accepting such obligations, You may act only
172
- on Your own behalf and on Your sole responsibility, not on behalf
173
- of any other Contributor, and only if You agree to indemnify,
174
- defend, and hold each Contributor harmless for any liability
175
- incurred by, or claims asserted against, such Contributor by reason
176
- of your accepting any such warranty or additional liability.
177
-
178
- _END OF TERMS AND CONDITIONS_
179
-
180
- ### APPENDIX: How to apply the Apache License to your work.
181
-
182
- To apply the Apache License to your work, attach the following
183
- boilerplate notice, with the fields enclosed by brackets "`[]`"
184
- replaced with your own identifying information. (Don't include
185
- the brackets!) The text should be enclosed in the appropriate
186
- comment syntax for the file format. We also recommend that a
187
- file or class name and description of purpose be included on the
188
- same "printed page" as the copyright notice for easier
189
- identification within third-party archives.
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
190
188
 
191
189
  Copyright [yyyy] [name of copyright owner]
192
190
 
@@ -194,7 +192,7 @@ identification within third-party archives.
194
192
  you may not use this file except in compliance with the License.
195
193
  You may obtain a copy of the License at
196
194
 
197
- https://www.apache.org/licenses/LICENSE-2.0
195
+ http://www.apache.org/licenses/LICENSE-2.0
198
196
 
199
197
  Unless required by applicable law or agreed to in writing, software
200
198
  distributed under the License is distributed on an "AS IS" BASIS,
data/MIGRATING.md CHANGED
@@ -34,6 +34,10 @@ To summarize:
34
34
  current client retains this method, but improves it with a more powerful
35
35
  interface to match streaming methods in other Ruby clients. See
36
36
  [Streaming Interface](#streaming-interface) for more info.
37
+ * Previously, clients reported RPC errors by raising instances of
38
+ `Google::Gax::GaxError` and its subclasses. Now, RPC exceptions are of type
39
+ `Google::Cloud::Error` and its subclasses. See
40
+ [Handling Errors](#handling-errors) for more info.
37
41
  * Some classes have moved into different namespaces. See
38
42
  [Class Namespaces](#class-namespaces) for more info.
39
43
 
@@ -274,7 +278,7 @@ Finally, in the 1.0 client, you can also use the paths module as a convenience m
274
278
 
275
279
  New:
276
280
  ```
277
- # Bring the session_path method into the current class
281
+ # Bring the path helper methods into the current class
278
282
  include Google::Cloud::Dialogflow::V2::Sessions::Paths
279
283
 
280
284
  def foo
@@ -378,6 +382,50 @@ request_stream.close
378
382
  response_thread.join
379
383
  ```
380
384
 
385
+ ### Handling Errors
386
+
387
+ The client reports standard
388
+ {file:https://github.com/grpc/grpc/blob/master/doc/statuscodes.md gRPC error codes}
389
+ by raising exceptions. In older releases, these exceptions were located in the
390
+ `Google::Gax` namespace and were subclasses of the `Google::Gax::GaxError` base
391
+ exception class, defined in the `google-gax` gem. However, these classes were
392
+ different from the standard exceptions (subclasses of `Google::Cloud::Error`)
393
+ thrown by other client libraries such as `google-cloud-storage`.
394
+
395
+ The 1.0 client library now uses the `Google::Cloud::Error` exception hierarchy,
396
+ for consistency across all the Google Cloud client libraries. In general, these
397
+ exceptions have the same name as their counterparts from older releases, but
398
+ are located in the `Google::Cloud` namespace rather than the `Google::Gax`
399
+ namespace.
400
+
401
+ Old:
402
+ ```
403
+ client = Google::Cloud::Dialogflow::Sessions.new
404
+
405
+ session = "projects/my-project/agent/sessions/my-session"
406
+ query = { text: { text: "book a meeting room", language_code: "en-US" } }
407
+
408
+ begin
409
+ response = client.detect_intent session, query
410
+ rescue Google::Gax::Error => e
411
+ # Handle exceptions that subclass Google::Gax::Error
412
+ end
413
+ ```
414
+
415
+ New:
416
+ ```
417
+ client = Google::Cloud::Dialogflow.sessions
418
+
419
+ session = "projects/my-project/agent/sessions/my-session"
420
+ query = { text: { text: "book a meeting room", language_code: "en-US" } }
421
+
422
+ begin
423
+ response = client.detect_intent session: session, query_input: query
424
+ rescue Google::Cloud::Error => e
425
+ # Handle exceptions that subclass Google::Cloud::Error
426
+ end
427
+ ```
428
+
381
429
  ### Class Namespaces
382
430
 
383
431
  In older releases, the client object was of classes with names like:
data/README.md CHANGED
@@ -6,9 +6,10 @@ Dialogflow is an end-to-end, build-once deploy-everywhere development suite for
6
6
 
7
7
  Actual client classes for the various versions of this API are defined in
8
8
  _versioned_ client gems, with names of the form `google-cloud-dialogflow-v*`.
9
- The gem `google-cloud-dialogflow` is a convenience wrapper library that brings the
9
+ The gem `google-cloud-dialogflow` is the main client library that brings the
10
10
  verisoned gems in as dependencies, and provides high-level methods for
11
- constructing clients.
11
+ constructing clients. More information on versioned clients can be found below
12
+ in the section titled *Which client should I use?*.
12
13
 
13
14
  View the [Client Library Documentation](https://googleapis.dev/ruby/google-cloud-dialogflow/latest)
14
15
  for this library, google-cloud-dialogflow, to see the convenience methods for
@@ -69,11 +70,69 @@ end
69
70
 
70
71
  ## Supported Ruby Versions
71
72
 
72
- This library is supported on Ruby 2.4+.
73
+ This library is supported on Ruby 2.5+.
73
74
 
74
75
  Google provides official support for Ruby versions that are actively supported
75
76
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
76
- in security maintenance, and not end of life. Currently, this means Ruby 2.4
77
+ in security maintenance, and not end of life. Currently, this means Ruby 2.5
77
78
  and later. Older versions of Ruby _may_ still work, but are unsupported and not
78
79
  recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
79
80
  about the Ruby support schedule.
81
+
82
+ ## Which client should I use?
83
+
84
+ Most modern Ruby client libraries for Google APIs come in two flavors: the main
85
+ client library with a name such as `google-cloud-dialogflow`,
86
+ and lower-level _versioned_ client libraries with names such as
87
+ `google-cloud-dialogflow-v2`.
88
+ _In most cases, you should install the main client._
89
+
90
+ ### What's the difference between the main client and a versioned client?
91
+
92
+ A _versioned client_ provides a basic set of data types and client classes for
93
+ a _single version_ of a specific service. (That is, for a service with multiple
94
+ versions, there might be a separate versioned client for each service version.)
95
+ Most versioned clients are written and maintained by a code generator.
96
+
97
+ The _main client_ is designed to provide you with the _recommended_ client
98
+ interfaces for the service. There will be only one main client for any given
99
+ service, even a service with multiple versions. The main client includes
100
+ factory methods for constructing the client objects we recommend for most
101
+ users. In some cases, those will be classes provided by an underlying versioned
102
+ client; in other cases, they will be handwritten higher-level client objects
103
+ with additional capabilities, convenience methods, or best practices built in.
104
+ Generally, the main client will default to a recommended service version,
105
+ although in some cases you can override this if you need to talk to a specific
106
+ service version.
107
+
108
+ ### Why would I want to use the main client?
109
+
110
+ We recommend that most users install the main client gem for a service. You can
111
+ identify this gem as the one _without_ a version in its name, e.g.
112
+ `google-cloud-dialogflow`.
113
+ The main client is recommended because it will embody the best practices for
114
+ accessing the service, and may also provide more convenient interfaces or
115
+ tighter integration into frameworks and third-party libraries. In addition, the
116
+ documentation and samples published by Google will generally demonstrate use of
117
+ the main client.
118
+
119
+ ### Why would I want to use a versioned client?
120
+
121
+ You can use a versioned client if you are content with a possibly lower-level
122
+ class interface, you explicitly want to avoid features provided by the main
123
+ client, or you want to access a specific service version not be covered by the
124
+ main client. You can identify versioned client gems because the service version
125
+ is part of the name, e.g. `google-cloud-dialogflow-v2`.
126
+
127
+ ### What about the google-apis-<name> clients?
128
+
129
+ Client library gems with names that begin with `google-apis-` are based on an
130
+ older code generation technology. They talk to a REST/JSON backend (whereas
131
+ most modern clients talk to a [gRPC](https://grpc.io/) backend) and they may
132
+ not offer the same performance, features, and ease of use provided by more
133
+ modern clients.
134
+
135
+ The `google-apis-` clients have wide coverage across Google services, so you
136
+ might need to use one if there is no modern client available for the service.
137
+ However, if a modern client is available, we generally recommend it over the
138
+ older `google-apis-` clients.
@@ -57,34 +57,7 @@ module Google
57
57
  #
58
58
  # ## About Agents
59
59
  #
60
- # Agents are best described as Natural Language Understanding (NLU) modules
61
- # that transform user requests into actionable data. You can include agents
62
- # in your app, product, or service to determine user intent and respond to the
63
- # user in a natural way.
64
- #
65
- # After you create an agent, you can add Intents, Contexts,
66
- # Entity Types, Webhooks, and so on to
67
- # manage the flow of a conversation and match user input to predefined intents
68
- # and actions.
69
- #
70
- # You can create an agent using both Dialogflow Standard Edition and
71
- # Dialogflow Enterprise Edition. For details, see
72
- # [Dialogflow
73
- # Editions](https://cloud.google.com/dialogflow/docs/editions).
74
- #
75
- # You can save your agent for backup or versioning by exporting the agent by
76
- # using the ExportAgent method. You can import a saved
77
- # agent by using the ImportAgent method.
78
- #
79
- # Dialogflow provides several
80
- # [prebuilt
81
- # agents](https://cloud.google.com/dialogflow/docs/agents-prebuilt)
82
- # for common conversation scenarios such as determining a date and time,
83
- # converting currency, and so on.
84
- #
85
- # For more information about agents, see the
86
- # [Dialogflow
87
- # documentation](https://cloud.google.com/dialogflow/docs/agents-overview).
60
+ # Service for managing Agents.
88
61
  #
89
62
  # @param version [::String, ::Symbol] The API version to connect to. Optional.
90
63
  # Defaults to `:v2`.
@@ -114,24 +87,7 @@ module Google
114
87
  #
115
88
  # ## About Contexts
116
89
  #
117
- # A context represents additional information included with user input or with
118
- # an intent returned by the Dialogflow API. Contexts are helpful for
119
- # differentiating user input which may be vague or have a different meaning
120
- # depending on additional details from your application such as user setting
121
- # and preferences, previous user input, where the user is in your application,
122
- # geographic location, and so on.
123
- #
124
- # You can include contexts as input parameters of a
125
- # DetectIntent (or
126
- # StreamingDetectIntent) request,
127
- # or as output contexts included in the returned intent.
128
- # Contexts expire when an intent is matched, after the number of `DetectIntent`
129
- # requests specified by the `lifespan_count` parameter, or after 20 minutes
130
- # if no intents are matched for a `DetectIntent` request.
131
- #
132
- # For more information about contexts, see the
133
- # [Dialogflow
134
- # documentation](https://cloud.google.com/dialogflow/docs/contexts-overview).
90
+ # Service for managing Contexts.
135
91
  #
136
92
  # @param version [::String, ::Symbol] The API version to connect to. Optional.
137
93
  # Defaults to `:v2`.
@@ -148,6 +104,36 @@ module Google
148
104
  package_module.const_get(:Contexts).const_get(:Client).new(&block)
149
105
  end
150
106
 
107
+ ##
108
+ # Create a new client object for Intents.
109
+ #
110
+ # By default, this returns an instance of
111
+ # [Google::Cloud::Dialogflow::V2::Intents::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/Intents/Client.html)
112
+ # for version V2 of the API.
113
+ # However, you can specify specify a different API version by passing it in the
114
+ # `version` parameter. If the Intents service is
115
+ # supported by that API version, and the corresponding gem is available, the
116
+ # appropriate versioned client will be returned.
117
+ #
118
+ # ## About Intents
119
+ #
120
+ # Service for managing Intents.
121
+ #
122
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
123
+ # Defaults to `:v2`.
124
+ # @return [Intents::Client] A client object for the specified version.
125
+ #
126
+ def self.intents version: :v2, &block
127
+ require "google/cloud/dialogflow/#{version.to_s.downcase}"
128
+
129
+ package_name = Google::Cloud::Dialogflow
130
+ .constants
131
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
132
+ .first
133
+ package_module = Google::Cloud::Dialogflow.const_get package_name
134
+ package_module.const_get(:Intents).const_get(:Client).new(&block)
135
+ end
136
+
151
137
  ##
152
138
  # Create a new client object for EntityTypes.
153
139
  #
@@ -161,40 +147,76 @@ module Google
161
147
  #
162
148
  # ## About EntityTypes
163
149
  #
164
- # Entities are extracted from user input and represent parameters that are
165
- # meaningful to your application. For example, a date range, a proper name
166
- # such as a geographic location or landmark, and so on. Entities represent
167
- # actionable data for your application.
150
+ # Service for managing EntityTypes.
168
151
  #
169
- # When you define an entity, you can also include synonyms that all map to
170
- # that entity. For example, "soft drink", "soda", "pop", and so on.
152
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
153
+ # Defaults to `:v2`.
154
+ # @return [EntityTypes::Client] A client object for the specified version.
171
155
  #
172
- # There are three types of entities:
156
+ def self.entity_types version: :v2, &block
157
+ require "google/cloud/dialogflow/#{version.to_s.downcase}"
158
+
159
+ package_name = Google::Cloud::Dialogflow
160
+ .constants
161
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
162
+ .first
163
+ package_module = Google::Cloud::Dialogflow.const_get package_name
164
+ package_module.const_get(:EntityTypes).const_get(:Client).new(&block)
165
+ end
166
+
167
+ ##
168
+ # Create a new client object for SessionEntityTypes.
173
169
  #
174
- # * **System** - entities that are defined by the Dialogflow API for common
175
- # data types such as date, time, currency, and so on. A system entity is
176
- # represented by the `EntityType` type.
170
+ # By default, this returns an instance of
171
+ # [Google::Cloud::Dialogflow::V2::SessionEntityTypes::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/SessionEntityTypes/Client.html)
172
+ # for version V2 of the API.
173
+ # However, you can specify specify a different API version by passing it in the
174
+ # `version` parameter. If the SessionEntityTypes service is
175
+ # supported by that API version, and the corresponding gem is available, the
176
+ # appropriate versioned client will be returned.
177
177
  #
178
- # * **Custom** - entities that are defined by you that represent
179
- # actionable data that is meaningful to your application. For example,
180
- # you could define a `pizza.sauce` entity for red or white pizza sauce,
181
- # a `pizza.cheese` entity for the different types of cheese on a pizza,
182
- # a `pizza.topping` entity for different toppings, and so on. A custom
183
- # entity is represented by the `EntityType` type.
178
+ # ## About SessionEntityTypes
184
179
  #
185
- # * **User** - entities that are built for an individual user such as
186
- # favorites, preferences, playlists, and so on. A user entity is
187
- # represented by the SessionEntityType type.
180
+ # Service for managing SessionEntityTypes.
188
181
  #
189
- # For more information about entity types, see the
190
- # [Dialogflow
191
- # documentation](https://cloud.google.com/dialogflow/docs/entities-overview).
182
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
183
+ # Defaults to `:v2`.
184
+ # @return [SessionEntityTypes::Client] A client object for the specified version.
185
+ #
186
+ def self.session_entity_types version: :v2, &block
187
+ require "google/cloud/dialogflow/#{version.to_s.downcase}"
188
+
189
+ package_name = Google::Cloud::Dialogflow
190
+ .constants
191
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
192
+ .first
193
+ package_module = Google::Cloud::Dialogflow.const_get package_name
194
+ package_module.const_get(:SessionEntityTypes).const_get(:Client).new(&block)
195
+ end
196
+
197
+ ##
198
+ # Create a new client object for Sessions.
199
+ #
200
+ # By default, this returns an instance of
201
+ # [Google::Cloud::Dialogflow::V2::Sessions::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/Sessions/Client.html)
202
+ # for version V2 of the API.
203
+ # However, you can specify specify a different API version by passing it in the
204
+ # `version` parameter. If the Sessions service is
205
+ # supported by that API version, and the corresponding gem is available, the
206
+ # appropriate versioned client will be returned.
207
+ #
208
+ # ## About Sessions
209
+ #
210
+ # A service used for session interactions.
211
+ #
212
+ # For more information, see the [API interactions
213
+ # guide](https://cloud.google.com/dialogflow/docs/api-overview).
192
214
  #
193
215
  # @param version [::String, ::Symbol] The API version to connect to. Optional.
194
216
  # Defaults to `:v2`.
195
- # @return [EntityTypes::Client] A client object for the specified version.
217
+ # @return [Sessions::Client] A client object for the specified version.
196
218
  #
197
- def self.entity_types version: :v2, &block
219
+ def self.sessions version: :v2, &block
198
220
  require "google/cloud/dialogflow/#{version.to_s.downcase}"
199
221
 
200
222
  package_name = Google::Cloud::Dialogflow
@@ -202,29 +224,29 @@ module Google
202
224
  .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
203
225
  .first
204
226
  package_module = Google::Cloud::Dialogflow.const_get package_name
205
- package_module.const_get(:EntityTypes).const_get(:Client).new(&block)
227
+ package_module.const_get(:Sessions).const_get(:Client).new(&block)
206
228
  end
207
229
 
208
230
  ##
209
- # Create a new client object for Environments.
231
+ # Create a new client object for Participants.
210
232
  #
211
233
  # By default, this returns an instance of
212
- # [Google::Cloud::Dialogflow::V2::Environments::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/Environments/Client.html)
234
+ # [Google::Cloud::Dialogflow::V2::Participants::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/Participants/Client.html)
213
235
  # for version V2 of the API.
214
236
  # However, you can specify specify a different API version by passing it in the
215
- # `version` parameter. If the Environments service is
237
+ # `version` parameter. If the Participants service is
216
238
  # supported by that API version, and the corresponding gem is available, the
217
239
  # appropriate versioned client will be returned.
218
240
  #
219
- # ## About Environments
241
+ # ## About Participants
220
242
  #
221
- # Manages agent environments.
243
+ # Service for managing Participants.
222
244
  #
223
245
  # @param version [::String, ::Symbol] The API version to connect to. Optional.
224
246
  # Defaults to `:v2`.
225
- # @return [Environments::Client] A client object for the specified version.
247
+ # @return [Participants::Client] A client object for the specified version.
226
248
  #
227
- def self.environments version: :v2, &block
249
+ def self.participants version: :v2, &block
228
250
  require "google/cloud/dialogflow/#{version.to_s.downcase}"
229
251
 
230
252
  package_name = Google::Cloud::Dialogflow
@@ -232,60 +254,29 @@ module Google
232
254
  .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
233
255
  .first
234
256
  package_module = Google::Cloud::Dialogflow.const_get package_name
235
- package_module.const_get(:Environments).const_get(:Client).new(&block)
257
+ package_module.const_get(:Participants).const_get(:Client).new(&block)
236
258
  end
237
259
 
238
260
  ##
239
- # Create a new client object for Intents.
261
+ # Create a new client object for AnswerRecords.
240
262
  #
241
263
  # By default, this returns an instance of
242
- # [Google::Cloud::Dialogflow::V2::Intents::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/Intents/Client.html)
264
+ # [Google::Cloud::Dialogflow::V2::AnswerRecords::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/AnswerRecords/Client.html)
243
265
  # for version V2 of the API.
244
266
  # However, you can specify specify a different API version by passing it in the
245
- # `version` parameter. If the Intents service is
267
+ # `version` parameter. If the AnswerRecords service is
246
268
  # supported by that API version, and the corresponding gem is available, the
247
269
  # appropriate versioned client will be returned.
248
270
  #
249
- # ## About Intents
271
+ # ## About AnswerRecords
250
272
  #
251
- # An intent represents a mapping between input from a user and an action to
252
- # be taken by your application. When you pass user input to the
253
- # DetectIntent (or
254
- # StreamingDetectIntent) method, the
255
- # Dialogflow API analyzes the input and searches
256
- # for a matching intent. If no match is found, the Dialogflow API returns a
257
- # fallback intent (`is_fallback` = true).
258
- #
259
- # You can provide additional information for the Dialogflow API to use to
260
- # match user input to an intent by adding the following to your intent.
261
- #
262
- # * **Contexts** - provide additional context for intent analysis. For
263
- # example, if an intent is related to an object in your application that
264
- # plays music, you can provide a context to determine when to match the
265
- # intent if the user input is "turn it off". You can include a context
266
- # that matches the intent when there is previous user input of
267
- # "play music", and not when there is previous user input of
268
- # "turn on the light".
269
- #
270
- # * **Events** - allow for matching an intent by using an event name
271
- # instead of user input. Your application can provide an event name and
272
- # related parameters to the Dialogflow API to match an intent. For
273
- # example, when your application starts, you can send a welcome event
274
- # with a user name parameter to the Dialogflow API to match an intent with
275
- # a personalized welcome message for the user.
276
- #
277
- # * **Training phrases** - provide examples of user input to train the
278
- # Dialogflow API agent to better match intents.
279
- #
280
- # For more information about intents, see the
281
- # [Dialogflow
282
- # documentation](https://cloud.google.com/dialogflow/docs/intents-overview).
273
+ # Service for managing AnswerRecords.
283
274
  #
284
275
  # @param version [::String, ::Symbol] The API version to connect to. Optional.
285
276
  # Defaults to `:v2`.
286
- # @return [Intents::Client] A client object for the specified version.
277
+ # @return [AnswerRecords::Client] A client object for the specified version.
287
278
  #
288
- def self.intents version: :v2, &block
279
+ def self.answer_records version: :v2, &block
289
280
  require "google/cloud/dialogflow/#{version.to_s.downcase}"
290
281
 
291
282
  package_name = Google::Cloud::Dialogflow
@@ -293,45 +284,89 @@ module Google
293
284
  .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
294
285
  .first
295
286
  package_module = Google::Cloud::Dialogflow.const_get package_name
296
- package_module.const_get(:Intents).const_get(:Client).new(&block)
287
+ package_module.const_get(:AnswerRecords).const_get(:Client).new(&block)
297
288
  end
298
289
 
299
290
  ##
300
- # Create a new client object for SessionEntityTypes.
291
+ # Create a new client object for Conversations.
301
292
  #
302
293
  # By default, this returns an instance of
303
- # [Google::Cloud::Dialogflow::V2::SessionEntityTypes::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/SessionEntityTypes/Client.html)
294
+ # [Google::Cloud::Dialogflow::V2::Conversations::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/Conversations/Client.html)
304
295
  # for version V2 of the API.
305
296
  # However, you can specify specify a different API version by passing it in the
306
- # `version` parameter. If the SessionEntityTypes service is
297
+ # `version` parameter. If the Conversations service is
307
298
  # supported by that API version, and the corresponding gem is available, the
308
299
  # appropriate versioned client will be returned.
309
300
  #
310
- # ## About SessionEntityTypes
301
+ # ## About Conversations
302
+ #
303
+ # Service for managing Conversations.
304
+ #
305
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
306
+ # Defaults to `:v2`.
307
+ # @return [Conversations::Client] A client object for the specified version.
308
+ #
309
+ def self.conversations version: :v2, &block
310
+ require "google/cloud/dialogflow/#{version.to_s.downcase}"
311
+
312
+ package_name = Google::Cloud::Dialogflow
313
+ .constants
314
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
315
+ .first
316
+ package_module = Google::Cloud::Dialogflow.const_get package_name
317
+ package_module.const_get(:Conversations).const_get(:Client).new(&block)
318
+ end
319
+
320
+ ##
321
+ # Create a new client object for ConversationProfiles.
311
322
  #
312
- # Entities are extracted from user input and represent parameters that are
313
- # meaningful to your application. For example, a date range, a proper name
314
- # such as a geographic location or landmark, and so on. Entities represent
315
- # actionable data for your application.
323
+ # By default, this returns an instance of
324
+ # [Google::Cloud::Dialogflow::V2::ConversationProfiles::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/ConversationProfiles/Client.html)
325
+ # for version V2 of the API.
326
+ # However, you can specify specify a different API version by passing it in the
327
+ # `version` parameter. If the ConversationProfiles service is
328
+ # supported by that API version, and the corresponding gem is available, the
329
+ # appropriate versioned client will be returned.
330
+ #
331
+ # ## About ConversationProfiles
316
332
  #
317
- # Session entity types are referred to as **User** entity types and are
318
- # entities that are built for an individual user such as
319
- # favorites, preferences, playlists, and so on. You can redefine a session
320
- # entity type at the session level.
333
+ # Service for managing ConversationProfiles.
334
+ #
335
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
336
+ # Defaults to `:v2`.
337
+ # @return [ConversationProfiles::Client] A client object for the specified version.
338
+ #
339
+ def self.conversation_profiles version: :v2, &block
340
+ require "google/cloud/dialogflow/#{version.to_s.downcase}"
341
+
342
+ package_name = Google::Cloud::Dialogflow
343
+ .constants
344
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
345
+ .first
346
+ package_module = Google::Cloud::Dialogflow.const_get package_name
347
+ package_module.const_get(:ConversationProfiles).const_get(:Client).new(&block)
348
+ end
349
+
350
+ ##
351
+ # Create a new client object for Documents.
352
+ #
353
+ # By default, this returns an instance of
354
+ # [Google::Cloud::Dialogflow::V2::Documents::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/Documents/Client.html)
355
+ # for version V2 of the API.
356
+ # However, you can specify specify a different API version by passing it in the
357
+ # `version` parameter. If the Documents service is
358
+ # supported by that API version, and the corresponding gem is available, the
359
+ # appropriate versioned client will be returned.
321
360
  #
322
- # Session entity methods do not work with Google Assistant integration.
323
- # Contact Dialogflow support if you need to use session entities
324
- # with Google Assistant integration.
361
+ # ## About Documents
325
362
  #
326
- # For more information about entity types, see the
327
- # [Dialogflow
328
- # documentation](https://cloud.google.com/dialogflow/docs/entities-overview).
363
+ # Service for managing knowledge Documents.
329
364
  #
330
365
  # @param version [::String, ::Symbol] The API version to connect to. Optional.
331
366
  # Defaults to `:v2`.
332
- # @return [SessionEntityTypes::Client] A client object for the specified version.
367
+ # @return [Documents::Client] A client object for the specified version.
333
368
  #
334
- def self.session_entity_types version: :v2, &block
369
+ def self.documents version: :v2, &block
335
370
  require "google/cloud/dialogflow/#{version.to_s.downcase}"
336
371
 
337
372
  package_name = Google::Cloud::Dialogflow
@@ -339,32 +374,29 @@ module Google
339
374
  .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
340
375
  .first
341
376
  package_module = Google::Cloud::Dialogflow.const_get package_name
342
- package_module.const_get(:SessionEntityTypes).const_get(:Client).new(&block)
377
+ package_module.const_get(:Documents).const_get(:Client).new(&block)
343
378
  end
344
379
 
345
380
  ##
346
- # Create a new client object for Sessions.
381
+ # Create a new client object for Fulfillments.
347
382
  #
348
383
  # By default, this returns an instance of
349
- # [Google::Cloud::Dialogflow::V2::Sessions::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/Sessions/Client.html)
384
+ # [Google::Cloud::Dialogflow::V2::Fulfillments::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/Fulfillments/Client.html)
350
385
  # for version V2 of the API.
351
386
  # However, you can specify specify a different API version by passing it in the
352
- # `version` parameter. If the Sessions service is
387
+ # `version` parameter. If the Fulfillments service is
353
388
  # supported by that API version, and the corresponding gem is available, the
354
389
  # appropriate versioned client will be returned.
355
390
  #
356
- # ## About Sessions
391
+ # ## About Fulfillments
357
392
  #
358
- # A session represents an interaction with a user. You retrieve user input
359
- # and pass it to the DetectIntent (or
360
- # StreamingDetectIntent) method to determine
361
- # user intent and respond.
393
+ # Service for managing Fulfillments.
362
394
  #
363
395
  # @param version [::String, ::Symbol] The API version to connect to. Optional.
364
396
  # Defaults to `:v2`.
365
- # @return [Sessions::Client] A client object for the specified version.
397
+ # @return [Fulfillments::Client] A client object for the specified version.
366
398
  #
367
- def self.sessions version: :v2, &block
399
+ def self.fulfillments version: :v2, &block
368
400
  require "google/cloud/dialogflow/#{version.to_s.downcase}"
369
401
 
370
402
  package_name = Google::Cloud::Dialogflow
@@ -372,7 +404,97 @@ module Google
372
404
  .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
373
405
  .first
374
406
  package_module = Google::Cloud::Dialogflow.const_get package_name
375
- package_module.const_get(:Sessions).const_get(:Client).new(&block)
407
+ package_module.const_get(:Fulfillments).const_get(:Client).new(&block)
408
+ end
409
+
410
+ ##
411
+ # Create a new client object for Environments.
412
+ #
413
+ # By default, this returns an instance of
414
+ # [Google::Cloud::Dialogflow::V2::Environments::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/Environments/Client.html)
415
+ # for version V2 of the API.
416
+ # However, you can specify specify a different API version by passing it in the
417
+ # `version` parameter. If the Environments service is
418
+ # supported by that API version, and the corresponding gem is available, the
419
+ # appropriate versioned client will be returned.
420
+ #
421
+ # ## About Environments
422
+ #
423
+ # Service for managing Environments.
424
+ #
425
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
426
+ # Defaults to `:v2`.
427
+ # @return [Environments::Client] A client object for the specified version.
428
+ #
429
+ def self.environments version: :v2, &block
430
+ require "google/cloud/dialogflow/#{version.to_s.downcase}"
431
+
432
+ package_name = Google::Cloud::Dialogflow
433
+ .constants
434
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
435
+ .first
436
+ package_module = Google::Cloud::Dialogflow.const_get package_name
437
+ package_module.const_get(:Environments).const_get(:Client).new(&block)
438
+ end
439
+
440
+ ##
441
+ # Create a new client object for KnowledgeBases.
442
+ #
443
+ # By default, this returns an instance of
444
+ # [Google::Cloud::Dialogflow::V2::KnowledgeBases::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/KnowledgeBases/Client.html)
445
+ # for version V2 of the API.
446
+ # However, you can specify specify a different API version by passing it in the
447
+ # `version` parameter. If the KnowledgeBases service is
448
+ # supported by that API version, and the corresponding gem is available, the
449
+ # appropriate versioned client will be returned.
450
+ #
451
+ # ## About KnowledgeBases
452
+ #
453
+ # Service for managing KnowledgeBases.
454
+ #
455
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
456
+ # Defaults to `:v2`.
457
+ # @return [KnowledgeBases::Client] A client object for the specified version.
458
+ #
459
+ def self.knowledge_bases version: :v2, &block
460
+ require "google/cloud/dialogflow/#{version.to_s.downcase}"
461
+
462
+ package_name = Google::Cloud::Dialogflow
463
+ .constants
464
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
465
+ .first
466
+ package_module = Google::Cloud::Dialogflow.const_get package_name
467
+ package_module.const_get(:KnowledgeBases).const_get(:Client).new(&block)
468
+ end
469
+
470
+ ##
471
+ # Create a new client object for Versions.
472
+ #
473
+ # By default, this returns an instance of
474
+ # [Google::Cloud::Dialogflow::V2::Versions::Client](https://googleapis.dev/ruby/google-cloud-dialogflow-v2/latest/Google/Cloud/Dialogflow/V2/Versions/Client.html)
475
+ # for version V2 of the API.
476
+ # However, you can specify specify a different API version by passing it in the
477
+ # `version` parameter. If the Versions service is
478
+ # supported by that API version, and the corresponding gem is available, the
479
+ # appropriate versioned client will be returned.
480
+ #
481
+ # ## About Versions
482
+ #
483
+ # Service for managing Versions.
484
+ #
485
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
486
+ # Defaults to `:v2`.
487
+ # @return [Versions::Client] A client object for the specified version.
488
+ #
489
+ def self.versions version: :v2, &block
490
+ require "google/cloud/dialogflow/#{version.to_s.downcase}"
491
+
492
+ package_name = Google::Cloud::Dialogflow
493
+ .constants
494
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
495
+ .first
496
+ package_module = Google::Cloud::Dialogflow.const_get package_name
497
+ package_module.const_get(:Versions).const_get(:Client).new(&block)
376
498
  end
377
499
 
378
500
  ##
@@ -389,8 +511,8 @@ module Google
389
511
  # The library version as recorded in instrumentation and logging.
390
512
  # * `interceptors` (*type:* `Array<GRPC::ClientInterceptor>`) -
391
513
  # An array of interceptors that are run before calls are executed.
392
- # * `timeout` (*type:* `Integer`) -
393
- # Default timeout in milliseconds.
514
+ # * `timeout` (*type:* `Numeric`) -
515
+ # Default timeout in seconds.
394
516
  # * `metadata` (*type:* `Hash{Symbol=>String}`) -
395
517
  # Additional gRPC headers to be sent with the call.
396
518
  # * `retry_policy` (*type:* `Hash`) -
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module Dialogflow
19
- VERSION = "1.1.0".freeze
19
+ VERSION = "1.3.0".freeze
20
20
  end
21
21
  end
22
22
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-dialogflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-20 00:00:00.000000000 Z
11
+ date: 2021-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-cloud-core
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.1'
33
+ version: '0.8'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.1'
40
+ version: '0.8'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: google-style
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.24.0
47
+ version: 1.25.1
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.24.0
54
+ version: 1.25.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -180,14 +180,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
180
180
  requirements:
181
181
  - - ">="
182
182
  - !ruby/object:Gem::Version
183
- version: '2.4'
183
+ version: '2.5'
184
184
  required_rubygems_version: !ruby/object:Gem::Requirement
185
185
  requirements:
186
186
  - - ">="
187
187
  - !ruby/object:Gem::Version
188
188
  version: '0'
189
189
  requirements: []
190
- rubygems_version: 3.0.6
190
+ rubygems_version: 3.2.17
191
191
  signing_key:
192
192
  specification_version: 4
193
193
  summary: API Client library for the Dialogflow API