rasa-pro 3.10.6__py3-none-any.whl → 3.10.7__py3-none-any.whl

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.

Potentially problematic release.


This version of rasa-pro might be problematic. Click here for more details.

rasa/cli/e2e_test.py CHANGED
@@ -221,17 +221,15 @@ def execute_e2e_tests(args: argparse.Namespace) -> None:
221
221
  if args.e2e_results is not None:
222
222
  results_path = Path(args.e2e_results)
223
223
 
224
- if passed:
225
- passed_file = rasa.cli.utils.get_e2e_results_file_name(
226
- results_path, STATUS_PASSED
227
- )
228
- write_test_results_to_file(passed, passed_file)
224
+ passed_file = rasa.cli.utils.get_e2e_results_file_name(
225
+ results_path, STATUS_PASSED
226
+ )
227
+ write_test_results_to_file(passed, passed_file)
229
228
 
230
- if failed:
231
- failed_file = rasa.cli.utils.get_e2e_results_file_name(
232
- results_path, STATUS_FAILED
233
- )
234
- write_test_results_to_file(failed, failed_file)
229
+ failed_file = rasa.cli.utils.get_e2e_results_file_name(
230
+ results_path, STATUS_FAILED
231
+ )
232
+ write_test_results_to_file(failed, failed_file)
235
233
 
236
234
  aggregate_stats_calculator = AggregateTestStatsCalculator(
237
235
  passed_results=passed, failed_results=failed, test_cases=test_suite.test_cases
rasa/cli/studio/studio.py CHANGED
@@ -5,6 +5,7 @@ from urllib.parse import ParseResult, urlparse
5
5
  import questionary
6
6
  from rasa.cli import SubParsersAction
7
7
 
8
+ import rasa.shared.utils.cli
8
9
  import rasa.cli.studio.download
9
10
  import rasa.cli.studio.train
10
11
  import rasa.cli.studio.upload
@@ -50,6 +51,15 @@ def _add_config_subparser(
50
51
 
51
52
  studio_config_parser.set_defaults(func=create_and_store_studio_config)
52
53
 
54
+ studio_config_parser.add_argument(
55
+ "--disable-verify",
56
+ "-x",
57
+ action="store_true",
58
+ default=False,
59
+ help="Disable strict SSL verification for the "
60
+ "Rasa Studio authentication server.",
61
+ )
62
+
53
63
  # add advanced configuration flag to trigger
54
64
  # advanced configuration setup for authentication settings
55
65
  studio_config_parser.add_argument(
@@ -219,7 +229,17 @@ def _configure_studio_config(args: argparse.Namespace) -> StudioConfig:
219
229
  studio_config = _create_studio_config(
220
230
  studio_url, keycloak_url, realm_name, client_id
221
231
  )
222
- studio_auth = StudioAuth(studio_config)
232
+
233
+ if args.disable_verify:
234
+ rasa.shared.utils.cli.print_info(
235
+ "Disabling SSL verification for the Rasa Studio authentication server."
236
+ )
237
+ studio_auth = StudioAuth(studio_config, verify=False)
238
+ else:
239
+ rasa.shared.utils.cli.print_info(
240
+ "Enabling SSL verification for the Rasa Studio authentication server."
241
+ )
242
+ studio_auth = StudioAuth(studio_config, verify=True)
223
243
 
224
244
  if _check_studio_auth(studio_auth):
225
245
  return studio_config
@@ -127,7 +127,11 @@ class SetSlotCommand(Command):
127
127
  if (
128
128
  self.name not in slots_of_active_flow
129
129
  and self.name != ROUTE_TO_CALM_SLOT
130
- and self.extractor == SetSlotExtractor.LLM.value
130
+ and self.extractor
131
+ in {
132
+ SetSlotExtractor.LLM.value,
133
+ SetSlotExtractor.COMMAND_PAYLOAD_READER.value,
134
+ }
131
135
  ):
132
136
  # Get the other predicted flows from the most recent message on the tracker.
133
137
  predicted_flows = get_flows_predicted_to_start_from_tracker(tracker)
@@ -55,7 +55,7 @@ responses:
55
55
  template: jinja
56
56
 
57
57
  utter_free_chitchat_response:
58
- - text: placeholder_this_utterance_needs_the_rephraser
58
+ - text: "Sorry, I'm not able to answer that right now."
59
59
  metadata:
60
60
  rephrase: True
61
61
  rephrase_prompt: |
@@ -160,9 +160,9 @@ flows:
160
160
  action: action_run_slot_rejections
161
161
  - action: validate_{{context.collect}}
162
162
  next:
163
- - if: "slots.{{context.collect}} is not null"
164
- then: END
165
- - else: ask_collect
163
+ - if: "slots.{{context.collect}} is not null"
164
+ then: END
165
+ - else: ask_collect
166
166
  - id: ask_collect
167
167
  action: "{{context.utter}}"
168
168
  - action: "{{context.collect_action}}"
@@ -205,17 +205,17 @@ flows:
205
205
  steps:
206
206
  - noop: true
207
207
  next:
208
- - if: "'{{context.error_type}}' = 'rasa_internal_error_user_input_too_long'"
209
- then:
210
- - action: utter_user_input_too_long_error_rasa
211
- next: END
212
- - if: "'{{context.error_type}}' = 'rasa_internal_error_user_input_empty'"
213
- then:
214
- - action: utter_user_input_empty_error_rasa
215
- next: END
216
- - else:
217
- - action: utter_internal_error_rasa
218
- next: END
208
+ - if: "'{{context.error_type}}' = 'rasa_internal_error_user_input_too_long'"
209
+ then:
210
+ - action: utter_user_input_too_long_error_rasa
211
+ next: END
212
+ - if: "'{{context.error_type}}' = 'rasa_internal_error_user_input_empty'"
213
+ then:
214
+ - action: utter_user_input_empty_error_rasa
215
+ next: END
216
+ - else:
217
+ - action: utter_internal_error_rasa
218
+ next: END
219
219
 
220
220
 
221
221
  pattern_restart:
rasa/studio/auth.py CHANGED
@@ -21,15 +21,19 @@ from rasa.studio.results_logger import with_studio_error_handler, StudioResult
21
21
 
22
22
 
23
23
  class StudioAuth:
24
+ """Handles the authentication with the Rasa Studio authentication server."""
25
+
24
26
  def __init__(
25
27
  self,
26
28
  studio_config: StudioConfig,
29
+ verify: bool = True,
27
30
  ) -> None:
28
31
  self.config = studio_config
29
32
  self.keycloak_openid = KeycloakOpenID(
30
33
  server_url=studio_config.authentication_server_url,
31
34
  client_id=studio_config.client_id,
32
35
  realm_name=studio_config.realm_name,
36
+ verify=verify,
33
37
  )
34
38
 
35
39
  def health_check(self) -> bool:
rasa/validator.py CHANGED
@@ -1,10 +1,10 @@
1
1
  import logging
2
- import structlog
3
2
  import re
4
3
  import string
5
4
  from collections import defaultdict
6
5
  from typing import Set, Text, Optional, Dict, Any, List, Tuple
7
6
 
7
+ import structlog
8
8
  from jinja2 import Template
9
9
  from pypred import Predicate
10
10
  from pypred.ast import Literal, CompareOperator, NegateOperator
@@ -596,6 +596,7 @@ class Validator:
596
596
  collect: CollectInformationFlowStep,
597
597
  all_good: bool,
598
598
  domain_slots: Dict[Text, Slot],
599
+ flow_id: str,
599
600
  ) -> bool:
600
601
  """Validates that a collect step can have either an action or an utterance.
601
602
  Also logs an error if neither an action nor an utterance is defined.
@@ -625,6 +626,7 @@ class Validator:
625
626
  collect=collect.collect,
626
627
  has_utterance_defined=has_utterance_defined,
627
628
  has_action_defined=has_action_defined,
629
+ flow=flow_id,
628
630
  event_info=(
629
631
  f"The collect step '{collect.collect}' has an utterance "
630
632
  f"'{collect.utter}' as well as an action "
@@ -648,6 +650,7 @@ class Validator:
648
650
  collect=collect.collect,
649
651
  has_utterance_defined=has_utterance_defined,
650
652
  has_action_defined=has_action_defined,
653
+ flow=flow_id,
651
654
  event_info=(
652
655
  f"The collect step '{collect.collect}' has neither an utterance "
653
656
  f"nor an action defined, or an initial value defined in the domain."
@@ -716,7 +719,7 @@ class Validator:
716
719
  if isinstance(step, CollectInformationFlowStep):
717
720
  all_good = (
718
721
  self._log_error_if_either_action_or_utterance_are_not_defined(
719
- step, all_good, domain_slots
722
+ step, all_good, domain_slots, flow.id
720
723
  )
721
724
  )
722
725
 
rasa/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  # this file will automatically be changed,
2
2
  # do not add anything but the version number here!
3
- __version__ = "3.10.6"
3
+ __version__ = "3.10.7"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rasa-pro
3
- Version: 3.10.6
3
+ Version: 3.10.7
4
4
  Summary: State-of-the-art open-core Conversational AI framework for Enterprises that natively leverages generative AI for effortless assistant development.
5
5
  Home-page: https://rasa.com
6
6
  Keywords: nlp,machine-learning,machine-learning-library,bot,bots,botkit,rasa conversational-agents,conversational-ai,chatbot,chatbot-framework,bot-framework
@@ -53,8 +53,8 @@ Requires-Dist: gitpython (>=3.1.41,<3.2.0) ; extra == "full"
53
53
  Requires-Dist: google-auth (>=2.23.4,<3)
54
54
  Requires-Dist: google-cloud-storage (>=2.14.0,<3.0.0)
55
55
  Requires-Dist: hvac (>=1.2.1,<2.0.0)
56
- Requires-Dist: importlib-metadata (>=6.8.0,<7.0.0)
57
- Requires-Dist: importlib-resources (>=6.1.1,<7.0.0)
56
+ Requires-Dist: importlib-metadata (>=8.5.0,<8.6.0)
57
+ Requires-Dist: importlib-resources (==6.1.3)
58
58
  Requires-Dist: jieba (>=0.42.1,<0.43) ; extra == "jieba" or extra == "full"
59
59
  Requires-Dist: jinja2 (>=3.1.4,<4.0.0)
60
60
  Requires-Dist: joblib (>=1.2.0,<1.3.0)
@@ -23,7 +23,7 @@ rasa/cli/arguments/train.py,sha256=gyqJysj0nydSdMQt8EWrjgmqDiSd898aFMT1Rh9A34k,8
23
23
  rasa/cli/arguments/visualize.py,sha256=Su0qyXv4bEx5mrteRqEyf-K3JGQ1t2WCXOYlCpGYfAk,861
24
24
  rasa/cli/arguments/x.py,sha256=FQkarKvNBtzZ5xrPBhHWk-ZKPgEHvgE5ItwRL1TNR3I,1027
25
25
  rasa/cli/data.py,sha256=M33oHv3PCqDx4Gc5ifGmcZoEc6h2_uP8pRIygimjT8w,12695
26
- rasa/cli/e2e_test.py,sha256=pAaydmBJg9UWBwWTjC3KtII2_eZG3MWkdpq9sQ1xQf4,8431
26
+ rasa/cli/e2e_test.py,sha256=eVNK8vMkPXBhDyxr8d9zTbQo42adbvyLMupVrNwGhWg,8361
27
27
  rasa/cli/evaluate.py,sha256=Lm311k47sJ7IFE9wSBudFAyVxTRsAAMdeRUWRCPVVug,7948
28
28
  rasa/cli/export.py,sha256=60wPKS5513J7PRKZsVeCBrUGOcSizypdjg1iYDWLCMY,8203
29
29
  rasa/cli/inspect.py,sha256=LPudl2mmkY8-a8PW28Iq4t3xnurEFduyePFgeKSx0BA,2207
@@ -80,7 +80,7 @@ rasa/cli/scaffold.py,sha256=Eqv44T7b5cOd2FKLU1tSrAVPKwMfoiUIjc43PtaxJGg,7988
80
80
  rasa/cli/shell.py,sha256=wymYOj6jdUON0y7pe-rpRqarWDGaDquU7PRp8knxqHk,4264
81
81
  rasa/cli/studio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
82
  rasa/cli/studio/download.py,sha256=r3UCbpD6-8GGKK47FqXTPI1hvYElADjgcdegG6B9XYg,1832
83
- rasa/cli/studio/studio.py,sha256=EzVx3ThthGCzyrFyM8gFFJfOYtQ_whvhA5Jn2JzV27c,8211
83
+ rasa/cli/studio/studio.py,sha256=fADCRFRyarZ4eU_frmNfgCoutdH7lLPRQBq4612Q_pA,8871
84
84
  rasa/cli/studio/train.py,sha256=ruXA5UkaRbO3femk8w3I2cXKs06-34FYtB_9MKdP6hw,1572
85
85
  rasa/cli/studio/upload.py,sha256=kdHqrVGsEbbqH5fz_HusWwJEycB31SHaPlXer8lXAE0,2069
86
86
  rasa/cli/telemetry.py,sha256=ZywhlOpp0l2Yz9oEcOGA2ej3SEkSTisKPpBhn_fS7tc,3538
@@ -349,7 +349,7 @@ rasa/dialogue_understanding/commands/human_handoff_command.py,sha256=viSzL3Zmudm
349
349
  rasa/dialogue_understanding/commands/knowledge_answer_command.py,sha256=JPiWQC5qWJmryE7DgApDlf9AdGVMazuU9TXx44gc78w,1773
350
350
  rasa/dialogue_understanding/commands/noop_command.py,sha256=302wi-pPXnraqclTDXug6_IYucEZCwDtP032OhPv1JY,1476
351
351
  rasa/dialogue_understanding/commands/session_start_command.py,sha256=k5cGcE4Usxwfua1sE-KY-qWdwHlHZKgVx5XPDt_-RFY,1742
352
- rasa/dialogue_understanding/commands/set_slot_command.py,sha256=_3RDxurh-Ty-WYovLDLTCFEfjk5TEsmMlz6nCmN60dE,5079
352
+ rasa/dialogue_understanding/commands/set_slot_command.py,sha256=jsiG3K0SYqsx3bah9mxBw0DR5EliaiZ8iMsDzv2wTxw,5187
353
353
  rasa/dialogue_understanding/commands/skip_question_command.py,sha256=bSrUFOHUz1ozdaHma-KAaAArhP59RB3W8CEEBQaPIkA,2251
354
354
  rasa/dialogue_understanding/commands/start_flow_command.py,sha256=a0Yk8xpBpFgC3Hkh4J8kAudz4s4ZLQWuoDq_a63lQXM,3309
355
355
  rasa/dialogue_understanding/commands/utils.py,sha256=3j5VW1TeMBmq9VCeRO3E6gTdOkM5VWmBM0kRzf_AzM8,1489
@@ -378,7 +378,7 @@ rasa/dialogue_understanding/patterns/collect_information.py,sha256=nfzAtvjIyP67C
378
378
  rasa/dialogue_understanding/patterns/completed.py,sha256=NqVaS_5-62UetGRXjR1eOGG3o6EPaIAQxbbkkNVEa9s,1278
379
379
  rasa/dialogue_understanding/patterns/continue_interrupted.py,sha256=4UCFxCReL1wR8ALU4B0LzpC9izdtKrp2nJ6chS_jVng,1355
380
380
  rasa/dialogue_understanding/patterns/correction.py,sha256=ZfSGzvgLvmbebEuisYP0Ke0lQEZziuDvq1oB4wMSFr4,11001
381
- rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml,sha256=NKV_2Vcdu82ZxdIm1dC4LXH5w_5iEqnyxiDM_Cg1FxY,8251
381
+ rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml,sha256=6AM-nIc-JSD8wSZ7KDGInm6nP5n4EJZe4rce747V8fQ,8284
382
382
  rasa/dialogue_understanding/patterns/human_handoff.py,sha256=ocGrnLLRW-_aiXjmSUG9nReUGQbBUxFFt4FTBWSXARM,1132
383
383
  rasa/dialogue_understanding/patterns/internal_error.py,sha256=L8kEC6-TOZecugWtA2dm8lNG9gUevffyT5RotWeJIzM,1608
384
384
  rasa/dialogue_understanding/patterns/search.py,sha256=X7HaMyFwS8gPprKFSOJvCoC6NgZQUTHvqtYxazFdgYc,1105
@@ -667,7 +667,7 @@ rasa/shared/utils/schemas/model_config.yml,sha256=GU1lL_apXjJ3Xbd9Fj5jKm2h1HeB6V
667
667
  rasa/shared/utils/schemas/stories.yml,sha256=DV3wAFnv1leD7kV-FH-GQihF1QX5oKHc8Eb24mxjizc,4737
668
668
  rasa/shared/utils/yaml.py,sha256=XJoKLe_vOmCcTI_Vg5o-iJzu2uumen7j1rrO6T95QXM,32592
669
669
  rasa/studio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
670
- rasa/studio/auth.py,sha256=yPbDHJQAttWyDcjurJywgFlcSfBs6j0FfA4mWO7vKEA,9535
670
+ rasa/studio/auth.py,sha256=6Hk6aHpNNrFXpGygWVIF2V5FFyVpqEOyMX5fVU8bqxU,9673
671
671
  rasa/studio/config.py,sha256=wqjvg_hARKG-6cV3JrhnP_ptZIq0VSFbdv-aWrH0u_Q,4091
672
672
  rasa/studio/constants.py,sha256=7ixKE1kPw2OM0dWhnEHGSVtSwZ5h9cNL1TB6eExg0EA,732
673
673
  rasa/studio/data_handler.py,sha256=oG2pLb7sJa2QO3h63PUIZU8DbiJO9B7FGx3pYrAsMjA,12212
@@ -718,10 +718,10 @@ rasa/utils/tensorflow/types.py,sha256=XGkfDZqvLVoaNQRpSTKdB2C4MGmXTarKdIJcLREvPl
718
718
  rasa/utils/train_utils.py,sha256=f1NWpp5y6al0dzoQyyio4hc4Nf73DRoRSHDzEK6-C4E,21257
719
719
  rasa/utils/url_tools.py,sha256=JQcHL2aLqLHu82k7_d9imUoETCm2bmlHaDpOJ-dKqBc,1218
720
720
  rasa/utils/yaml.py,sha256=KjbZq5C94ZP7Jdsw8bYYF7HASI6K4-C_kdHfrnPLpSI,2000
721
- rasa/validator.py,sha256=HM0ZIWjo3JRt2FMIfgNI_s932OABOSXkflm-rFTNkvY,62608
722
- rasa/version.py,sha256=GYr3HissJmOn-bRoxLYW3Vm7fq_m-bG_jo6kK71I-Oo,117
723
- rasa_pro-3.10.6.dist-info/METADATA,sha256=xvdyCk1zQU8Aoa-H7UdsTOX2ZpJcbVz9aLCT9xz4icg,28211
724
- rasa_pro-3.10.6.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
725
- rasa_pro-3.10.6.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
726
- rasa_pro-3.10.6.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
727
- rasa_pro-3.10.6.dist-info/RECORD,,
721
+ rasa/validator.py,sha256=ToRaa4dS859CJO3H2VGqS943O5qWOg45ypbDfFMKECU,62699
722
+ rasa/version.py,sha256=Z67SWfQiSX_ZeQVCGqY9ga2AoG_k6XqwRKhgPOIINeg,117
723
+ rasa_pro-3.10.7.dist-info/METADATA,sha256=U0aFnt8URsNsk4hJQDHWQp2aZ-XJKqz00Xsjs48RUvI,28204
724
+ rasa_pro-3.10.7.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
725
+ rasa_pro-3.10.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
726
+ rasa_pro-3.10.7.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
727
+ rasa_pro-3.10.7.dist-info/RECORD,,