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

@@ -249,6 +249,16 @@ class FlowRetrieval(EmbeddingsHealthCheckMixin):
249
249
  )
250
250
 
251
251
  flows_to_embedd = flows.exclude_link_only_flows()
252
+
253
+ if not flows_to_embedd:
254
+ structlogger.debug(
255
+ "flow_retrieval.populate_vector_store.no_flows_to_embed",
256
+ event_info=(
257
+ "No flows to embed in the vector store, skipping population."
258
+ ),
259
+ )
260
+ return
261
+
252
262
  embeddings = self._create_embedder(self.config)
253
263
  documents = self._generate_flow_documents(flows_to_embedd, domain)
254
264
  try:
@@ -10,7 +10,7 @@ import uuid
10
10
  from contextlib import contextmanager
11
11
  from datetime import datetime
12
12
  from pathlib import Path
13
- from typing import Callable, Generator, Optional, Text, Tuple, Union
13
+ from typing import Callable, Generator, List, Optional, Text, Tuple, Union
14
14
 
15
15
  from tarsafe import TarSafe
16
16
 
@@ -158,16 +158,24 @@ class LocalModelStorage(ModelStorage):
158
158
  # before trying the \\?\ prefix approach first
159
159
  prev_filter = getattr(tar, "extraction_filter", None)
160
160
  tar.extraction_filter = create_combined_filter(prev_filter)
161
- tar.extractall(f"\\\\?\\{temporary_directory}")
161
+ tar.extractall(
162
+ f"\\\\?\\{temporary_directory}",
163
+ members=yield_safe_members(tar.getmembers()),
164
+ )
162
165
  except Exception:
163
166
  # Fallback for Python versions with tarfile security fix
164
167
  logger.warning(
165
168
  "Failed to extract model archive with long path support. "
166
169
  "Falling back to regular extraction."
167
170
  )
168
- tar.extractall(temporary_directory)
171
+ tar.extractall(
172
+ temporary_directory,
173
+ members=yield_safe_members(tar.getmembers()),
174
+ )
169
175
  else:
170
- tar.extractall(temporary_directory)
176
+ tar.extractall(
177
+ temporary_directory, members=yield_safe_members(tar.getmembers())
178
+ )
171
179
  LocalModelStorage._assert_not_rasa2_archive(temporary_directory)
172
180
 
173
181
  @staticmethod
@@ -287,3 +295,32 @@ class LocalModelStorage(ModelStorage):
287
295
  core_target=model_configuration.core_target,
288
296
  nlu_target=model_configuration.nlu_target,
289
297
  )
298
+
299
+
300
+ def yield_safe_members(
301
+ members: List[tarfile.TarInfo],
302
+ ) -> Generator[tarfile.TarInfo, None, None]:
303
+ """
304
+ Filter function for tar.extractall members parameter.
305
+ Validates each member and yields only safe ones.
306
+
307
+ Args:
308
+ members: Iterator of TarInfo objects from tar.getmembers()
309
+
310
+ Yields:
311
+ TarInfo: Safe members to extract
312
+ """
313
+ for member in members:
314
+ # Skip absolute paths
315
+ if Path(member.name).is_absolute():
316
+ continue
317
+
318
+ # Skip paths with directory traversal sequences
319
+ if ".." in member.name or "\\.." in member.name:
320
+ continue
321
+
322
+ # Skip special file types unless you need them
323
+ if member.isdev() or member.issym():
324
+ continue
325
+
326
+ yield member
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.13.8"
3
+ __version__ = "3.13.9"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rasa-pro
3
- Version: 3.13.8
3
+ Version: 3.13.9
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
@@ -102,7 +102,7 @@ Requires-Dist: randomname (>=0.2.1,<0.3.0)
102
102
  Requires-Dist: rasa-sdk (==3.13.0)
103
103
  Requires-Dist: redis (>=4.6.0,<6.0)
104
104
  Requires-Dist: regex (>=2024.7.24,<2024.8.0)
105
- Requires-Dist: requests (>=2.32.3,<2.33.0)
105
+ Requires-Dist: requests (>=2.32.5,<2.33.0)
106
106
  Requires-Dist: rich (>=13.4.2,<14.0.0)
107
107
  Requires-Dist: rocketchat_API (>=1.32.0,<1.33.0)
108
108
  Requires-Dist: ruamel.yaml (>=0.17.21,<0.17.22)
@@ -117,7 +117,7 @@ Requires-Dist: sentencepiece[sentencepiece] (>=0.1.99,<0.2.0) ; extra == "transf
117
117
  Requires-Dist: sentry-sdk (>=2.8.0,<3)
118
118
  Requires-Dist: setuptools (>=78.1.1,<78.2.0)
119
119
  Requires-Dist: sklearn-crfsuite (>=0.3.6,<0.4.0)
120
- Requires-Dist: skops (>=0.10.0,<0.11.0)
120
+ Requires-Dist: skops (>=0.13.0,<0.14.0)
121
121
  Requires-Dist: slack-sdk (>=3.27.1,<3.28.0)
122
122
  Requires-Dist: spacy (>=3.5.4,<4.0.0) ; extra == "spacy" or extra == "full"
123
123
  Requires-Dist: structlog (>=23.1.0,<23.2.0)
@@ -401,7 +401,7 @@ rasa/dialogue_understanding/generator/command_parser.py,sha256=XVqNRZXaGyuTXqwyJ
401
401
  rasa/dialogue_understanding/generator/command_parser_validator.py,sha256=qUIaKBRhH6Q-BGOELJLRvgv3gwUf75el-kw7p0v7eWI,2293
402
402
  rasa/dialogue_understanding/generator/constants.py,sha256=ulqmLIwrBOZLyhsCChI_4CdOnA0I8MfuBxxuKGyFp7U,1130
403
403
  rasa/dialogue_understanding/generator/flow_document_template.jinja2,sha256=f4H6vVd-_nX_RtutMh1xD3ZQE_J2OyuPHAtiltfiAPY,253
404
- rasa/dialogue_understanding/generator/flow_retrieval.py,sha256=DavL-37e0tksMWkxvFImoqlsmYeYeSdDN3u7wZI0K-8,17817
404
+ rasa/dialogue_understanding/generator/flow_retrieval.py,sha256=D-D6bvYt_GDLoRQzhvlTEPnmZI4ceESLJBLWrMgUyrA,18120
405
405
  rasa/dialogue_understanding/generator/llm_based_command_generator.py,sha256=dori1F756kxOv-VkYetGPnacTsoTYHIUt1mTqt050Qs,23585
406
406
  rasa/dialogue_understanding/generator/llm_command_generator.py,sha256=z7jhIJ3W_5GFH-p15kVoWbigMIoY8fIJjc_j_uX7yxw,2581
407
407
  rasa/dialogue_understanding/generator/multi_step/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -511,7 +511,7 @@ rasa/engine/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
511
511
  rasa/engine/runner/dask.py,sha256=ocmpRpDpRPMaisZcBFDeUPbWGl6oWiU9UXyWimE9074,9476
512
512
  rasa/engine/runner/interface.py,sha256=zkaKe5vjiYrR7Efepr7LVZRJEGNDM959rkdR62vEgTM,1679
513
513
  rasa/engine/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
514
- rasa/engine/storage/local_model_storage.py,sha256=Y2VKg04I63WgIL9XeLhJs7SkQMRqUziKyTj9QnhTWZ8,11382
514
+ rasa/engine/storage/local_model_storage.py,sha256=kVkINXxwJVcRQmOCyD8K7N01ATZtOqKrFpA7kb6z7oI,12473
515
515
  rasa/engine/storage/resource.py,sha256=sUCBNSIrjEr68wCj7D48hzmIih7ezmT88esMhyykA88,3932
516
516
  rasa/engine/storage/storage.py,sha256=mNLptsu9cOXWu8k55CnjZMByv6eqh2rEOqXC9__k8aE,6930
517
517
  rasa/engine/training/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -846,9 +846,9 @@ rasa/utils/train_utils.py,sha256=ClJx-6x3-h3Vt6mskacgkcCUJTMXjFPe3zAcy_DfmaU,212
846
846
  rasa/utils/url_tools.py,sha256=dZ1HGkVdWTJB7zYEdwoDIrEuyX9HE5WsxKKFVsXBLE0,1218
847
847
  rasa/utils/yaml.py,sha256=KjbZq5C94ZP7Jdsw8bYYF7HASI6K4-C_kdHfrnPLpSI,2000
848
848
  rasa/validator.py,sha256=fhRlHQvuBkiup0FnNYmwRmqQwC3QpdCJt0TuvW4jMaI,83125
849
- rasa/version.py,sha256=FdIHyq5ZwdevHNe13HjSMW31E-Av-kAZu1zwq_POaKY,117
850
- rasa_pro-3.13.8.dist-info/METADATA,sha256=rD2Xf2X3gvNlTn6wwUM34JOMNcKrQKFYpu7m2EJsXUs,10550
851
- rasa_pro-3.13.8.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
852
- rasa_pro-3.13.8.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
853
- rasa_pro-3.13.8.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
854
- rasa_pro-3.13.8.dist-info/RECORD,,
849
+ rasa/version.py,sha256=sWwtaqx9q09A2M9NI7lVYi519X4IgWLvD7xOQOhMCAw,117
850
+ rasa_pro-3.13.9.dist-info/METADATA,sha256=bW4MCGwea_pjcc0yhJi-ZRc4UsjAhpTXqI0evpizjQM,10550
851
+ rasa_pro-3.13.9.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
852
+ rasa_pro-3.13.9.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
853
+ rasa_pro-3.13.9.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
854
+ rasa_pro-3.13.9.dist-info/RECORD,,