rasa-pro 3.10.5__py3-none-any.whl → 3.10.6__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.

@@ -494,22 +494,23 @@ def clean_up_slot_command(
494
494
  stack = tracker.stack
495
495
 
496
496
  resulting_commands = commands_so_far[:]
497
- if command.name in slots_so_far and command.name != ROUTE_TO_CALM_SLOT:
498
- slot = tracker.slots.get(command.name)
499
- if slot is None:
500
- structlogger.debug(
501
- "command_processor.clean_up_slot_command.skip_command_slot_not_in_domain",
502
- command=command,
503
- )
504
- return resulting_commands
505
497
 
506
- if not should_slot_be_set(slot, command):
507
- cannot_handle = CannotHandleCommand(reason=CANNOT_HANDLE_REASON)
508
- if cannot_handle not in resulting_commands:
509
- resulting_commands.append(cannot_handle)
498
+ slot = tracker.slots.get(command.name)
499
+ if slot is None:
500
+ structlogger.debug(
501
+ "command_processor.clean_up_slot_command.skip_command_slot_not_in_domain",
502
+ command=command,
503
+ )
504
+ return resulting_commands
510
505
 
511
- return resulting_commands
506
+ if not should_slot_be_set(slot, command):
507
+ cannot_handle = CannotHandleCommand(reason=CANNOT_HANDLE_REASON)
508
+ if cannot_handle not in resulting_commands:
509
+ resulting_commands.append(cannot_handle)
512
510
 
511
+ return resulting_commands
512
+
513
+ if command.name in slots_so_far and command.name != ROUTE_TO_CALM_SLOT:
513
514
  current_collect_info = get_current_collect_step(stack, all_flows)
514
515
 
515
516
  if current_collect_info and current_collect_info.collect == command.name:
rasa/nlu/persistor.py CHANGED
@@ -64,14 +64,14 @@ def parse_remote_storage(value: str) -> StorageType:
64
64
 
65
65
  if isinstance(value, str):
66
66
  if value == "":
67
- raise ValueError(
67
+ raise RasaException(
68
68
  f"The value can't be an empty string."
69
69
  f" {supported_storages_help_text}"
70
70
  )
71
71
 
72
72
  return value
73
73
 
74
- raise ValueError(
74
+ raise RasaException(
75
75
  f"Invalid storage type '{value}'. {supported_storages_help_text}"
76
76
  )
77
77
 
@@ -82,6 +82,8 @@ def get_persistor(storage: StorageType) -> Optional[Persistor]:
82
82
  Currently, `aws`, `gcs`, `azure` and providing module paths are supported remote
83
83
  storages.
84
84
  """
85
+ storage = storage.value if isinstance(storage, RemoteStorageType) else storage
86
+
85
87
  if storage == RemoteStorageType.AWS.value:
86
88
  return AWSPersistor(
87
89
  os.environ.get(BUCKET_NAME_ENV), os.environ.get(AWS_ENDPOINT_URL_ENV)
rasa/shared/utils/yaml.py CHANGED
@@ -416,6 +416,47 @@ def validate_raw_yaml_using_schema_file_with_responses(
416
416
  )
417
417
 
418
418
 
419
+ def process_content(content: str) -> str:
420
+ """
421
+ Process the content to handle both Windows paths and emojis.
422
+ Windows paths are processed by escaping backslashes but emojis are left untouched.
423
+
424
+ Args:
425
+ content: yaml content to be processed
426
+ """
427
+ # Detect common Windows path patterns: e.g., C:\ or \\
428
+ UNESCAPED_WINDOWS_PATH_PATTERN = re.compile(
429
+ r"(?<!\w)[a-zA-Z]:(\\[a-zA-Z0-9_ -]+)*(\\)?(?!\\n)"
430
+ )
431
+ ESCAPED_WINDOWS_PATH_PATTERN = re.compile(
432
+ r"(?<!\w)[a-zA-Z]:(\\\\[a-zA-Z0-9_ -]+)+\\\\?(?!\\n)"
433
+ )
434
+
435
+ # Function to escape backslashes in Windows paths but leave other content as is
436
+ def escape_windows_paths(match: re.Match) -> str:
437
+ path = str(match.group(0))
438
+ return path.replace("\\", "\\\\") # Escape backslashes only in Windows paths
439
+
440
+ def unescape_windows_paths(match: re.Match) -> str:
441
+ path = str(match.group(0))
442
+ return path.replace("\\\\", "\\")
443
+
444
+ # First, process Windows paths by escaping backslashes
445
+ content = re.sub(UNESCAPED_WINDOWS_PATH_PATTERN, escape_windows_paths, content)
446
+
447
+ # Ensure proper handling of emojis by decoding Unicode sequences
448
+ content = (
449
+ content.encode("utf-8")
450
+ .decode("raw_unicode_escape")
451
+ .encode("utf-16", "surrogatepass")
452
+ .decode("utf-16")
453
+ )
454
+
455
+ content = re.sub(ESCAPED_WINDOWS_PATH_PATTERN, unescape_windows_paths, content)
456
+
457
+ return content
458
+
459
+
419
460
  def read_yaml(
420
461
  content: str,
421
462
  reader_type: Union[str, List[str]] = "safe",
@@ -432,13 +473,7 @@ def read_yaml(
432
473
  ruamel.yaml.parser.ParserError: If there was an error when parsing the YAML.
433
474
  """
434
475
  if _is_ascii(content):
435
- # Required to make sure emojis are correctly parsed
436
- content = (
437
- content.encode("utf-8")
438
- .decode("raw_unicode_escape")
439
- .encode("utf-16", "surrogatepass")
440
- .decode("utf-16")
441
- )
476
+ content = process_content(content)
442
477
 
443
478
  custom_constructor = kwargs.get("custom_constructor", None)
444
479
 
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.5"
3
+ __version__ = "3.10.6"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rasa-pro
3
- Version: 3.10.5
3
+ Version: 3.10.6
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
@@ -385,7 +385,7 @@ rasa/dialogue_understanding/patterns/search.py,sha256=X7HaMyFwS8gPprKFSOJvCoC6Ng
385
385
  rasa/dialogue_understanding/patterns/session_start.py,sha256=yglhIEkkquRf0YppZ4Cuv2eHlA5qscGoVXr0d-2bV-E,1153
386
386
  rasa/dialogue_understanding/patterns/skip_question.py,sha256=rvZuVUxulikwUhP01MAIgkcHZ4Si7mzxNedH6QBPdX4,1214
387
387
  rasa/dialogue_understanding/processor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
388
- rasa/dialogue_understanding/processor/command_processor.py,sha256=9eVduBM9HJ2b6AGgpSawB0c9_K5nJQk7xLfsxcAm5Uc,25105
388
+ rasa/dialogue_understanding/processor/command_processor.py,sha256=_kLtp3jV3MDKvakyyVp5O7ypp8btesPTfCxlTQ_QD-M,25058
389
389
  rasa/dialogue_understanding/processor/command_processor_component.py,sha256=oyz6lq64CRmnugTrIJJ_Q7RLGYD_xbZJPVJ47xNbyvw,1526
390
390
  rasa/dialogue_understanding/stack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
391
391
  rasa/dialogue_understanding/stack/dialogue_stack.py,sha256=j8MnLCyv6cAZVpKRaUVM-Z5HqgWP-scrnaiQXzLNBwY,5243
@@ -523,7 +523,7 @@ rasa/nlu/featurizers/sparse_featurizer/lexical_syntactic_featurizer.py,sha256=aw
523
523
  rasa/nlu/featurizers/sparse_featurizer/regex_featurizer.py,sha256=PhzJ17lNv3I5h8WrCvjzjjcUvbu_MJBxY6k3pQTDCac,10289
524
524
  rasa/nlu/featurizers/sparse_featurizer/sparse_featurizer.py,sha256=m6qpixorfTDFWSfGVmLImTOHM6zKdgydPaP_wVxCQ-w,220
525
525
  rasa/nlu/model.py,sha256=r6StZb4Dmum_3dRoocxZWo2M5KVNV20_yKNvYZNvpOc,557
526
- rasa/nlu/persistor.py,sha256=SXTmuNBM9o2uReePRdohVkQQusnZ9YDBJHw3okkJc5U,13698
526
+ rasa/nlu/persistor.py,sha256=Sc0NH2VSK9efOYSD0INYd3za3esQvgNHa4FwClJVH-c,13788
527
527
  rasa/nlu/run.py,sha256=WumXqNn2PEyab463geNnOu3IPwgaCtBai-x685BYCNw,803
528
528
  rasa/nlu/selectors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
529
529
  rasa/nlu/selectors/response_selector.py,sha256=gwffu9zLniMseOzX-SuqaZ2CQiGi4JUbDcwUe-BsThI,39021
@@ -665,7 +665,7 @@ rasa/shared/utils/schemas/domain.yml,sha256=b2k4ZYSV-QL3hGjDaRg8rfoqaTh4hbhDc_hB
665
665
  rasa/shared/utils/schemas/events.py,sha256=nm7WotE1UCZpkMMLNW2vs-vKslwngfG7VvjFp0T8ADM,6819
666
666
  rasa/shared/utils/schemas/model_config.yml,sha256=GU1lL_apXjJ3Xbd9Fj5jKm2h1HeB6V6TNqrhK5hOrGY,998
667
667
  rasa/shared/utils/schemas/stories.yml,sha256=DV3wAFnv1leD7kV-FH-GQihF1QX5oKHc8Eb24mxjizc,4737
668
- rasa/shared/utils/yaml.py,sha256=r5s7jjsGWU7a5X0WuOvB3jKx37xySvOHe_ydL5vqroY,31362
668
+ rasa/shared/utils/yaml.py,sha256=XJoKLe_vOmCcTI_Vg5o-iJzu2uumen7j1rrO6T95QXM,32592
669
669
  rasa/studio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
670
670
  rasa/studio/auth.py,sha256=yPbDHJQAttWyDcjurJywgFlcSfBs6j0FfA4mWO7vKEA,9535
671
671
  rasa/studio/config.py,sha256=wqjvg_hARKG-6cV3JrhnP_ptZIq0VSFbdv-aWrH0u_Q,4091
@@ -719,9 +719,9 @@ rasa/utils/train_utils.py,sha256=f1NWpp5y6al0dzoQyyio4hc4Nf73DRoRSHDzEK6-C4E,212
719
719
  rasa/utils/url_tools.py,sha256=JQcHL2aLqLHu82k7_d9imUoETCm2bmlHaDpOJ-dKqBc,1218
720
720
  rasa/utils/yaml.py,sha256=KjbZq5C94ZP7Jdsw8bYYF7HASI6K4-C_kdHfrnPLpSI,2000
721
721
  rasa/validator.py,sha256=HM0ZIWjo3JRt2FMIfgNI_s932OABOSXkflm-rFTNkvY,62608
722
- rasa/version.py,sha256=YrrCJ-PTMOzeAvuwr-FTkwaWZpUNROMbhKiirnuLaIw,117
723
- rasa_pro-3.10.5.dist-info/METADATA,sha256=Fr9N887J4BohBvdVZuBe2mwKhrHugaLc04gLrf6MQKE,28211
724
- rasa_pro-3.10.5.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
725
- rasa_pro-3.10.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
726
- rasa_pro-3.10.5.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
727
- rasa_pro-3.10.5.dist-info/RECORD,,
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,,