rasa-pro 3.12.33__py3-none-any.whl → 3.12.35__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/constants.py CHANGED
@@ -27,6 +27,7 @@ ENV_LOG_LEVEL_LIBRARIES = "LOG_LEVEL_LIBRARIES"
27
27
  ENV_LOG_LEVEL_MATPLOTLIB = "LOG_LEVEL_MATPLOTLIB"
28
28
  ENV_LOG_LEVEL_RABBITMQ = "LOG_LEVEL_RABBITMQ"
29
29
  ENV_LOG_LEVEL_KAFKA = "LOG_LEVEL_KAFKA"
30
+ ENV_LOG_LEVEL_PYMONGO = "LOG_LEVEL_PYMONGO"
30
31
 
31
32
  DEFAULT_SANIC_WORKERS = 1
32
33
  ENV_SANIC_WORKERS = "SANIC_WORKERS"
@@ -35,8 +35,6 @@ class DirectCustomActionExecutor(CustomActionExecutor):
35
35
  self.action_name = action_name
36
36
  self.action_endpoint = action_endpoint
37
37
  self.action_executor = self._create_action_executor()
38
- self.register_actions_from_a_module()
39
- self.action_executor.reload()
40
38
 
41
39
  @staticmethod
42
40
  @lru_cache(maxsize=1)
@@ -88,12 +86,21 @@ class DirectCustomActionExecutor(CustomActionExecutor):
88
86
 
89
87
  Returns:
90
88
  The response from the execution of the custom action.
89
+
90
+ Raises:
91
+ RasaException: If the actions module specified does not exist.
91
92
  """
92
93
  structlogger.debug(
93
94
  "action.direct_custom_action_executor.run",
94
95
  action_name=self.action_name,
95
96
  )
96
97
 
98
+ # Register actions module if not already registered.
99
+ # This is done here instead of __init__ to allow proper
100
+ # exception handling and avoid hanging conversations.
101
+ self.register_actions_from_a_module()
102
+ self.action_executor.reload()
103
+
97
104
  tracker_state = tracker.current_state(EventVerbosity.ALL)
98
105
  action_call = {
99
106
  "next_action": self.action_name,
@@ -343,6 +343,10 @@ def reset_scoped_slots(
343
343
  flow_persistable_slots = current_flow.persisted_slots
344
344
 
345
345
  for step in current_flow.steps_with_calls_resolved:
346
+ # take persisted slots from called flows into consideration
347
+ # before resetting slots
348
+ if isinstance(step, CallFlowStep) and step.called_flow_reference:
349
+ flow_persistable_slots.extend(step.called_flow_reference.persisted_slots)
346
350
  if isinstance(step, CollectInformationFlowStep):
347
351
  # reset all slots scoped to the flow
348
352
  slot_name = step.collect
@@ -354,7 +358,22 @@ def reset_scoped_slots(
354
358
  # slots set by the set slots step should be reset after the flow ends
355
359
  # unless they are also used in a collect step where `reset_after_flow_ends`
356
360
  # is set to `False` or set in the `persisted_slots` list.
357
- resettable_set_slots = [
361
+ resettable_set_slots = _get_resettable_set_slots(
362
+ current_flow, not_resettable_slot_names, flow_persistable_slots
363
+ )
364
+ for name in resettable_set_slots:
365
+ _reset_slot(name, tracker)
366
+
367
+ return events
368
+
369
+
370
+ def _get_resettable_set_slots(
371
+ current_flow: Flow,
372
+ not_resettable_slot_names: set[Text],
373
+ flow_persistable_slots: List[Text],
374
+ ) -> List[Text]:
375
+ """Get list of slot names from SetSlotsFlowStep that should be reset."""
376
+ return [
358
377
  slot["key"]
359
378
  for step in current_flow.steps_with_calls_resolved
360
379
  if isinstance(step, SetSlotsFlowStep)
@@ -363,11 +382,6 @@ def reset_scoped_slots(
363
382
  and slot["key"] not in flow_persistable_slots
364
383
  ]
365
384
 
366
- for name in resettable_set_slots:
367
- _reset_slot(name, tracker)
368
-
369
- return events
370
-
371
385
 
372
386
  def advance_flows(
373
387
  tracker: DialogueStateTracker, available_actions: List[str], flows: FlowsList
@@ -72,9 +72,10 @@ class LLMJudgeConfig(BaseModel):
72
72
 
73
73
  llm_config = resolve_model_client_config(llm_config)
74
74
  llm_config, llm_extra_parameters = cls.extract_attributes(llm_config)
75
- llm_config = combine_custom_and_default_config(
76
- llm_config, cls.get_default_llm_config()
77
- )
75
+ if not llm_config:
76
+ llm_config = combine_custom_and_default_config(
77
+ llm_config, cls.get_default_llm_config()
78
+ )
78
79
  embeddings_config = resolve_model_client_config(embeddings)
79
80
  embeddings_config, embeddings_extra_parameters = cls.extract_attributes(
80
81
  embeddings_config
rasa/shared/core/slots.py CHANGED
@@ -323,8 +323,8 @@ class FloatSlot(Slot):
323
323
  mappings: List[Dict[Text, Any]],
324
324
  initial_value: Optional[float] = None,
325
325
  value_reset_delay: Optional[int] = None,
326
- max_value: float = 1.0,
327
- min_value: float = 0.0,
326
+ max_value: Optional[float] = None,
327
+ min_value: Optional[float] = None,
328
328
  influence_conversation: bool = True,
329
329
  is_builtin: bool = False,
330
330
  shared_for_coexistence: bool = False,
@@ -348,32 +348,24 @@ class FloatSlot(Slot):
348
348
  filled_by=filled_by,
349
349
  validation=validation,
350
350
  )
351
+ self.validate_min_max_range(min_value, max_value)
352
+
351
353
  self.max_value = max_value
352
354
  self.min_value = min_value
353
355
 
354
- if min_value >= max_value:
355
- raise InvalidSlotConfigError(
356
- "Float slot ('{}') created with an invalid range "
357
- "using min ({}) and max ({}) values. Make sure "
358
- "min is smaller than max."
359
- "".format(self.name, self.min_value, self.max_value)
360
- )
361
-
362
- if initial_value is not None and not (min_value <= initial_value <= max_value):
363
- rasa.shared.utils.io.raise_warning(
364
- f"Float slot ('{self.name}') created with an initial value "
365
- f"{self.value}. This value is outside of the configured min "
366
- f"({self.min_value}) and max ({self.max_value}) values."
367
- )
368
-
369
356
  def _as_feature(self) -> List[float]:
357
+ # set default min and max values used in prior releases
358
+ # to prevent regressions for existing models
359
+ min_value = self.min_value or 0.0
360
+ max_value = self.max_value or 1.0
361
+
370
362
  try:
371
- capped_value = max(self.min_value, min(self.max_value, float(self.value)))
372
- if abs(self.max_value - self.min_value) > 0:
373
- covered_range = abs(self.max_value - self.min_value)
363
+ capped_value = max(min_value, min(max_value, float(self.value)))
364
+ if abs(max_value - min_value) > 0:
365
+ covered_range = abs(max_value - min_value)
374
366
  else:
375
367
  covered_range = 1
376
- return [1.0, (capped_value - self.min_value) / covered_range]
368
+ return [1.0, (capped_value - min_value) / covered_range]
377
369
  except (TypeError, ValueError):
378
370
  return [0.0, 0.0]
379
371
 
@@ -392,13 +384,52 @@ class FloatSlot(Slot):
392
384
  return value
393
385
 
394
386
  def is_valid_value(self, value: Any) -> bool:
395
- """Checks if the slot contains the value."""
396
- # check that coerced type is float
397
- return value is None or isinstance(self.coerce_value(value), float)
387
+ """Checks if the slot value is valid."""
388
+ if value is None:
389
+ return True
390
+
391
+ if not isinstance(self.coerce_value(value), float):
392
+ return False
393
+
394
+ if (
395
+ self.min_value is not None
396
+ and self.max_value is not None
397
+ and not (self.min_value <= value <= self.max_value)
398
+ ):
399
+ return False
400
+
401
+ return True
398
402
 
399
403
  def _feature_dimensionality(self) -> int:
400
404
  return len(self.as_feature())
401
405
 
406
+ def validate_min_max_range(
407
+ self, min_value: Optional[float], max_value: Optional[float]
408
+ ) -> None:
409
+ """Validates the min-max range for the slot.
410
+
411
+ Raises:
412
+ InvalidSlotConfigError, if the min-max range is invalid.
413
+ """
414
+ if min_value is not None and max_value is not None and min_value >= max_value:
415
+ raise InvalidSlotConfigError(
416
+ f"Float slot ('{self.name}') created with an invalid range "
417
+ f"using min ({min_value}) and max ({max_value}) values. Make sure "
418
+ f"min is smaller than max."
419
+ )
420
+
421
+ if (
422
+ self.initial_value is not None
423
+ and min_value is not None
424
+ and max_value is not None
425
+ and not (min_value <= self.initial_value <= max_value)
426
+ ):
427
+ raise InvalidSlotConfigError(
428
+ f"Float slot ('{self.name}') created with an initial value "
429
+ f"{self.initial_value}. This value is outside of the configured min "
430
+ f"({min_value}) and max ({max_value}) values."
431
+ )
432
+
402
433
 
403
434
  class BooleanSlot(Slot):
404
435
  """A slot storing a truth value."""
@@ -148,7 +148,7 @@ class LiteLLMRouterLLMClient(_BaseLiteLLMRouterClient, _BaseLiteLLMClient):
148
148
  if not self._use_chat_completions_endpoint:
149
149
  return self._text_completion(messages)
150
150
  try:
151
- formatted_messages = self._format_messages(messages)
151
+ formatted_messages = self._get_formatted_messages(messages)
152
152
  response = self.router_client.completion(
153
153
  messages=formatted_messages, **self._completion_fn_args
154
154
  )
@@ -185,7 +185,7 @@ class LiteLLMRouterLLMClient(_BaseLiteLLMRouterClient, _BaseLiteLLMClient):
185
185
  if not self._use_chat_completions_endpoint:
186
186
  return await self._atext_completion(messages)
187
187
  try:
188
- formatted_messages = self._format_messages(messages)
188
+ formatted_messages = self._get_formatted_messages(messages)
189
189
  response = await self.router_client.acompletion(
190
190
  messages=formatted_messages, **self._completion_fn_args
191
191
  )
rasa/utils/common.py CHANGED
@@ -35,6 +35,7 @@ from rasa.constants import (
35
35
  ENV_LOG_LEVEL_KAFKA,
36
36
  ENV_LOG_LEVEL_LIBRARIES,
37
37
  ENV_LOG_LEVEL_MATPLOTLIB,
38
+ ENV_LOG_LEVEL_PYMONGO,
38
39
  ENV_LOG_LEVEL_RABBITMQ,
39
40
  )
40
41
  from rasa.shared.constants import DEFAULT_LOG_LEVEL, ENV_LOG_LEVEL, TCP_PROTOCOL
@@ -247,6 +248,7 @@ def configure_library_logging() -> None:
247
248
  update_rabbitmq_log_level(library_log_level)
248
249
  update_presidio_log_level(library_log_level)
249
250
  update_faker_log_level(library_log_level)
251
+ update_pymongo_log_level(library_log_level)
250
252
 
251
253
 
252
254
  def update_apscheduler_log_level() -> None:
@@ -394,6 +396,13 @@ def update_faker_log_level(library_log_level: Text) -> None:
394
396
  logging.getLogger("faker").propagate = False
395
397
 
396
398
 
399
+ def update_pymongo_log_level(library_log_level: str) -> None:
400
+ """Set the log level of pymongo."""
401
+ log_level = os.environ.get(ENV_LOG_LEVEL_PYMONGO, library_log_level)
402
+ logging.getLogger("pymongo").setLevel(log_level)
403
+ logging.getLogger("pymongo").propagate = False
404
+
405
+
397
406
  def sort_list_of_dicts_by_first_key(dicts: List[Dict]) -> List[Dict]:
398
407
  """Sorts a list of dictionaries by their first key."""
399
408
  return sorted(dicts, key=lambda d: next(iter(d.keys())))
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.12.33"
3
+ __version__ = "3.12.35"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rasa-pro
3
- Version: 3.12.33
3
+ Version: 3.12.35
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
  Keywords: nlp,machine-learning,machine-learning-library,bot,bots,botkit,rasa conversational-agents,conversational-ai,chatbot,chatbot-framework,bot-framework
6
6
  Author: Rasa Technologies GmbH
@@ -89,7 +89,7 @@ rasa/cli/train.py,sha256=fMt-HyLB7hmYa8LqdvukMMXRqP_DrE9R_oYoW2l6AVE,9348
89
89
  rasa/cli/utils.py,sha256=kNm5aWB7w4plHgdKVT2MkhtNXuTAJ3qgqfgC8ORXNl8,16850
90
90
  rasa/cli/visualize.py,sha256=YmRAATAfxHpgE8_PknGyM-oIujwICNzVftTzz6iLNNc,1256
91
91
  rasa/cli/x.py,sha256=C7dLtYXAkD-uj7hNj7Pz5YbOupp2yRcMjQbsEVqXUJ8,6825
92
- rasa/constants.py,sha256=5OMUcJ_gjn8qglY37DeUS4g5xe2VZAiLIv8IKwIGWJ0,1364
92
+ rasa/constants.py,sha256=2a_0Cn-xiJIyZ7ze2N2N59X3CmE8MHVib6B_zIGv_OI,1408
93
93
  rasa/core/__init__.py,sha256=wTSmsFlgK0Ylvuyq20q9APwpT5xyVJYZfzhs4rrkciM,456
94
94
  rasa/core/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
95
  rasa/core/actions/action.py,sha256=gsxIFNgSKeNV2yBaqwR4_K5-cvWCKapcFTeSFo0qA2c,42667
@@ -103,7 +103,7 @@ rasa/core/actions/action_trigger_flow.py,sha256=IydYAGafTtoY6XSgCX124xJQhzudUg8J
103
103
  rasa/core/actions/action_trigger_search.py,sha256=QfYqnaGRCqRYJ4msYsLAbnVYW5ija_tqhCcKIN8aEfw,1064
104
104
  rasa/core/actions/constants.py,sha256=gfgdWmj-OJ5xTcTAS1OcXQ3dgcTiHO98NC-SGyKlTjs,161
105
105
  rasa/core/actions/custom_action_executor.py,sha256=qafASBdM3-hByDqbkNxgXfx5yMSsJh_nB3B7x9ye0TY,6176
106
- rasa/core/actions/direct_custom_actions_executor.py,sha256=IzxRnPF92zs3WX-p9DoFq51Vf0QwfE6prB_AlyEEllc,3746
106
+ rasa/core/actions/direct_custom_actions_executor.py,sha256=zGHI3cXVRfyzaaGSH7VePXHQxsDAvF0iAZSEcOuM-_M,4026
107
107
  rasa/core/actions/e2e_stub_custom_action_executor.py,sha256=D-kECC1QjVLv4owNxstW2xJPPsXTGfGepvquMeWB_ec,2282
108
108
  rasa/core/actions/forms.py,sha256=MPGxp3vg-EgFcU5UQYqWM2tycSFIuoF6vWvNSSWPhSA,26967
109
109
  rasa/core/actions/grpc_custom_action_executor.py,sha256=EDxdSIDA4H4Mu-QZk-pPGV2N41ZsbY8W9laV6l1WlDQ,9103
@@ -333,7 +333,7 @@ rasa/core/policies/enterprise_search_prompt_with_citation_template.jinja2,sha256
333
333
  rasa/core/policies/flow_policy.py,sha256=597G62hrLF_CAMCvu-TPRldFnjMP2XEIkhcIaPWcQAc,7489
334
334
  rasa/core/policies/flows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
335
  rasa/core/policies/flows/flow_exceptions.py,sha256=_FQuN-cerQDM1pivce9bz4zylh5UYkljvYS1gjDukHI,1527
336
- rasa/core/policies/flows/flow_executor.py,sha256=sT7ZFrm_CKVKBv5SO0M_QE984ZFw8t6trm8dMxCXbv8,25649
336
+ rasa/core/policies/flows/flow_executor.py,sha256=Nz6-udTmOZLphm-b4736r2x5dH49OURF2TA5pxCUCdE,26258
337
337
  rasa/core/policies/flows/flow_step_result.py,sha256=agjPrD6lahGSe2ViO5peBeoMdI9ngVGRSgtytgxmJmg,1360
338
338
  rasa/core/policies/intentless_policy.py,sha256=zxqlhawgqIjLCGkCzw1iOqq1iPCb8dPZFcJ-mTVrQjY,36511
339
339
  rasa/core/policies/intentless_prompt_template.jinja2,sha256=KhIL3cruMmkxhrs5oVbqgSvK6ZiN_6TQ_jXrgtEB-ZY,677
@@ -468,7 +468,7 @@ rasa/e2e_test/aggregate_test_stats_calculator.py,sha256=Ys2Zfc8OOPNN2KHtfKqRdyrW
468
468
  rasa/e2e_test/assertions.py,sha256=yATtyCRQpuBeQF-2Vhd5IYf4rQAeKlo72HAX0x9gS4M,46928
469
469
  rasa/e2e_test/assertions_schema.yml,sha256=NJ-3uuK2lHKKGn4GV3XsnNSvRRQFJznzknUSIBQZMws,3250
470
470
  rasa/e2e_test/constants.py,sha256=iQVJm2kFYj9Ex1SKSZEg2evEbg73bKQpn3Jzj1pRNQs,1496
471
- rasa/e2e_test/e2e_config.py,sha256=i3D2MfoFahSq1SVNRTyJfpSjHhD4OczSvfjqunhc5h4,9399
471
+ rasa/e2e_test/e2e_config.py,sha256=3SC2bN1XJH6xKbHpOXh-Rp1FeQPdqddEsAYGeD4iN1U,9438
472
472
  rasa/e2e_test/e2e_config_schema.yml,sha256=zQectcNvmNChdPMqO4O-CufqAF90AMBbP-Dmghaig_Q,837
473
473
  rasa/e2e_test/e2e_test_case.py,sha256=3fKan0GJOMKm-FKHjQaY9AVhI4ortQYuEsPh9GHwbio,20817
474
474
  rasa/e2e_test/e2e_test_converter.py,sha256=bcSg-hWKPGvZBip6PKPvYAcgvSUCU5uXmC9D7UTmJYY,12570
@@ -661,7 +661,7 @@ rasa/shared/core/generator.py,sha256=UAuBPu5UjUhL9djVK-PvrWZcNhRACOEgnRsTleV7eeY
661
661
  rasa/shared/core/policies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
662
662
  rasa/shared/core/policies/utils.py,sha256=rWE_-48Ovc__V7wOKCJ-2lTerVRtN3iRHV4ZvuU2b2g,3070
663
663
  rasa/shared/core/slot_mappings.py,sha256=afWxJsnAdHPzIxpHBBG1NbK4JBBWSsua3_xq87PKEZA,26663
664
- rasa/shared/core/slots.py,sha256=KOGC5dqW7yLIZZrNqoMBrqqEmaJMNbKB_0yW7d__1yM,29211
664
+ rasa/shared/core/slots.py,sha256=jxSc9L12p7wtm3wg07AO-bdxHbhR0B-lGyRhB4Lu0sE,30083
665
665
  rasa/shared/core/trackers.py,sha256=fgSBpaoVm98dQjFhfJGxaDiQN7Gg94AnT_Rk4z_UEms,45271
666
666
  rasa/shared/core/training_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
667
667
  rasa/shared/core/training_data/loading.py,sha256=RCx1uTI9iDejFI_sWg3qPzhjln7-hu78f3EDAT6K0No,2894
@@ -739,7 +739,7 @@ rasa/shared/providers/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
739
739
  rasa/shared/providers/llm/_base_litellm_client.py,sha256=Ua5Kt6VGe5vRzSzWWWx2Q3LH2PCDd8V7V4zfYD464yU,11634
740
740
  rasa/shared/providers/llm/azure_openai_llm_client.py,sha256=ui85vothxR2P_-eLc4nLgbpjnpEKY2BXnIjLxBZoYz8,12504
741
741
  rasa/shared/providers/llm/default_litellm_llm_client.py,sha256=xx-o-NX_mtx6AszK--ZRj8n8JyEJuVu1-42dt8AynBM,4083
742
- rasa/shared/providers/llm/litellm_router_llm_client.py,sha256=_6vAdPLAVSI_sBJLaXLnE87M-0ip_klfQ78fQ_pyoyI,7947
742
+ rasa/shared/providers/llm/litellm_router_llm_client.py,sha256=68kQGl5OAhbp39xFlo4YVAx7gn-hJzDBHjNENZeilBQ,7961
743
743
  rasa/shared/providers/llm/llm_client.py,sha256=-hTCRsL-A3GCMRHtcyCgcCyra-9OJ8GUC-mURoRXH0k,3242
744
744
  rasa/shared/providers/llm/llm_response.py,sha256=8mOpZdmh4-3yM7aOmNO0yEYUmRDErfoP7ZDMUuHr2Cc,3504
745
745
  rasa/shared/providers/llm/openai_llm_client.py,sha256=rSdLj29Hl1Wm5G6Uwo77j4WqogK_3QIbTA7fyt63YAg,5013
@@ -789,7 +789,7 @@ rasa/tracing/metric_instrument_provider.py,sha256=9J9a-a4lmBe20PuTHa_HwKX7O8kEAQ
789
789
  rasa/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
790
790
  rasa/utils/beta.py,sha256=h2xwGagMh2SnpMuqhkEAEjL7C_CyU6b1te7sbtF-lm4,3240
791
791
  rasa/utils/cli.py,sha256=L-DT4nPdVBWfc2m1COHrziLitVWJxazSreb6JLbTho4,865
792
- rasa/utils/common.py,sha256=quwvvQEvSNTs3YoezDEIsfWu42EihhvXCiesBA8g-K4,20925
792
+ rasa/utils/common.py,sha256=n7SkgvhBVPFmtS4FS7osH9R0dzTgrlzt_4wsohY5rWg,21281
793
793
  rasa/utils/converter.py,sha256=H4LHpoAK7MXMmvNZG_uSn0gbccCJvHtsA2-6Zya4u6M,1656
794
794
  rasa/utils/endpoints.py,sha256=htalZ5AXvXxNlVeTUgk3LJ-OKzt-dr5GTgRQTyC-0-0,10073
795
795
  rasa/utils/io.py,sha256=LIAdQQqUPA-V_mdpgeQzPDzA4rmsdZLyVKc8j_0Z70Y,7161
@@ -822,9 +822,9 @@ rasa/utils/train_utils.py,sha256=ClJx-6x3-h3Vt6mskacgkcCUJTMXjFPe3zAcy_DfmaU,212
822
822
  rasa/utils/url_tools.py,sha256=dZ1HGkVdWTJB7zYEdwoDIrEuyX9HE5WsxKKFVsXBLE0,1218
823
823
  rasa/utils/yaml.py,sha256=KjbZq5C94ZP7Jdsw8bYYF7HASI6K4-C_kdHfrnPLpSI,2000
824
824
  rasa/validator.py,sha256=524VlFTYK0B3iXYveVD6BDC3K0j1QfpzJ9O-TAWczmc,83166
825
- rasa/version.py,sha256=7JatnMAciHDSavVAX_RufsdQixgGhtJ91pKmkbgBBqw,118
826
- rasa_pro-3.12.33.dist-info/METADATA,sha256=2wNpVczdaKeheXr4MGkBbF0DeT3Xvx3P3rpnw6SUYKM,10609
827
- rasa_pro-3.12.33.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
828
- rasa_pro-3.12.33.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
829
- rasa_pro-3.12.33.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
830
- rasa_pro-3.12.33.dist-info/RECORD,,
825
+ rasa/version.py,sha256=sWcVwljFO7WhVbgK0J2_FKAangbLK_IeQpVUDzJm86U,118
826
+ rasa_pro-3.12.35.dist-info/METADATA,sha256=ztQPUxfXWp64HcQKD3ppcpX6CsSBy5523ELF5y1mmfY,10609
827
+ rasa_pro-3.12.35.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
828
+ rasa_pro-3.12.35.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
829
+ rasa_pro-3.12.35.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
830
+ rasa_pro-3.12.35.dist-info/RECORD,,