rasa-pro 3.10.13a1__py3-none-any.whl → 3.10.14__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/studio/studio.py CHANGED
@@ -1,5 +1,5 @@
1
1
  import argparse
2
- from typing import List, Optional
2
+ from typing import List, Optional, Tuple
3
3
  from urllib.parse import ParseResult, urlparse
4
4
 
5
5
  import questionary
@@ -149,7 +149,7 @@ def _configure_studio_url() -> Optional[str]:
149
149
  return studio_url
150
150
 
151
151
 
152
- def _get_advanced_config(studio_url: str) -> tuple:
152
+ def _get_advanced_config(studio_url: str) -> Tuple:
153
153
  """Get the advanced configuration values for Rasa Studio."""
154
154
  keycloak_url = questionary.text(
155
155
  "Please provide your Rasa Studio Keycloak URL",
@@ -167,7 +167,7 @@ def _get_advanced_config(studio_url: str) -> tuple:
167
167
  return keycloak_url, realm_name, client_id
168
168
 
169
169
 
170
- def _get_default_config(studio_url: str) -> tuple:
170
+ def _get_default_config(studio_url: str) -> Tuple:
171
171
  """Get the default configuration values for Rasa Studio."""
172
172
  keycloak_url = studio_url + "auth/"
173
173
  realm_name = DEFAULT_REALM_NAME
@@ -178,6 +178,7 @@ def _get_default_config(studio_url: str) -> tuple:
178
178
  f"Keycloak URL: {keycloak_url}, "
179
179
  f"Realm Name: '{realm_name}', "
180
180
  f"Client ID: '{client_id}'. "
181
+ f"SSL verification is enabled."
181
182
  f"You can use '--advanced' to configure these settings."
182
183
  )
183
184
 
@@ -185,7 +186,11 @@ def _get_default_config(studio_url: str) -> tuple:
185
186
 
186
187
 
187
188
  def _create_studio_config(
188
- studio_url: str, keycloak_url: str, realm_name: str, client_id: str
189
+ studio_url: str,
190
+ keycloak_url: str,
191
+ realm_name: str,
192
+ client_id: str,
193
+ disable_verify: bool = False,
189
194
  ) -> StudioConfig:
190
195
  """Create a StudioConfig object with the provided parameters."""
191
196
  return StudioConfig(
@@ -193,6 +198,7 @@ def _create_studio_config(
193
198
  studio_url=studio_url + "api/graphql/",
194
199
  client_id=client_id,
195
200
  realm_name=realm_name,
201
+ disable_verify=disable_verify,
196
202
  )
197
203
 
198
204
 
@@ -227,19 +233,23 @@ def _configure_studio_config(args: argparse.Namespace) -> StudioConfig:
227
233
 
228
234
  # create a configuration and auth object to try to reach the studio
229
235
  studio_config = _create_studio_config(
230
- studio_url, keycloak_url, realm_name, client_id
236
+ studio_url,
237
+ keycloak_url,
238
+ realm_name,
239
+ client_id,
240
+ disable_verify=args.disable_verify,
231
241
  )
232
242
 
233
- if args.disable_verify:
243
+ if studio_config.disable_verify:
234
244
  rasa.shared.utils.cli.print_info(
235
245
  "Disabling SSL verification for the Rasa Studio authentication server."
236
246
  )
237
- studio_auth = StudioAuth(studio_config, verify=False)
238
247
  else:
239
248
  rasa.shared.utils.cli.print_info(
240
249
  "Enabling SSL verification for the Rasa Studio authentication server."
241
250
  )
242
- studio_auth = StudioAuth(studio_config, verify=True)
251
+
252
+ studio_auth = StudioAuth(studio_config)
243
253
 
244
254
  if _check_studio_auth(studio_auth):
245
255
  return studio_config
@@ -183,7 +183,7 @@ class LLMBasedCommandGenerator(GraphComponent, CommandGenerator, ABC):
183
183
  except Exception as e:
184
184
  structlogger.error(
185
185
  "llm_based_command_generator.train.failed",
186
- event_info=("Flow retrieval store isinaccessible."),
186
+ event_info="Flow retrieval store is inaccessible.",
187
187
  error=e,
188
188
  )
189
189
  raise
@@ -19,6 +19,7 @@ from rasa.engine.storage.storage import ModelStorage
19
19
  from rasa.shared.constants import ROUTE_TO_CALM_SLOT
20
20
  from rasa.shared.core.domain import Domain
21
21
  from rasa.shared.core.flows.flows_list import FlowsList
22
+ from rasa.shared.core.flows.steps import CollectInformationFlowStep
22
23
  from rasa.shared.core.slot_mappings import (
23
24
  SlotFillingManager,
24
25
  extract_slot_value,
@@ -217,7 +218,24 @@ def _issue_set_slot_commands(
217
218
  commands: List[Command] = []
218
219
  domain = domain if domain else Domain.empty()
219
220
  slot_filling_manager = SlotFillingManager(domain, tracker, message)
220
- available_slot_names = flows.available_slot_names()
221
+
222
+ # only use slots that don't have ask_before_filling set to True
223
+ available_slot_names = flows.available_slot_names(ask_before_filling=False)
224
+
225
+ # check if the current step is a CollectInformationFlowStep
226
+ # in case it has ask_before_filling set to True, we need to add the
227
+ # slot to the available_slot_names
228
+ if tracker.active_flow:
229
+ flow = flows.flow_by_id(tracker.active_flow)
230
+ step_id = tracker.current_step_id
231
+ if flow is not None:
232
+ current_step = flow.step_by_id(step_id)
233
+ if (
234
+ current_step
235
+ and isinstance(current_step, CollectInformationFlowStep)
236
+ and current_step.ask_before_filling
237
+ ):
238
+ available_slot_names.add(current_step.collect)
221
239
 
222
240
  for _, slot in tracker.slots.items():
223
241
  # if a slot is not collected in available flows,
@@ -221,12 +221,16 @@ class FlowsList:
221
221
  [f for f in self.underlying_flows if not f.is_startable_only_via_link()]
222
222
  )
223
223
 
224
- def available_slot_names(self) -> Set[str]:
224
+ def available_slot_names(
225
+ self, ask_before_filling: Optional[bool] = None
226
+ ) -> Set[str]:
225
227
  """Get all slot names collected by flows."""
226
228
  return {
227
229
  step.collect
228
230
  for flow in self.underlying_flows
229
231
  for step in flow.get_collect_steps()
232
+ if ask_before_filling is None
233
+ or step.ask_before_filling == ask_before_filling
230
234
  }
231
235
 
232
236
  def available_custom_actions(self) -> Set[str]:
@@ -5,6 +5,8 @@ import litellm
5
5
  import logging
6
6
  import structlog
7
7
  from litellm import aembedding, embedding, validate_environment
8
+
9
+ from rasa.shared.constants import API_BASE_CONFIG_KEY
8
10
  from rasa.shared.exceptions import (
9
11
  ProviderClientAPIException,
10
12
  ProviderClientValidationError,
@@ -85,7 +87,10 @@ class _BaseLiteLLMEmbeddingClient:
85
87
 
86
88
  def _validate_environment_variables(self) -> None:
87
89
  """Validate that the required environment variables are set."""
88
- validation_info = validate_environment(self._litellm_model_name)
90
+ validation_info = validate_environment(
91
+ self._litellm_model_name,
92
+ api_base=self._litellm_extra_parameters.get(API_BASE_CONFIG_KEY),
93
+ )
89
94
  if missing_environment_variables := validation_info.get(
90
95
  _VALIDATE_ENVIRONMENT_MISSING_KEYS_KEY
91
96
  ):
@@ -9,6 +9,7 @@ from litellm import (
9
9
  validate_environment,
10
10
  )
11
11
 
12
+ from rasa.shared.constants import API_BASE_CONFIG_KEY
12
13
  from rasa.shared.exceptions import (
13
14
  ProviderClientAPIException,
14
15
  ProviderClientValidationError,
@@ -102,7 +103,10 @@ class _BaseLiteLLMClient:
102
103
 
103
104
  def _validate_environment_variables(self) -> None:
104
105
  """Validate that the required environment variables are set."""
105
- validation_info = validate_environment(self._litellm_model_name)
106
+ validation_info = validate_environment(
107
+ self._litellm_model_name,
108
+ api_base=self._litellm_extra_parameters.get(API_BASE_CONFIG_KEY),
109
+ )
106
110
  if missing_environment_variables := validation_info.get(
107
111
  _VALIDATE_ENVIRONMENT_MISSING_KEYS_KEY
108
112
  ):
rasa/studio/auth.py CHANGED
@@ -23,12 +23,10 @@ from rasa.studio.results_logger import with_studio_error_handler, StudioResult
23
23
  class StudioAuth:
24
24
  """Handles the authentication with the Rasa Studio authentication server."""
25
25
 
26
- def __init__(
27
- self,
28
- studio_config: StudioConfig,
29
- verify: bool = True,
30
- ) -> None:
26
+ def __init__(self, studio_config: StudioConfig) -> None:
31
27
  self.config = studio_config
28
+ verify = not studio_config.disable_verify
29
+
32
30
  self.keycloak_openid = KeycloakOpenID(
33
31
  server_url=studio_config.authentication_server_url,
34
32
  client_id=studio_config.client_id,
rasa/studio/config.py CHANGED
@@ -2,13 +2,14 @@ from __future__ import annotations
2
2
 
3
3
  import os
4
4
  from dataclasses import dataclass
5
- from typing import Dict, Optional, Text
5
+ from typing import Any, Dict, Optional, Text
6
6
 
7
7
  from rasa.utils.common import read_global_config_value, write_global_config_value
8
8
 
9
9
  from rasa.studio.constants import (
10
10
  RASA_STUDIO_AUTH_SERVER_URL_ENV,
11
11
  RASA_STUDIO_CLI_CLIENT_ID_KEY_ENV,
12
+ RASA_STUDIO_CLI_DISABLE_VERIFY_KEY_ENV,
12
13
  RASA_STUDIO_CLI_REALM_NAME_KEY_ENV,
13
14
  RASA_STUDIO_CLI_STUDIO_URL_ENV,
14
15
  STUDIO_CONFIG_KEY,
@@ -19,6 +20,7 @@ STUDIO_URL_KEY = "studio_url"
19
20
  CLIENT_ID_KEY = "client_id"
20
21
  REALM_NAME_KEY = "realm_name"
21
22
  CLIENT_SECRET_KEY = "client_secret"
23
+ DISABLE_VERIFY = "disable_verify"
22
24
 
23
25
 
24
26
  @dataclass
@@ -27,13 +29,15 @@ class StudioConfig:
27
29
  studio_url: Optional[Text]
28
30
  client_id: Optional[Text]
29
31
  realm_name: Optional[Text]
32
+ disable_verify: bool = False
30
33
 
31
- def to_dict(self) -> Dict[Text, Optional[Text]]:
34
+ def to_dict(self) -> Dict[Text, Optional[Any]]:
32
35
  return {
33
36
  AUTH_SERVER_URL_KEY: self.authentication_server_url,
34
37
  STUDIO_URL_KEY: self.studio_url,
35
38
  CLIENT_ID_KEY: self.client_id,
36
39
  REALM_NAME_KEY: self.realm_name,
40
+ DISABLE_VERIFY: self.disable_verify,
37
41
  }
38
42
 
39
43
  @classmethod
@@ -43,6 +47,7 @@ class StudioConfig:
43
47
  studio_url=data[STUDIO_URL_KEY],
44
48
  client_id=data[CLIENT_ID_KEY],
45
49
  realm_name=data[REALM_NAME_KEY],
50
+ disable_verify=data.get(DISABLE_VERIFY, False),
46
51
  )
47
52
 
48
53
  def write_config(self) -> None:
@@ -73,7 +78,7 @@ class StudioConfig:
73
78
  config = read_global_config_value(STUDIO_CONFIG_KEY, unavailable_ok=True)
74
79
 
75
80
  if config is None:
76
- return StudioConfig(None, None, None, None)
81
+ return StudioConfig(None, None, None, None, False)
77
82
 
78
83
  if not isinstance(config, dict):
79
84
  raise ValueError(
@@ -83,7 +88,7 @@ class StudioConfig:
83
88
  )
84
89
 
85
90
  for key in config:
86
- if not isinstance(config[key], str):
91
+ if not isinstance(config[key], str) and key != DISABLE_VERIFY:
87
92
  raise ValueError(
88
93
  "Invalid config file format. "
89
94
  f"Key '{key}' is not a text value."
@@ -102,6 +107,9 @@ class StudioConfig:
102
107
  studio_url=StudioConfig._read_env_value(RASA_STUDIO_CLI_STUDIO_URL_ENV),
103
108
  client_id=StudioConfig._read_env_value(RASA_STUDIO_CLI_CLIENT_ID_KEY_ENV),
104
109
  realm_name=StudioConfig._read_env_value(RASA_STUDIO_CLI_REALM_NAME_KEY_ENV),
110
+ disable_verify=bool(
111
+ os.getenv(RASA_STUDIO_CLI_DISABLE_VERIFY_KEY_ENV, False)
112
+ ),
105
113
  )
106
114
 
107
115
  @staticmethod
@@ -124,4 +132,5 @@ class StudioConfig:
124
132
  studio_url=self.studio_url or other.studio_url,
125
133
  client_id=self.client_id or other.client_id,
126
134
  realm_name=self.realm_name or other.realm_name,
135
+ disable_verify=self.disable_verify or other.disable_verify,
127
136
  )
rasa/studio/constants.py CHANGED
@@ -10,6 +10,7 @@ RASA_STUDIO_AUTH_SERVER_URL_ENV = "RASA_STUDIO_AUTH_SERVER_URL"
10
10
  RASA_STUDIO_CLI_STUDIO_URL_ENV = "RASA_STUDIO_CLI_STUDIO_URL"
11
11
  RASA_STUDIO_CLI_REALM_NAME_KEY_ENV = "RASA_STUDIO_CLI_REALM_NAME_KEY"
12
12
  RASA_STUDIO_CLI_CLIENT_ID_KEY_ENV = "RASA_STUDIO_CLI_CLIENT_ID_KEY"
13
+ RASA_STUDIO_CLI_DISABLE_VERIFY_KEY_ENV = "RASA_STUDIO_CLI_DISABLE_VERIFY_KEY"
13
14
 
14
15
  STUDIO_NLU_FILENAME = "studio_nlu.yml"
15
16
  STUDIO_DOMAIN_FILENAME = "studio_domain.yml"
@@ -76,7 +76,9 @@ class StudioDataHandler:
76
76
 
77
77
  return request
78
78
 
79
- def _make_request(self, GQL_req: Dict[Any, Any]) -> Dict[Any, Any]:
79
+ def _make_request(
80
+ self, GQL_req: Dict[Any, Any], verify: bool = True
81
+ ) -> Dict[Any, Any]:
80
82
  token = KeycloakTokenReader().get_token()
81
83
  if token.is_expired():
82
84
  token = self.refresh_token(token)
@@ -93,6 +95,7 @@ class StudioDataHandler:
93
95
  "Authorization": f"{token.token_type} {token.access_token}",
94
96
  "Content-Type": "application/json",
95
97
  },
98
+ verify=verify,
96
99
  )
97
100
 
98
101
  if res.status_code != 200:
@@ -128,7 +131,9 @@ class StudioDataHandler:
128
131
  The data from Rasa Studio.
129
132
  """
130
133
  GQL_req = self._build_request()
131
- response = self._make_request(GQL_req)
134
+ verify = not self.studio_config.disable_verify
135
+
136
+ response = self._make_request(GQL_req, verify=verify)
132
137
  self._extract_data(response)
133
138
 
134
139
  def request_data(
@@ -145,7 +150,9 @@ class StudioDataHandler:
145
150
  The data from Rasa Studio.
146
151
  """
147
152
  GQL_req = self._build_request(intent_names, entity_names)
148
- response = self._make_request(GQL_req)
153
+ verify = not self.studio_config.disable_verify
154
+
155
+ response = self._make_request(GQL_req, verify=verify)
149
156
  self._extract_data(response)
150
157
 
151
158
  def get_config(self) -> Optional[str]:
rasa/studio/upload.py CHANGED
@@ -56,7 +56,10 @@ def _get_selected_entities_and_intents(
56
56
 
57
57
  def handle_upload(args: argparse.Namespace) -> None:
58
58
  """Uploads primitives to rasa studio."""
59
- endpoint = StudioConfig.read_config().studio_url
59
+ studio_config = StudioConfig.read_config()
60
+ endpoint = studio_config.studio_url
61
+ verify = not studio_config.disable_verify
62
+
60
63
  if not endpoint:
61
64
  rasa.shared.utils.cli.print_error_and_exit(
62
65
  "No GraphQL endpoint found in config. Please run `rasa studio config`."
@@ -76,9 +79,9 @@ def handle_upload(args: argparse.Namespace) -> None:
76
79
 
77
80
  # check safely if args.calm is set and not fail if not
78
81
  if hasattr(args, "calm") and args.calm:
79
- upload_calm_assistant(args, endpoint)
82
+ upload_calm_assistant(args, endpoint, verify=verify)
80
83
  else:
81
- upload_nlu_assistant(args, endpoint)
84
+ upload_nlu_assistant(args, endpoint, verify=verify)
82
85
 
83
86
 
84
87
  config_keys = [
@@ -126,7 +129,9 @@ def _get_assistant_name(config: Dict[Text, Any]) -> str:
126
129
 
127
130
 
128
131
  @with_studio_error_handler
129
- def upload_calm_assistant(args: argparse.Namespace, endpoint: str) -> StudioResult:
132
+ def upload_calm_assistant(
133
+ args: argparse.Namespace, endpoint: str, verify: bool = True
134
+ ) -> StudioResult:
130
135
  """Uploads the CALM assistant data to Rasa Studio.
131
136
 
132
137
  Args:
@@ -216,11 +221,13 @@ def upload_calm_assistant(args: argparse.Namespace, endpoint: str) -> StudioResu
216
221
  )
217
222
 
218
223
  structlogger.info("Uploading to Rasa Studio...")
219
- return make_request(endpoint, graphql_req)
224
+ return make_request(endpoint, graphql_req, verify)
220
225
 
221
226
 
222
227
  @with_studio_error_handler
223
- def upload_nlu_assistant(args: argparse.Namespace, endpoint: str) -> StudioResult:
228
+ def upload_nlu_assistant(
229
+ args: argparse.Namespace, endpoint: str, verify: bool = True
230
+ ) -> StudioResult:
224
231
  """Uploads the classic (dm1) assistant data to Rasa Studio.
225
232
 
226
233
  Args:
@@ -268,15 +275,16 @@ def upload_nlu_assistant(args: argparse.Namespace, endpoint: str) -> StudioResul
268
275
  graphql_req = build_request(assistant_name, nlu_examples_yaml, domain_yaml)
269
276
 
270
277
  structlogger.info("Uploading to Rasa Studio...")
271
- return make_request(endpoint, graphql_req)
278
+ return make_request(endpoint, graphql_req, verify)
272
279
 
273
280
 
274
- def make_request(endpoint: str, graphql_req: Dict) -> StudioResult:
281
+ def make_request(endpoint: str, graphql_req: Dict, verify: bool = True) -> StudioResult:
275
282
  """Makes a request to the studio endpoint to upload data.
276
283
 
277
284
  Args:
278
285
  endpoint: The studio endpoint
279
286
  graphql_req: The graphql request
287
+ verify: Whether to verify SSL
280
288
  """
281
289
  token = KeycloakTokenReader().get_token()
282
290
  res = requests.post(
@@ -286,6 +294,7 @@ def make_request(endpoint: str, graphql_req: Dict) -> StudioResult:
286
294
  "Authorization": f"{token.token_type} {token.access_token}",
287
295
  "Content-Type": "application/json",
288
296
  },
297
+ verify=verify,
289
298
  )
290
299
 
291
300
  if results_logger.response_has_errors(res.json()):
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.13a1"
3
+ __version__ = "3.10.14"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rasa-pro
3
- Version: 3.10.13a1
3
+ Version: 3.10.14
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
@@ -68,7 +68,7 @@ Requires-Dist: mattermostwrapper (>=2.2,<2.3)
68
68
  Requires-Dist: mlflow (>=2.15.1,<3.0.0) ; extra == "mlflow"
69
69
  Requires-Dist: networkx (>=3.1,<3.2)
70
70
  Requires-Dist: numpy (>=1.23.5,<1.25.0) ; python_version >= "3.9" and python_version < "3.11"
71
- Requires-Dist: openai (>=1.54.0,<1.55.0)
71
+ Requires-Dist: openai (>=1.55.3,<1.56.0)
72
72
  Requires-Dist: openpyxl (>=3.1.5,<4.0.0)
73
73
  Requires-Dist: opentelemetry-api (>=1.16.0,<1.17.0)
74
74
  Requires-Dist: opentelemetry-exporter-jaeger (>=1.16.0,<1.17.0)
@@ -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=fADCRFRyarZ4eU_frmNfgCoutdH7lLPRQBq4612Q_pA,8871
83
+ rasa/cli/studio/studio.py,sha256=HJpxm2GmzD5nqbKenWUgE-luEOtJ5p2xv_bjzDzRS1c,9004
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
@@ -359,13 +359,13 @@ rasa/dialogue_understanding/generator/command_generator.py,sha256=woJ4-59Iarugyx
359
359
  rasa/dialogue_understanding/generator/constants.py,sha256=yh4mAiIINkDcZs_xApEjMoMn7pFm3xhFmFF3DjStTco,680
360
360
  rasa/dialogue_understanding/generator/flow_document_template.jinja2,sha256=f4H6vVd-_nX_RtutMh1xD3ZQE_J2OyuPHAtiltfiAPY,253
361
361
  rasa/dialogue_understanding/generator/flow_retrieval.py,sha256=E7u1Ynb606LOLo_QEJke7NfdrWs9Z3MXjv0U15fbb18,16157
362
- rasa/dialogue_understanding/generator/llm_based_command_generator.py,sha256=wB00ojcueoYHOXl1zJosDJPuB0q-iBbqT7mdcmA75Gc,16628
362
+ rasa/dialogue_understanding/generator/llm_based_command_generator.py,sha256=Aktu_gdxAIQowfQ9KBcS2w3R9Hilc2ehLPB89ek9mVs,16627
363
363
  rasa/dialogue_understanding/generator/llm_command_generator.py,sha256=P1LA0eJxf33GKzN_baUWq1P9KNwYCvKZR-N-Z4zzdjA,2459
364
364
  rasa/dialogue_understanding/generator/multi_step/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
365
365
  rasa/dialogue_understanding/generator/multi_step/fill_slots_prompt.jinja2,sha256=Y0m673tAML3cFPaLM-urMXDsBYUUcXIw9YUpkAhGUuA,2933
366
366
  rasa/dialogue_understanding/generator/multi_step/handle_flows_prompt.jinja2,sha256=8l93_QBKBYnqLICVdiTu5ejZDE8F36BU8-qwba0px44,1927
367
367
  rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py,sha256=133WGlwv49PF4_DKM53u0J_pWrDs88dgUYc5fq1m6NQ,31568
368
- rasa/dialogue_understanding/generator/nlu_command_adapter.py,sha256=-oc3lxAdQEcX25f4IalxOhEw9XhA_6HxGpItlY1RUvY,8412
368
+ rasa/dialogue_understanding/generator/nlu_command_adapter.py,sha256=_mltSp6JzB6tYmhxjTVxyjOzorO7-Poj2nLpHQrDsQs,9202
369
369
  rasa/dialogue_understanding/generator/single_step/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
370
370
  rasa/dialogue_understanding/generator/single_step/command_prompt_template.jinja2,sha256=qVTuas5XgAv2M_hsihyXl-wAnBDEpg_uhVvNrR5m-h0,3751
371
371
  rasa/dialogue_understanding/generator/single_step/single_step_llm_command_generator.py,sha256=lzSGEqsKtRPWK9hP3GmaZazN39icII-MZp_0sykvpNQ,16031
@@ -559,7 +559,7 @@ rasa/shared/core/flows/flow_path.py,sha256=xstwahZBU5cfMY46mREA4NoOGlKLBRAqeP_mJ
559
559
  rasa/shared/core/flows/flow_step.py,sha256=YW2rF2uCDEPfkX8vIHue95zfjF4cU84DWiW1wvGsGZs,4218
560
560
  rasa/shared/core/flows/flow_step_links.py,sha256=phK1BiAnASSvjUm3FcPw3atOzXbZ8ul6t9PjJes0oqI,10006
561
561
  rasa/shared/core/flows/flow_step_sequence.py,sha256=jStz6epvKIycZWn8nE52ZB1vbncnOKkP5J_GuJsyLa8,2253
562
- rasa/shared/core/flows/flows_list.py,sha256=xxbJyEwVmGEKodeiU7cJxoq3C1_xT0XmbT49dU3ypBM,7959
562
+ rasa/shared/core/flows/flows_list.py,sha256=PtcoK9d7gabFeofdGzQ0bYGh7tYyQDs9t8Wa3F6fkAc,8119
563
563
  rasa/shared/core/flows/flows_yaml_schema.json,sha256=ZoVbDzNM89miI3q00J7JtkZRM5dBnicsCpuy9B76jr8,10896
564
564
  rasa/shared/core/flows/nlu_trigger.py,sha256=gfnRUi7QJaUjMb43RTyQWbLoIUSx2I78LeM8CjDIIDE,3907
565
565
  rasa/shared/core/flows/steps/__init__.py,sha256=M43kHDuB8okcIE3WLivnvuCBzIsA5Qi2ATXUGTVW2Rw,655
@@ -635,7 +635,7 @@ rasa/shared/providers/_configs/self_hosted_llm_client_config.py,sha256=fUEvqCrhE
635
635
  rasa/shared/providers/_configs/utils.py,sha256=vxtWmrnpnH2ryHWiP7hpLbSBAq3x-3hsGxGWSEgp4Lk,3334
636
636
  rasa/shared/providers/_ssl_verification_utils.py,sha256=4tujCOjg0KKX2_DzOb7lZTdsUXtzRB4UkfhkC3W0jO0,4166
637
637
  rasa/shared/providers/embedding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
638
- rasa/shared/providers/embedding/_base_litellm_embedding_client.py,sha256=c2q6wzPs9yZxgEeTzrJR7urOqhAtlDHj1e6De3kRVQQ,8992
638
+ rasa/shared/providers/embedding/_base_litellm_embedding_client.py,sha256=ggfcEc8Ht9m272awIl_1gWlG7Fe6xC-FhGGjujNRXlM,9148
639
639
  rasa/shared/providers/embedding/_langchain_embedding_client_adapter.py,sha256=IR2Rb3ReJ9C9sxOoOGRXgtz8STWdMREs_4AeSMKFjl4,2135
640
640
  rasa/shared/providers/embedding/azure_openai_embedding_client.py,sha256=R4d0AGXudYAeqOjDdUeqkcrziNrlD5E4RgLi1ggp0Rc,10242
641
641
  rasa/shared/providers/embedding/default_litellm_embedding_client.py,sha256=B-BSoIOWV_-tmRr_gcEEMpibA9PUTi3XF91PR0JKGM4,3231
@@ -644,7 +644,7 @@ rasa/shared/providers/embedding/embedding_response.py,sha256=H55mSAL3LfVvDlBklaC
644
644
  rasa/shared/providers/embedding/huggingface_local_embedding_client.py,sha256=Zo3gyj49h4LxXV7bx39TXpIPKlernG-5xzqXczTCbig,6913
645
645
  rasa/shared/providers/embedding/openai_embedding_client.py,sha256=XNRGE7apo2v3kWRrtgxE-Gq4rvNko3IiXtvgC4krDYE,5429
646
646
  rasa/shared/providers/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
647
- rasa/shared/providers/llm/_base_litellm_client.py,sha256=9ohMPg5DBBaC13DHpNdvgSDMob2hpXbdQs3MkI1ij0Y,9175
647
+ rasa/shared/providers/llm/_base_litellm_client.py,sha256=hZ12FaGnb13wacxBCQYi0gbLzYBwgobAyVsPjvCiIOI,9330
648
648
  rasa/shared/providers/llm/azure_openai_llm_client.py,sha256=jwEntKsBHKOXUhNEQM-kTYIfRCJ6qEka58ZPnKsSsb8,11836
649
649
  rasa/shared/providers/llm/default_litellm_llm_client.py,sha256=yvqd4ARoGSi9iqfE2uFvVEYRU6rICePBnEEKTduCc9w,2777
650
650
  rasa/shared/providers/llm/llm_client.py,sha256=6-gMsEJqquhUPGXzNiq_ybM_McLWxAJ_QhbmWcLnb_Q,2358
@@ -667,14 +667,14 @@ 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=poDOFJ4jU-hQG7XS7ozeFA8ec5L4NSUBiFvH-N5BuQc,31089
669
669
  rasa/studio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
670
- rasa/studio/auth.py,sha256=6Hk6aHpNNrFXpGygWVIF2V5FFyVpqEOyMX5fVU8bqxU,9673
671
- rasa/studio/config.py,sha256=wqjvg_hARKG-6cV3JrhnP_ptZIq0VSFbdv-aWrH0u_Q,4091
672
- rasa/studio/constants.py,sha256=7ixKE1kPw2OM0dWhnEHGSVtSwZ5h9cNL1TB6eExg0EA,732
673
- rasa/studio/data_handler.py,sha256=oG2pLb7sJa2QO3h63PUIZU8DbiJO9B7FGx3pYrAsMjA,12212
670
+ rasa/studio/auth.py,sha256=Lw0zkNhQx3pW8yANWAg9x1M4hXT4Jjpxcnjfw8LYFsA,9672
671
+ rasa/studio/config.py,sha256=IGxMCpdE31PFms0hqYbT6GlAOS1w2L1wutnc8wQSO4s,4541
672
+ rasa/studio/constants.py,sha256=SIpfW70P3OwoLU359BSXQ9fNEVLF6YTCnX6CVvsG0uo,810
673
+ rasa/studio/data_handler.py,sha256=o6jDLE15SBtkBDv4n9RCG9spF0f9BCm0PmXU8jSOfik,12416
674
674
  rasa/studio/download.py,sha256=9uE4KKaHnID_3-Tt_E5_D00XTwhLlj4oxORY8CZRrZc,17188
675
675
  rasa/studio/results_logger.py,sha256=0gCkEaZ1CeFmxRHArK5my_DsLYjApZrxfiRMT5asE6A,4963
676
676
  rasa/studio/train.py,sha256=gfPtirITzBDo9gV4hqDNSwPYtVp_22cq8OWI6YIBgyk,4243
677
- rasa/studio/upload.py,sha256=3XqYyIZE1L3ohJtRcpf039IRc73A_rZ4KVWC32_dBo4,14027
677
+ rasa/studio/upload.py,sha256=5hvj_DUzxq5JkZswro-KaLE4QAKwbMLGb8TakzS1etk,14290
678
678
  rasa/telemetry.py,sha256=Q6MQnDhOY6cKRVs3PayiM6WYWb8QJ_Hb3_eOm12n0tI,61093
679
679
  rasa/tracing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
680
680
  rasa/tracing/config.py,sha256=O4iHkE4kF6r4uVAt3JUb--TniK7pWD4j3d08Vf_GuYY,12736
@@ -720,9 +720,9 @@ rasa/utils/train_utils.py,sha256=f1NWpp5y6al0dzoQyyio4hc4Nf73DRoRSHDzEK6-C4E,212
720
720
  rasa/utils/url_tools.py,sha256=JQcHL2aLqLHu82k7_d9imUoETCm2bmlHaDpOJ-dKqBc,1218
721
721
  rasa/utils/yaml.py,sha256=KjbZq5C94ZP7Jdsw8bYYF7HASI6K4-C_kdHfrnPLpSI,2000
722
722
  rasa/validator.py,sha256=ToRaa4dS859CJO3H2VGqS943O5qWOg45ypbDfFMKECU,62699
723
- rasa/version.py,sha256=XeYU5gF7m3YQ6D79cZdCdDxwmL4reMJlBtTt5PKs8BI,120
724
- rasa_pro-3.10.13a1.dist-info/METADATA,sha256=X0kN_6S3XcNSWg1RyxSSf3WrT1YDi6Nf9Qj9JY8ZvAU,10921
725
- rasa_pro-3.10.13a1.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
726
- rasa_pro-3.10.13a1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
727
- rasa_pro-3.10.13a1.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
728
- rasa_pro-3.10.13a1.dist-info/RECORD,,
723
+ rasa/version.py,sha256=z2i3uuT45OdhuDRVnuLCtmG8pfzzwC-13qbKorgsDmQ,118
724
+ rasa_pro-3.10.14.dist-info/METADATA,sha256=ZDJzu4fsisgXmG0MJRp2XJGY2zHYrQUAddh2-G4Tezs,10919
725
+ rasa_pro-3.10.14.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
726
+ rasa_pro-3.10.14.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
727
+ rasa_pro-3.10.14.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
728
+ rasa_pro-3.10.14.dist-info/RECORD,,