ibm_watson 0.3.0 → 0.4.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: 0e5497c0b4d5432eeebd77445b2563795c103cd37eb7110d6405c28658d10ffa
4
- data.tar.gz: 0ff12a91d90c19d074672665a2539ed5a9a4b2bafd0922e613d0e4121441be67
3
+ metadata.gz: 1f867b01332162f178deb7bb0382b95c2dc90254ff079f840b3fb64f6c8b2102
4
+ data.tar.gz: f5ede7a5fe4313e2e921ad7bac8700be471d250b89c3f03ad5b18c891d0feae1
5
5
  SHA512:
6
- metadata.gz: 734634cbd63a3a5b3dda1e4fa6b77ba8285f7c493d4b8c107abd2119e4564b42e96eff6af4387da504c83ae2697a8a13fef8ade200e80d6b7d6142ce2fd334ef
7
- data.tar.gz: 42d4aca1005a5a614411d10d0c8ca50d3227558f3cb9d9490fdb8386737850c0e490dbab6b8bf02a3581f4c927f657dba08575bfb99fdd6fdf91ff3c2a431a19
6
+ metadata.gz: 732f0fa20dfe3c4d29b48cb6cfcb6574eaac7188bf8b496af4e103a50ea258c3accef20f627b0e9a9e76d75e1dc7eed24511b81cfb47848a121d939403e92981
7
+ data.tar.gz: 812d8afe21c7076c9ad8f9009ea2627621dbc0c179d825f5d34a9abda2ec5d0ae13aad11102ffa341e644b4d5b490b56954010943072c49b7549ab1ef425320b
data/README.md CHANGED
@@ -249,7 +249,7 @@ assistant.configure_http_client(
249
249
 
250
250
  ## Using Websockets
251
251
 
252
- The Speech-to-Text service supports websockets with the `recognize-with-websockets` method. The method accepts a custom callback class. The `eventmachine` loop that the websocket uses blocks the main thread by default. Here is an example of using the websockets method:
252
+ The Speech-to-Text service supports websockets with the `recognize_using_websocket` method. The method accepts a custom callback class. The `eventmachine` loop that the websocket uses blocks the main thread by default. Here is an example of using the websockets method:
253
253
 
254
254
  ```ruby
255
255
  require "ibm_watson"
@@ -260,7 +260,7 @@ speech_to_text = IBMWatson::SpeechToTextV1.new(
260
260
  username: "<username>",
261
261
  password: "<password>"
262
262
  )
263
- websocket = speech_to_text.recognize_with_websocket(
263
+ websocket = speech_to_text.recognize_using_websocket(
264
264
  audio: audio_file,
265
265
  recognize_callback: callback,
266
266
  interim_results: true
@@ -271,6 +271,7 @@ thr = Thread.new do # Start the websocket inside of a thread
271
271
  end
272
272
  thr.join # Wait for the thread to finish before ending the program or running other code
273
273
  ```
274
+ Note: `recognize_with_websocket` has been **deprecated** in favor of **`recognize_using_websocket`**
274
275
 
275
276
  ## Ruby version
276
277
 
@@ -255,7 +255,7 @@ module IBMWatson
255
255
  end
256
256
 
257
257
  ##
258
- # @!method create_workspace(name: nil, description: nil, language: nil, intents: nil, entities: nil, dialog_nodes: nil, counterexamples: nil, metadata: nil, learning_opt_out: nil)
258
+ # @!method create_workspace(name: nil, description: nil, language: nil, intents: nil, entities: nil, dialog_nodes: nil, counterexamples: nil, metadata: nil, learning_opt_out: nil, system_settings: nil)
259
259
  # Create workspace.
260
260
  # Create a workspace based on component objects. You must provide workspace
261
261
  # components defining the content of the new workspace.
@@ -275,8 +275,9 @@ module IBMWatson
275
275
  # @param metadata [Object] Any metadata related to the workspace.
276
276
  # @param learning_opt_out [Boolean] Whether training data from the workspace can be used by IBM for general service
277
277
  # improvements. `true` indicates that workspace training data is not to be used.
278
+ # @param system_settings [WorkspaceSystemSettings] Global settings for the workspace.
278
279
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
279
- def create_workspace(name: nil, description: nil, language: nil, intents: nil, entities: nil, dialog_nodes: nil, counterexamples: nil, metadata: nil, learning_opt_out: nil)
280
+ def create_workspace(name: nil, description: nil, language: nil, intents: nil, entities: nil, dialog_nodes: nil, counterexamples: nil, metadata: nil, learning_opt_out: nil, system_settings: nil)
280
281
  headers = {
281
282
  }
282
283
  params = {
@@ -291,7 +292,8 @@ module IBMWatson
291
292
  "dialog_nodes" => dialog_nodes,
292
293
  "counterexamples" => counterexamples,
293
294
  "metadata" => metadata,
294
- "learning_opt_out" => learning_opt_out
295
+ "learning_opt_out" => learning_opt_out,
296
+ "system_settings" => system_settings
295
297
  }
296
298
  method_url = "/v1/workspaces"
297
299
  response = request(
@@ -341,7 +343,7 @@ module IBMWatson
341
343
  end
342
344
 
343
345
  ##
344
- # @!method update_workspace(workspace_id:, name: nil, description: nil, language: nil, intents: nil, entities: nil, dialog_nodes: nil, counterexamples: nil, metadata: nil, learning_opt_out: nil, append: nil)
346
+ # @!method update_workspace(workspace_id:, name: nil, description: nil, language: nil, intents: nil, entities: nil, dialog_nodes: nil, counterexamples: nil, metadata: nil, learning_opt_out: nil, system_settings: nil, append: nil)
345
347
  # Update workspace.
346
348
  # Update an existing workspace with new or modified data. You must provide component
347
349
  # objects defining the content of the updated workspace.
@@ -362,6 +364,7 @@ module IBMWatson
362
364
  # @param metadata [Object] Any metadata related to the workspace.
363
365
  # @param learning_opt_out [Boolean] Whether training data from the workspace can be used by IBM for general service
364
366
  # improvements. `true` indicates that workspace training data is not to be used.
367
+ # @param system_settings [WorkspaceSystemSettings] Global settings for the workspace.
365
368
  # @param append [Boolean] Whether the new data is to be appended to the existing data in the workspace. If
366
369
  # **append**=`false`, elements included in the new data completely replace the
367
370
  # corresponding existing elements, including all subelements. For example, if the
@@ -372,7 +375,7 @@ module IBMWatson
372
375
  # added. If any elements in the new data collide with existing elements, the update
373
376
  # request fails.
374
377
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
375
- def update_workspace(workspace_id:, name: nil, description: nil, language: nil, intents: nil, entities: nil, dialog_nodes: nil, counterexamples: nil, metadata: nil, learning_opt_out: nil, append: nil)
378
+ def update_workspace(workspace_id:, name: nil, description: nil, language: nil, intents: nil, entities: nil, dialog_nodes: nil, counterexamples: nil, metadata: nil, learning_opt_out: nil, system_settings: nil, append: nil)
376
379
  raise ArgumentError("workspace_id must be provided") if workspace_id.nil?
377
380
  headers = {
378
381
  }
@@ -389,7 +392,8 @@ module IBMWatson
389
392
  "dialog_nodes" => dialog_nodes,
390
393
  "counterexamples" => counterexamples,
391
394
  "metadata" => metadata,
392
- "learning_opt_out" => learning_opt_out
395
+ "learning_opt_out" => learning_opt_out,
396
+ "system_settings" => system_settings
393
397
  }
394
398
  method_url = "/v1/workspaces/%s" % [ERB::Util.url_encode(workspace_id)]
395
399
  response = request(
@@ -635,7 +639,8 @@ module IBMWatson
635
639
  ##
636
640
  # @!method list_examples(workspace_id:, intent:, page_limit: nil, include_count: nil, sort: nil, cursor: nil, include_audit: nil)
637
641
  # List user input examples.
638
- # List the user input examples for an intent.
642
+ # List the user input examples for an intent, optionally including contextual entity
643
+ # mentions.
639
644
  #
640
645
  # This operation is limited to 2500 requests per 30 minutes. For more information,
641
646
  # see **Rate limiting**.
@@ -675,7 +680,7 @@ module IBMWatson
675
680
  end
676
681
 
677
682
  ##
678
- # @!method create_example(workspace_id:, intent:, text:)
683
+ # @!method create_example(workspace_id:, intent:, text:, mentions: nil)
679
684
  # Create user input example.
680
685
  # Add a new user input example to an intent.
681
686
  #
@@ -688,8 +693,9 @@ module IBMWatson
688
693
  # - It cannot contain carriage return, newline, or tab characters.
689
694
  # - It cannot consist of only whitespace characters.
690
695
  # - It must be no longer than 1024 characters.
696
+ # @param mentions [Array[Mentions]] An array of contextual entity mentions.
691
697
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
692
- def create_example(workspace_id:, intent:, text:)
698
+ def create_example(workspace_id:, intent:, text:, mentions: nil)
693
699
  raise ArgumentError("workspace_id must be provided") if workspace_id.nil?
694
700
  raise ArgumentError("intent must be provided") if intent.nil?
695
701
  raise ArgumentError("text must be provided") if text.nil?
@@ -699,7 +705,8 @@ module IBMWatson
699
705
  "version" => @version
700
706
  }
701
707
  data = {
702
- "text" => text
708
+ "text" => text,
709
+ "mentions" => mentions
703
710
  }
704
711
  method_url = "/v1/workspaces/%s/intents/%s/examples" % [ERB::Util.url_encode(workspace_id), ERB::Util.url_encode(intent)]
705
712
  response = request(
@@ -748,7 +755,7 @@ module IBMWatson
748
755
  end
749
756
 
750
757
  ##
751
- # @!method update_example(workspace_id:, intent:, text:, new_text: nil)
758
+ # @!method update_example(workspace_id:, intent:, text:, new_text: nil, new_mentions: nil)
752
759
  # Update user input example.
753
760
  # Update the text of a user input example.
754
761
  #
@@ -762,8 +769,9 @@ module IBMWatson
762
769
  # - It cannot contain carriage return, newline, or tab characters.
763
770
  # - It cannot consist of only whitespace characters.
764
771
  # - It must be no longer than 1024 characters.
772
+ # @param new_mentions [Array[Mentions]] An array of contextual entity mentions.
765
773
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
766
- def update_example(workspace_id:, intent:, text:, new_text: nil)
774
+ def update_example(workspace_id:, intent:, text:, new_text: nil, new_mentions: nil)
767
775
  raise ArgumentError("workspace_id must be provided") if workspace_id.nil?
768
776
  raise ArgumentError("intent must be provided") if intent.nil?
769
777
  raise ArgumentError("text must be provided") if text.nil?
@@ -773,7 +781,8 @@ module IBMWatson
773
781
  "version" => @version
774
782
  }
775
783
  data = {
776
- "text" => new_text
784
+ "text" => new_text,
785
+ "mentions" => new_mentions
777
786
  }
778
787
  method_url = "/v1/workspaces/%s/intents/%s/examples/%s" % [ERB::Util.url_encode(workspace_id), ERB::Util.url_encode(intent), ERB::Util.url_encode(text)]
779
788
  response = request(
@@ -1204,6 +1213,46 @@ module IBMWatson
1204
1213
  nil
1205
1214
  end
1206
1215
  #########################
1216
+ # Mentions
1217
+ #########################
1218
+
1219
+ ##
1220
+ # @!method list_mentions(workspace_id:, entity:, export: nil, include_audit: nil)
1221
+ # List entity mentions.
1222
+ # List mentions for a contextual entity. An entity mention is an occurrence of a
1223
+ # contextual entity in the context of an intent user input example.
1224
+ #
1225
+ # This operation is limited to 200 requests per 30 minutes. For more information,
1226
+ # see **Rate limiting**.
1227
+ # @param workspace_id [String] Unique identifier of the workspace.
1228
+ # @param entity [String] The name of the entity.
1229
+ # @param export [Boolean] Whether to include all element content in the returned data. If
1230
+ # **export**=`false`, the returned data includes only information about the element
1231
+ # itself. If **export**=`true`, all content, including subelements, is included.
1232
+ # @param include_audit [Boolean] Whether to include the audit properties (`created` and `updated` timestamps) in
1233
+ # the response.
1234
+ # @return [DetailedResponse] A `DetailedResponse` object representing the response.
1235
+ def list_mentions(workspace_id:, entity:, export: nil, include_audit: nil)
1236
+ raise ArgumentError("workspace_id must be provided") if workspace_id.nil?
1237
+ raise ArgumentError("entity must be provided") if entity.nil?
1238
+ headers = {
1239
+ }
1240
+ params = {
1241
+ "version" => @version,
1242
+ "export" => export,
1243
+ "include_audit" => include_audit
1244
+ }
1245
+ method_url = "/v1/workspaces/%s/entities/%s/mentions" % [ERB::Util.url_encode(workspace_id), ERB::Util.url_encode(entity)]
1246
+ response = request(
1247
+ method: "GET",
1248
+ url: method_url,
1249
+ headers: headers,
1250
+ params: params,
1251
+ accept_json: true
1252
+ )
1253
+ response
1254
+ end
1255
+ #########################
1207
1256
  # Values
1208
1257
  #########################
1209
1258
 
@@ -1677,7 +1726,7 @@ module IBMWatson
1677
1726
  end
1678
1727
 
1679
1728
  ##
1680
- # @!method create_dialog_node(workspace_id:, dialog_node:, description: nil, conditions: nil, parent: nil, previous_sibling: nil, output: nil, context: nil, metadata: nil, next_step: nil, actions: nil, title: nil, node_type: nil, event_name: nil, variable: nil, digress_in: nil, digress_out: nil, digress_out_slots: nil)
1729
+ # @!method create_dialog_node(workspace_id:, dialog_node:, description: nil, conditions: nil, parent: nil, previous_sibling: nil, output: nil, context: nil, metadata: nil, next_step: nil, actions: nil, title: nil, node_type: nil, event_name: nil, variable: nil, digress_in: nil, digress_out: nil, digress_out_slots: nil, user_label: nil)
1681
1730
  # Create dialog node.
1682
1731
  # Create a new dialog node.
1683
1732
  #
@@ -1695,7 +1744,7 @@ module IBMWatson
1695
1744
  # characters.
1696
1745
  # @param parent [String] The ID of the parent dialog node.
1697
1746
  # @param previous_sibling [String] The ID of the previous dialog node.
1698
- # @param output [Object] The output of the dialog node. For more information about how to specify dialog
1747
+ # @param output [DialogNodeOutput] The output of the dialog node. For more information about how to specify dialog
1699
1748
  # node output, see the
1700
1749
  # [documentation](https://console.bluemix.net/docs/services/conversation/dialog-overview.html#complex).
1701
1750
  # @param context [Object] The context for the dialog node.
@@ -1713,8 +1762,10 @@ module IBMWatson
1713
1762
  # @param digress_in [String] Whether this top-level dialog node can be digressed into.
1714
1763
  # @param digress_out [String] Whether this dialog node can be returned to after a digression.
1715
1764
  # @param digress_out_slots [String] Whether the user can digress to top-level nodes while filling out slots.
1765
+ # @param user_label [String] A label that can be displayed externally to describe the purpose of the node to
1766
+ # users.
1716
1767
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
1717
- def create_dialog_node(workspace_id:, dialog_node:, description: nil, conditions: nil, parent: nil, previous_sibling: nil, output: nil, context: nil, metadata: nil, next_step: nil, actions: nil, title: nil, node_type: nil, event_name: nil, variable: nil, digress_in: nil, digress_out: nil, digress_out_slots: nil)
1768
+ def create_dialog_node(workspace_id:, dialog_node:, description: nil, conditions: nil, parent: nil, previous_sibling: nil, output: nil, context: nil, metadata: nil, next_step: nil, actions: nil, title: nil, node_type: nil, event_name: nil, variable: nil, digress_in: nil, digress_out: nil, digress_out_slots: nil, user_label: nil)
1718
1769
  raise ArgumentError("workspace_id must be provided") if workspace_id.nil?
1719
1770
  raise ArgumentError("dialog_node must be provided") if dialog_node.nil?
1720
1771
  headers = {
@@ -1739,7 +1790,8 @@ module IBMWatson
1739
1790
  "variable" => variable,
1740
1791
  "digress_in" => digress_in,
1741
1792
  "digress_out" => digress_out,
1742
- "digress_out_slots" => digress_out_slots
1793
+ "digress_out_slots" => digress_out_slots,
1794
+ "user_label" => user_label
1743
1795
  }
1744
1796
  method_url = "/v1/workspaces/%s/dialog_nodes" % [ERB::Util.url_encode(workspace_id)]
1745
1797
  response = request(
@@ -1786,7 +1838,7 @@ module IBMWatson
1786
1838
  end
1787
1839
 
1788
1840
  ##
1789
- # @!method update_dialog_node(workspace_id:, dialog_node:, new_dialog_node: nil, new_description: nil, new_conditions: nil, new_parent: nil, new_previous_sibling: nil, new_output: nil, new_context: nil, new_metadata: nil, new_next_step: nil, new_title: nil, new_type: nil, new_event_name: nil, new_variable: nil, new_actions: nil, new_digress_in: nil, new_digress_out: nil, new_digress_out_slots: nil)
1841
+ # @!method update_dialog_node(workspace_id:, dialog_node:, new_dialog_node: nil, new_description: nil, new_conditions: nil, new_parent: nil, new_previous_sibling: nil, new_output: nil, new_context: nil, new_metadata: nil, new_next_step: nil, new_title: nil, new_type: nil, new_event_name: nil, new_variable: nil, new_actions: nil, new_digress_in: nil, new_digress_out: nil, new_digress_out_slots: nil, new_user_label: nil)
1790
1842
  # Update dialog node.
1791
1843
  # Update an existing dialog node with new or modified data.
1792
1844
  #
@@ -1805,7 +1857,7 @@ module IBMWatson
1805
1857
  # characters.
1806
1858
  # @param new_parent [String] The ID of the parent dialog node.
1807
1859
  # @param new_previous_sibling [String] The ID of the previous sibling dialog node.
1808
- # @param new_output [Object] The output of the dialog node. For more information about how to specify dialog
1860
+ # @param new_output [DialogNodeOutput] The output of the dialog node. For more information about how to specify dialog
1809
1861
  # node output, see the
1810
1862
  # [documentation](https://console.bluemix.net/docs/services/conversation/dialog-overview.html#complex).
1811
1863
  # @param new_context [Object] The context for the dialog node.
@@ -1823,8 +1875,10 @@ module IBMWatson
1823
1875
  # @param new_digress_in [String] Whether this top-level dialog node can be digressed into.
1824
1876
  # @param new_digress_out [String] Whether this dialog node can be returned to after a digression.
1825
1877
  # @param new_digress_out_slots [String] Whether the user can digress to top-level nodes while filling out slots.
1878
+ # @param new_user_label [String] A label that can be displayed externally to describe the purpose of the node to
1879
+ # users.
1826
1880
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
1827
- def update_dialog_node(workspace_id:, dialog_node:, new_dialog_node: nil, new_description: nil, new_conditions: nil, new_parent: nil, new_previous_sibling: nil, new_output: nil, new_context: nil, new_metadata: nil, new_next_step: nil, new_title: nil, new_type: nil, new_event_name: nil, new_variable: nil, new_actions: nil, new_digress_in: nil, new_digress_out: nil, new_digress_out_slots: nil)
1881
+ def update_dialog_node(workspace_id:, dialog_node:, new_dialog_node: nil, new_description: nil, new_conditions: nil, new_parent: nil, new_previous_sibling: nil, new_output: nil, new_context: nil, new_metadata: nil, new_next_step: nil, new_title: nil, new_type: nil, new_event_name: nil, new_variable: nil, new_actions: nil, new_digress_in: nil, new_digress_out: nil, new_digress_out_slots: nil, new_user_label: nil)
1828
1882
  raise ArgumentError("workspace_id must be provided") if workspace_id.nil?
1829
1883
  raise ArgumentError("dialog_node must be provided") if dialog_node.nil?
1830
1884
  headers = {
@@ -1849,7 +1903,8 @@ module IBMWatson
1849
1903
  "actions" => new_actions,
1850
1904
  "digress_in" => new_digress_in,
1851
1905
  "digress_out" => new_digress_out,
1852
- "digress_out_slots" => new_digress_out_slots
1906
+ "digress_out_slots" => new_digress_out_slots,
1907
+ "user_label" => new_user_label
1853
1908
  }
1854
1909
  method_url = "/v1/workspaces/%s/dialog_nodes/%s" % [ERB::Util.url_encode(workspace_id), ERB::Util.url_encode(dialog_node)]
1855
1910
  response = request(
@@ -1072,7 +1072,7 @@ module IBMWatson
1072
1072
  #########################
1073
1073
 
1074
1074
  ##
1075
- # @!method query(environment_id:, collection_id:, filter: nil, query: nil, natural_language_query: nil, passages: nil, aggregation: nil, count: nil, return_fields: nil, offset: nil, sort: nil, highlight: nil, passages_fields: nil, passages_count: nil, passages_characters: nil, deduplicate: nil, deduplicate_field: nil, similar: nil, similar_document_ids: nil, similar_fields: nil)
1075
+ # @!method query(environment_id:, collection_id:, filter: nil, query: nil, natural_language_query: nil, passages: nil, aggregation: nil, count: nil, return_fields: nil, offset: nil, sort: nil, highlight: nil, passages_fields: nil, passages_count: nil, passages_characters: nil, deduplicate: nil, deduplicate_field: nil, similar: nil, similar_document_ids: nil, similar_fields: nil, logging_opt_out: nil)
1076
1076
  # Query your collection.
1077
1077
  # After your content is uploaded and enriched by the Discovery service, you can
1078
1078
  # build queries to search your content. For details, see the [Discovery service
@@ -1130,11 +1130,13 @@ module IBMWatson
1130
1130
  # @param similar_fields [Array[String]] A comma-separated list of field names that will be used as a basis for comparison
1131
1131
  # to identify similar documents. If not specified, the entire document is used for
1132
1132
  # comparison.
1133
+ # @param logging_opt_out [Boolean] If `true`, queries are not stored in the Discovery **Logs** endpoint.
1133
1134
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
1134
- def query(environment_id:, collection_id:, filter: nil, query: nil, natural_language_query: nil, passages: nil, aggregation: nil, count: nil, return_fields: nil, offset: nil, sort: nil, highlight: nil, passages_fields: nil, passages_count: nil, passages_characters: nil, deduplicate: nil, deduplicate_field: nil, similar: nil, similar_document_ids: nil, similar_fields: nil)
1135
+ def query(environment_id:, collection_id:, filter: nil, query: nil, natural_language_query: nil, passages: nil, aggregation: nil, count: nil, return_fields: nil, offset: nil, sort: nil, highlight: nil, passages_fields: nil, passages_count: nil, passages_characters: nil, deduplicate: nil, deduplicate_field: nil, similar: nil, similar_document_ids: nil, similar_fields: nil, logging_opt_out: nil)
1135
1136
  raise ArgumentError("environment_id must be provided") if environment_id.nil?
1136
1137
  raise ArgumentError("collection_id must be provided") if collection_id.nil?
1137
1138
  headers = {
1139
+ "X-Watson-Logging-Opt-Out" => logging_opt_out
1138
1140
  }
1139
1141
  params = {
1140
1142
  "version" => @version,
@@ -349,35 +349,36 @@ module IBMWatson
349
349
  # useful for stopping audio submission from a live microphone when a user simply
350
350
  # walks away. Use `-1` for infinity.
351
351
  # @param keywords [Array[String]] An array of keyword strings to spot in the audio. Each keyword string can include
352
- # one or more tokens. Keywords are spotted only in the final results, not in interim
353
- # hypotheses. If you specify any keywords, you must also specify a keywords
352
+ # one or more string tokens. Keywords are spotted only in the final results, not in
353
+ # interim hypotheses. If you specify any keywords, you must also specify a keywords
354
354
  # threshold. You can spot a maximum of 1000 keywords. Omit the parameter or specify
355
355
  # an empty array if you do not need to spot keywords.
356
356
  # @param keywords_threshold [Float] A confidence value that is the lower bound for spotting a keyword. A word is
357
357
  # considered to match a keyword if its confidence is greater than or equal to the
358
- # threshold. Specify a probability between 0 and 1 inclusive. No keyword spotting is
358
+ # threshold. Specify a probability between 0.0 and 1.0. No keyword spotting is
359
359
  # performed if you omit the parameter. If you specify a threshold, you must also
360
360
  # specify one or more keywords.
361
- # @param max_alternatives [Fixnum] The maximum number of alternative transcripts to be returned. By default, a single
362
- # transcription is returned.
361
+ # @param max_alternatives [Fixnum] The maximum number of alternative transcripts that the service is to return. By
362
+ # default, a single transcription is returned.
363
363
  # @param word_alternatives_threshold [Float] A confidence value that is the lower bound for identifying a hypothesis as a
364
364
  # possible word alternative (also known as \"Confusion Networks\"). An alternative
365
365
  # word is considered if its confidence is greater than or equal to the threshold.
366
- # Specify a probability between 0 and 1 inclusive. No alternative words are computed
367
- # if you omit the parameter.
368
- # @param word_confidence [Boolean] If `true`, a confidence measure in the range of 0 to 1 is returned for each word.
369
- # By default, no word confidence measures are returned.
370
- # @param timestamps [Boolean] If `true`, time alignment is returned for each word. By default, no timestamps are
371
- # returned.
372
- # @param profanity_filter [Boolean] If `true` (the default), filters profanity from all output except for keyword
366
+ # Specify a probability between 0.0 and 1.0. No alternative words are computed if
367
+ # you omit the parameter.
368
+ # @param word_confidence [Boolean] If `true`, the service returns a confidence measure in the range of 0.0 to 1.0 for
369
+ # each word. By default, no word confidence measures are returned.
370
+ # @param timestamps [Boolean] If `true`, the service returns time alignment for each word. By default, no
371
+ # timestamps are returned.
372
+ # @param profanity_filter [Boolean] If `true`, the service filters profanity from all output except for keyword
373
373
  # results by replacing inappropriate words with a series of asterisks. Set the
374
374
  # parameter to `false` to return results with no censoring. Applies to US English
375
375
  # transcription only.
376
- # @param smart_formatting [Boolean] If `true`, converts dates, times, series of digits and numbers, phone numbers,
377
- # currency values, and internet addresses into more readable, conventional
376
+ # @param smart_formatting [Boolean] If `true`, the service converts dates, times, series of digits and numbers, phone
377
+ # numbers, currency values, and internet addresses into more readable, conventional
378
378
  # representations in the final transcript of a recognition request. For US English,
379
- # also converts certain keyword strings to punctuation symbols. By default, no smart
380
- # formatting is performed. Applies to US English and Spanish transcription only.
379
+ # the service also converts certain keyword strings to punctuation symbols. By
380
+ # default, no smart formatting is performed. Applies to US English and Spanish
381
+ # transcription only.
381
382
  # @param speaker_labels [Boolean] If `true`, the response includes labels that identify which words were spoken by
382
383
  # which participants in a multi-person exchange. By default, no speaker labels are
383
384
  # returned. Setting `speaker_labels` to `true` forces the `timestamps` parameter to
@@ -425,7 +426,7 @@ module IBMWatson
425
426
  end
426
427
 
427
428
  ##
428
- # @!method recognize_with_websocket(audio: nil,chunk_data: false,content_type: "audio/l16; rate=44100",model: "en-US_BroadbandModel",recognize_callback: nil,customization_id: nil,acoustic_customization_id: nil,customization_weight: nil,version: nil,inactivity_timeout: 30,interim_results: false,keywords: nil,keywords_threshold: nil,max_alternatives: 1,word_alternatives_threshold: nil,word_confidence: false,timestamps: false,profanity_filter: nil,smart_formatting: false,speaker_labels: nil)
429
+ # @!method recognize_using_websocket(audio: nil,chunk_data: false,content_type: "audio/l16; rate=44100",model: "en-US_BroadbandModel",recognize_callback: nil,customization_id: nil,acoustic_customization_id: nil,customization_weight: nil,version: nil,inactivity_timeout: 30,interim_results: false,keywords: nil,keywords_threshold: nil,max_alternatives: 1,word_alternatives_threshold: nil,word_confidence: false,timestamps: false,profanity_filter: nil,smart_formatting: false,speaker_labels: nil)
429
430
  # Sends audio for speech recognition using web sockets.
430
431
  # @param audio [IO] Audio to transcribe in the format specified by the `Content-Type` header.
431
432
  # @param chunk_data [Boolean] If true, then the WebSocketClient will expect to receive data in chunks rather than as a single audio file
@@ -448,7 +449,7 @@ module IBMWatson
448
449
  # @param smart_formatting [Boolean] If `true`, converts dates, times, series of digits and numbers, phone numbers, currency values, and Internet addresses into more readable, conventional representations in the final transcript of a recognition request. If `false` (the default), no formatting is performed. Applies to US English transcription only.
449
450
  # @param speaker_labels [Boolean] Indicates whether labels that identify which words were spoken by which participants in a multi-person exchange are to be included in the response. The default is `false`; no speaker labels are returned. Setting `speaker_labels` to `true` forces the `timestamps` parameter to be `true`, regardless of whether you specify `false` for the parameter. To determine whether a language model supports speaker labels, use the `GET /v1/models` method and check that the attribute `speaker_labels` is set to `true`. You can also refer to [Speaker labels](https://console.bluemix.net/docs/services/speech-to-text/output.html#speaker_labels).
450
451
  # @return [WebSocketClient] Returns a new WebSocketClient object
451
- def recognize_with_websocket(
452
+ def recognize_using_websocket(
452
453
  audio: nil,
453
454
  chunk_data: false,
454
455
  content_type: "audio/l16; rate=44100",
@@ -509,6 +510,56 @@ module IBMWatson
509
510
  options.delete_if { |_, v| v.nil? }
510
511
  WebSocketClient.new(audio: audio, chunk_data: chunk_data, options: options, recognize_callback: recognize_callback, url: url, headers: headers)
511
512
  end
513
+
514
+ # :nocov:
515
+ # @deprecated This will method be removed in the next major release. Use {#recognize_using_websocket} instead.
516
+ def recognize_with_websocket(
517
+ audio: nil,
518
+ chunk_data: false,
519
+ content_type: "audio/l16; rate=44100",
520
+ model: "en-US_BroadbandModel",
521
+ recognize_callback: nil,
522
+ customization_id: nil,
523
+ acoustic_customization_id: nil,
524
+ customization_weight: nil,
525
+ version: nil,
526
+ inactivity_timeout: 30,
527
+ interim_results: false,
528
+ keywords: nil,
529
+ keywords_threshold: nil,
530
+ max_alternatives: 1,
531
+ word_alternatives_threshold: nil,
532
+ word_confidence: false,
533
+ timestamps: false,
534
+ profanity_filter: nil,
535
+ smart_formatting: false,
536
+ speaker_labels: nil
537
+ )
538
+ Kernel.warn("[DEPRECATION] `recognize_with_websocket` is deprecated and will be removed in the next major release. Please use `recognize_using_websocket` instead.")
539
+ recognize_using_websocket(
540
+ audio: audio,
541
+ chunk_data: chunk_data,
542
+ content_type: content_type,
543
+ model: model,
544
+ recognize_callback: recognize_callback,
545
+ customization_id: customization_id,
546
+ acoustic_customization_id: acoustic_customization_id,
547
+ customization_weight: customization_weight,
548
+ version: version,
549
+ inactivity_timeout: inactivity_timeout,
550
+ interim_results: interim_results,
551
+ keywords: keywords,
552
+ keywords_threshold: keywords_threshold,
553
+ max_alternatives: max_alternatives,
554
+ word_alternatives_threshold: word_alternatives_threshold,
555
+ word_confidence: word_confidence,
556
+ timestamps: timestamps,
557
+ profanity_filter: profanity_filter,
558
+ smart_formatting: smart_formatting,
559
+ speaker_labels: speaker_labels
560
+ )
561
+ end
562
+ # :nocov:
512
563
  #########################
513
564
  # Asynchronous
514
565
  #########################
@@ -744,35 +795,36 @@ module IBMWatson
744
795
  # useful for stopping audio submission from a live microphone when a user simply
745
796
  # walks away. Use `-1` for infinity.
746
797
  # @param keywords [Array[String]] An array of keyword strings to spot in the audio. Each keyword string can include
747
- # one or more tokens. Keywords are spotted only in the final results, not in interim
748
- # hypotheses. If you specify any keywords, you must also specify a keywords
798
+ # one or more string tokens. Keywords are spotted only in the final results, not in
799
+ # interim hypotheses. If you specify any keywords, you must also specify a keywords
749
800
  # threshold. You can spot a maximum of 1000 keywords. Omit the parameter or specify
750
801
  # an empty array if you do not need to spot keywords.
751
802
  # @param keywords_threshold [Float] A confidence value that is the lower bound for spotting a keyword. A word is
752
803
  # considered to match a keyword if its confidence is greater than or equal to the
753
- # threshold. Specify a probability between 0 and 1 inclusive. No keyword spotting is
804
+ # threshold. Specify a probability between 0.0 and 1.0. No keyword spotting is
754
805
  # performed if you omit the parameter. If you specify a threshold, you must also
755
806
  # specify one or more keywords.
756
- # @param max_alternatives [Fixnum] The maximum number of alternative transcripts to be returned. By default, a single
757
- # transcription is returned.
807
+ # @param max_alternatives [Fixnum] The maximum number of alternative transcripts that the service is to return. By
808
+ # default, a single transcription is returned.
758
809
  # @param word_alternatives_threshold [Float] A confidence value that is the lower bound for identifying a hypothesis as a
759
810
  # possible word alternative (also known as \"Confusion Networks\"). An alternative
760
811
  # word is considered if its confidence is greater than or equal to the threshold.
761
- # Specify a probability between 0 and 1 inclusive. No alternative words are computed
762
- # if you omit the parameter.
763
- # @param word_confidence [Boolean] If `true`, a confidence measure in the range of 0 to 1 is returned for each word.
764
- # By default, no word confidence measures are returned.
765
- # @param timestamps [Boolean] If `true`, time alignment is returned for each word. By default, no timestamps are
766
- # returned.
767
- # @param profanity_filter [Boolean] If `true` (the default), filters profanity from all output except for keyword
812
+ # Specify a probability between 0.0 and 1.0. No alternative words are computed if
813
+ # you omit the parameter.
814
+ # @param word_confidence [Boolean] If `true`, the service returns a confidence measure in the range of 0.0 to 1.0 for
815
+ # each word. By default, no word confidence measures are returned.
816
+ # @param timestamps [Boolean] If `true`, the service returns time alignment for each word. By default, no
817
+ # timestamps are returned.
818
+ # @param profanity_filter [Boolean] If `true`, the service filters profanity from all output except for keyword
768
819
  # results by replacing inappropriate words with a series of asterisks. Set the
769
820
  # parameter to `false` to return results with no censoring. Applies to US English
770
821
  # transcription only.
771
- # @param smart_formatting [Boolean] If `true`, converts dates, times, series of digits and numbers, phone numbers,
772
- # currency values, and internet addresses into more readable, conventional
822
+ # @param smart_formatting [Boolean] If `true`, the service converts dates, times, series of digits and numbers, phone
823
+ # numbers, currency values, and internet addresses into more readable, conventional
773
824
  # representations in the final transcript of a recognition request. For US English,
774
- # also converts certain keyword strings to punctuation symbols. By default, no smart
775
- # formatting is performed. Applies to US English and Spanish transcription only.
825
+ # the service also converts certain keyword strings to punctuation symbols. By
826
+ # default, no smart formatting is performed. Applies to US English and Spanish
827
+ # transcription only.
776
828
  # @param speaker_labels [Boolean] If `true`, the response includes labels that identify which words were spoken by
777
829
  # which participants in a multi-person exchange. By default, no speaker labels are
778
830
  # returned. Setting `speaker_labels` to `true` forces the `timestamps` parameter to
@@ -1257,9 +1309,9 @@ module IBMWatson
1257
1309
  # if it encounters non-ASCII characters. With cURL, use the `--data-binary` option
1258
1310
  # to upload the file for the request.
1259
1311
  # @param allow_overwrite [Boolean] If `true`, the specified corpus or audio resource overwrites an existing corpus or
1260
- # audio resource with the same name. If `false` (the default), the request fails if
1261
- # a corpus or audio resource with the same name already exists. The parameter has no
1262
- # effect if a corpus or audio resource with the same name does not already exist.
1312
+ # audio resource with the same name. If `false`, the request fails if a corpus or
1313
+ # audio resource with the same name already exists. The parameter has no effect if a
1314
+ # corpus or audio resource with the same name does not already exist.
1263
1315
  # @param corpus_filename [String] The filename for corpus_file.
1264
1316
  # @return [nil]
1265
1317
  def add_corpus(customization_id:, corpus_name:, corpus_file:, allow_overwrite: nil, corpus_filename: nil)
@@ -2021,9 +2073,9 @@ module IBMWatson
2021
2073
  # parameters that are used with some formats. For a complete list of supported audio
2022
2074
  # formats, see [Audio formats](/docs/services/speech-to-text/input.html#formats).
2023
2075
  # @param allow_overwrite [Boolean] If `true`, the specified corpus or audio resource overwrites an existing corpus or
2024
- # audio resource with the same name. If `false` (the default), the request fails if
2025
- # a corpus or audio resource with the same name already exists. The parameter has no
2026
- # effect if a corpus or audio resource with the same name does not already exist.
2076
+ # audio resource with the same name. If `false`, the request fails if a corpus or
2077
+ # audio resource with the same name already exists. The parameter has no effect if a
2078
+ # corpus or audio resource with the same name does not already exist.
2027
2079
  # @return [nil]
2028
2080
  def add_audio(customization_id:, audio_name:, audio_resource:, content_type:, contained_content_type: nil, allow_overwrite: nil)
2029
2081
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IBMWatson
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.0"
5
5
  end
@@ -131,7 +131,7 @@ unless ENV["SPEECH_TO_TEXT_USERNAME"].nil? || ENV["SPEECH_TO_TEXT_PASSWORD"].nil
131
131
  def test_recognize_websocket_as_chunks
132
132
  audio_file = File.open(Dir.getwd + "/resources/speech.wav")
133
133
  mycallback = MyRecognizeCallback.new
134
- speech = @service.recognize_with_websocket(
134
+ speech = @service.recognize_using_websocket(
135
135
  chunk_data: true,
136
136
  recognize_callback: mycallback,
137
137
  interim_results: true,
@@ -155,7 +155,7 @@ unless ENV["SPEECH_TO_TEXT_USERNAME"].nil? || ENV["SPEECH_TO_TEXT_PASSWORD"].nil
155
155
  def test_recognize_websocket
156
156
  audio_file = File.open(Dir.getwd + "/resources/speech.wav")
157
157
  mycallback = MyRecognizeCallback.new
158
- speech = @service.recognize_with_websocket(
158
+ speech = @service.recognize_using_websocket(
159
159
  audio: audio_file,
160
160
  recognize_callback: mycallback,
161
161
  interim_results: true,
@@ -168,11 +168,11 @@ unless ENV["SPEECH_TO_TEXT_USERNAME"].nil? || ENV["SPEECH_TO_TEXT_PASSWORD"].nil
168
168
  thr.join
169
169
  end
170
170
 
171
- def test_inactivity_timeout_with_websocket
171
+ def test_inactivity_timeout_using_websocket
172
172
  audio_file = File.open(Dir.getwd + "/resources/sound-with-pause.wav")
173
173
  atomic_boolean = Concurrent::AtomicBoolean.new
174
174
  mycallback = MyRecognizeCallback.new(atomic_boolean: atomic_boolean)
175
- speech = @service.recognize_with_websocket(
175
+ speech = @service.recognize_using_websocket(
176
176
  audio: audio_file,
177
177
  recognize_callback: mycallback,
178
178
  interim_results: true,
@@ -187,11 +187,11 @@ unless ENV["SPEECH_TO_TEXT_USERNAME"].nil? || ENV["SPEECH_TO_TEXT_PASSWORD"].nil
187
187
  assert(atomic_boolean.true?)
188
188
  end
189
189
 
190
- def test_broken_audio_with_websocket
190
+ def test_broken_audio_using_websocket
191
191
  audio_file = File.open(Dir.getwd + "/resources/car.jpg")
192
192
  atomic_boolean = Concurrent::AtomicBoolean.new
193
193
  mycallback = MyRecognizeCallback.new(atomic_boolean: atomic_boolean)
194
- speech = @service.recognize_with_websocket(
194
+ speech = @service.recognize_using_websocket(
195
195
  audio: audio_file,
196
196
  recognize_callback: mycallback,
197
197
  interim_results: true,
@@ -205,7 +205,7 @@ unless ENV["SPEECH_TO_TEXT_USERNAME"].nil? || ENV["SPEECH_TO_TEXT_PASSWORD"].nil
205
205
  assert(atomic_boolean.true?)
206
206
  end
207
207
 
208
- def test_invalid_auth_with_websocket
208
+ def test_invalid_auth_using_websocket
209
209
  audio_file = File.open(Dir.getwd + "/resources/speech.wav")
210
210
  atomic_boolean = Concurrent::AtomicBoolean.new
211
211
  mycallback = MyRecognizeCallback.new(atomic_boolean: atomic_boolean)
@@ -218,7 +218,7 @@ unless ENV["SPEECH_TO_TEXT_USERNAME"].nil? || ENV["SPEECH_TO_TEXT_PASSWORD"].nil
218
218
  "X-Watson-Test" => "1"
219
219
  }
220
220
  )
221
- speech = temp_service.recognize_with_websocket(
221
+ speech = temp_service.recognize_using_websocket(
222
222
  audio: audio_file,
223
223
  recognize_callback: mycallback,
224
224
  interim_results: true,
@@ -425,7 +425,7 @@ class AssistantV1Test < Minitest::Test
425
425
  }
426
426
  stub_request(:post, "https://gateway.watsonplatform.net/assistant/api/v1/workspaces/boguswid/intents/pizza_order/examples?version=2018-02-16")
427
427
  .with(
428
- body: "{\"text\":\"Gimme a pizza with pepperoni\"}",
428
+ body: "{\"text\":\"Gimme a pizza with pepperoni\",\"mentions\":[{\"mentioned\":\"yes\"}]}",
429
429
  headers: {
430
430
  "Accept" => "application/json",
431
431
  "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
@@ -441,7 +441,8 @@ class AssistantV1Test < Minitest::Test
441
441
  service_response = service.create_example(
442
442
  workspace_id: "boguswid",
443
443
  intent: "pizza_order",
444
- text: "Gimme a pizza with pepperoni"
444
+ text: "Gimme a pizza with pepperoni",
445
+ mentions: [{ "mentioned" => "yes" }]
445
446
  )
446
447
  assert_equal(response, service_response.result)
447
448
  end
@@ -553,7 +554,7 @@ class AssistantV1Test < Minitest::Test
553
554
  }
554
555
  stub_request(:post, "https://gateway.watsonplatform.net/assistant/api/v1/workspaces/boguswid/intents/pizza_order/examples/Gimme%20a%20pizza%20with%20pepperoni?version=2018-02-16")
555
556
  .with(
556
- body: "{\"text\":\"Gimme a pizza with pepperoni\"}",
557
+ body: "{\"text\":\"Gimme a pizza with pepperoni\",\"mentions\":[{\"mentioned\":\"yes\"}]}",
557
558
  headers: {
558
559
  "Accept" => "application/json",
559
560
  "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
@@ -570,7 +571,8 @@ class AssistantV1Test < Minitest::Test
570
571
  workspace_id: "boguswid",
571
572
  intent: "pizza_order",
572
573
  text: "Gimme a pizza with pepperoni",
573
- new_text: "Gimme a pizza with pepperoni"
574
+ new_text: "Gimme a pizza with pepperoni",
575
+ new_mentions: [{ "mentioned" => "yes" }]
574
576
  )
575
577
  assert_equal(response, service_response.result)
576
578
  end
@@ -1325,7 +1327,7 @@ class AssistantV1Test < Minitest::Test
1325
1327
  }
1326
1328
  stub_request(:post, "https://gateway.watsonplatform.net/assistant/api/v1/workspaces?version=2018-02-16")
1327
1329
  .with(
1328
- body: "{\"name\":\"Pizza app\",\"description\":\"Pizza app\",\"language\":\"en\",\"metadata\":{}}",
1330
+ body: "{\"name\":\"Pizza app\",\"description\":\"Pizza app\",\"language\":\"en\",\"metadata\":{},\"system_settings\":{\"system_settings\":\"yes\"}}",
1329
1331
  headers: {
1330
1332
  "Accept" => "application/json",
1331
1333
  "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
@@ -1342,7 +1344,8 @@ class AssistantV1Test < Minitest::Test
1342
1344
  name: "Pizza app",
1343
1345
  description: "Pizza app",
1344
1346
  language: "en",
1345
- metadata: {}
1347
+ metadata: {},
1348
+ system_settings: { "system_settings" => "yes" }
1346
1349
  )
1347
1350
  assert_equal(response, service_response.result)
1348
1351
  end
@@ -1458,7 +1461,7 @@ class AssistantV1Test < Minitest::Test
1458
1461
  }
1459
1462
  stub_request(:post, "https://gateway.watsonplatform.net/assistant/api/v1/workspaces/pizza_app-e0f3?version=2018-02-16")
1460
1463
  .with(
1461
- body: "{\"name\":\"Pizza app\",\"description\":\"Pizza app\",\"language\":\"en\",\"metadata\":{}}",
1464
+ body: "{\"name\":\"Pizza app\",\"description\":\"Pizza app\",\"language\":\"en\",\"metadata\":{},\"system_settings\":{\"system_settings\":\"yes\"}}",
1462
1465
  headers: {
1463
1466
  "Accept" => "application/json",
1464
1467
  "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
@@ -1476,7 +1479,8 @@ class AssistantV1Test < Minitest::Test
1476
1479
  name: "Pizza app",
1477
1480
  description: "Pizza app",
1478
1481
  language: "en",
1479
- metadata: {}
1482
+ metadata: {},
1483
+ system_settings: { "system_settings" => "yes" }
1480
1484
  )
1481
1485
  assert_equal(response, service_response.result)
1482
1486
  end
@@ -1493,7 +1497,7 @@ class AssistantV1Test < Minitest::Test
1493
1497
 
1494
1498
  stub_request(:post, "https://gateway.watsonplatform.net/assistant/api/v1/workspaces/id/dialog_nodes?version=2018-02-16")
1495
1499
  .with(
1496
- body: "{\"dialog_node\":\"location-done\"}",
1500
+ body: "{\"dialog_node\":\"location-done\",\"user_label\":\"labeled\"}",
1497
1501
  headers: {
1498
1502
  "Accept" => "application/json",
1499
1503
  "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
@@ -1503,7 +1507,8 @@ class AssistantV1Test < Minitest::Test
1503
1507
  ).to_return(status: 200, body: { "application/json" => { "dialog_node" => "location-done" } }.to_json, headers: headers)
1504
1508
  service_response = service.create_dialog_node(
1505
1509
  workspace_id: "id",
1506
- dialog_node: "location-done"
1510
+ dialog_node: "location-done",
1511
+ user_label: "labeled"
1507
1512
  )
1508
1513
  assert_equal("location-done", service_response.result["application/json"]["dialog_node"])
1509
1514
 
@@ -1580,7 +1585,7 @@ class AssistantV1Test < Minitest::Test
1580
1585
  )
1581
1586
  stub_request(:post, "https://gateway.watsonplatform.net/assistant/api/v1/workspaces/workspace_id/dialog_nodes/dialog_node?version=2018-02-16")
1582
1587
  .with(
1583
- body: "{\"description\":\"A new description\"}",
1588
+ body: "{\"description\":\"A new description\",\"user_label\":\"new_label\"}",
1584
1589
  headers: {
1585
1590
  "Accept" => "application/json",
1586
1591
  "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
@@ -1591,8 +1596,32 @@ class AssistantV1Test < Minitest::Test
1591
1596
  service_response = service.update_dialog_node(
1592
1597
  workspace_id: "workspace_id",
1593
1598
  dialog_node: "dialog_node",
1594
- new_description: "A new description"
1599
+ new_description: "A new description",
1600
+ new_user_label: "new_label"
1595
1601
  )
1596
1602
  assert_equal("Pseudo update dialog node response", service_response.result)
1597
1603
  end
1604
+
1605
+ def test_list_mentions
1606
+ service = IBMWatson::AssistantV1.new(
1607
+ username: "username",
1608
+ password: "password",
1609
+ version: "2018-02-16"
1610
+ )
1611
+ stub_request(:get, "https://gateway.watsonplatform.net/assistant/api/v1/workspaces/workspace_id/entities/entity/mentions?export=true&include_audit=true&version=2018-02-16")
1612
+ .with(
1613
+ headers: {
1614
+ "Accept" => "application/json",
1615
+ "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
1616
+ "Host" => "gateway.watsonplatform.net"
1617
+ }
1618
+ ).to_return(status: 200, body: { "list_mentions_response" => "yes" }.to_json, headers: { "Content-Type" => "application/json" })
1619
+ service_response = service.list_mentions(
1620
+ workspace_id: "workspace_id",
1621
+ entity: "entity",
1622
+ export: true,
1623
+ include_audit: true
1624
+ )
1625
+ assert_equal({ "list_mentions_response" => "yes" }, service_response.result)
1626
+ end
1598
1627
  end
@@ -259,13 +259,15 @@ class DiscoveryV1Test < Minitest::Test
259
259
  headers: {
260
260
  "Accept" => "application/json",
261
261
  "Authorization" => "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
262
- "Host" => "gateway.watsonplatform.net"
262
+ "Host" => "gateway.watsonplatform.net",
263
+ "X-Watson-Logging-Opt-Out" => true
263
264
  }
264
265
  ).to_return(status: 200, body: { body: "hello" }.to_json, headers: { "Content-Type" => "application/json" })
265
266
  service_response = service.query(
266
267
  environment_id: "envid",
267
268
  collection_id: "collid",
268
- count: 10
269
+ count: 10,
270
+ logging_opt_out: true
269
271
  )
270
272
  assert_equal({ "body" => "hello" }, service_response.result)
271
273
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibm_watson
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Nussbaum
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-07-30 00:00:00.000000000 Z
11
+ date: 2018-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby