rasa-pro 3.14.0a22__py3-none-any.whl → 3.14.0a23__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.

Files changed (329) hide show
  1. rasa/__main__.py +15 -3
  2. rasa/agents/__init__.py +0 -0
  3. rasa/agents/agent_factory.py +122 -0
  4. rasa/agents/agent_manager.py +211 -0
  5. rasa/agents/constants.py +43 -0
  6. rasa/agents/core/__init__.py +0 -0
  7. rasa/agents/core/agent_protocol.py +107 -0
  8. rasa/agents/core/types.py +81 -0
  9. rasa/agents/exceptions.py +38 -0
  10. rasa/agents/protocol/__init__.py +5 -0
  11. rasa/agents/protocol/a2a/__init__.py +0 -0
  12. rasa/agents/protocol/a2a/a2a_agent.py +879 -0
  13. rasa/agents/protocol/mcp/__init__.py +0 -0
  14. rasa/agents/protocol/mcp/mcp_base_agent.py +726 -0
  15. rasa/agents/protocol/mcp/mcp_open_agent.py +327 -0
  16. rasa/agents/protocol/mcp/mcp_task_agent.py +522 -0
  17. rasa/agents/schemas/__init__.py +13 -0
  18. rasa/agents/schemas/agent_input.py +38 -0
  19. rasa/agents/schemas/agent_output.py +26 -0
  20. rasa/agents/schemas/agent_tool_result.py +65 -0
  21. rasa/agents/schemas/agent_tool_schema.py +186 -0
  22. rasa/agents/templates/__init__.py +0 -0
  23. rasa/agents/templates/mcp_open_agent_prompt_template.jinja2 +20 -0
  24. rasa/agents/templates/mcp_task_agent_prompt_template.jinja2 +22 -0
  25. rasa/agents/utils.py +206 -0
  26. rasa/agents/validation.py +485 -0
  27. rasa/api.py +24 -9
  28. rasa/builder/config.py +6 -2
  29. rasa/builder/guardrails/{lakera.py → clients.py} +55 -5
  30. rasa/builder/guardrails/constants.py +3 -0
  31. rasa/builder/guardrails/models.py +45 -10
  32. rasa/builder/guardrails/policy_checker.py +324 -0
  33. rasa/builder/guardrails/utils.py +42 -276
  34. rasa/builder/llm_service.py +32 -5
  35. rasa/builder/models.py +1 -0
  36. rasa/builder/project_generator.py +6 -1
  37. rasa/builder/service.py +16 -13
  38. rasa/builder/training_service.py +18 -24
  39. rasa/builder/validation_service.py +1 -1
  40. rasa/cli/arguments/default_arguments.py +12 -0
  41. rasa/cli/arguments/run.py +2 -0
  42. rasa/cli/arguments/train.py +2 -0
  43. rasa/cli/data.py +10 -8
  44. rasa/cli/dialogue_understanding_test.py +10 -7
  45. rasa/cli/e2e_test.py +9 -6
  46. rasa/cli/evaluate.py +4 -2
  47. rasa/cli/export.py +5 -2
  48. rasa/cli/inspect.py +8 -4
  49. rasa/cli/interactive.py +5 -4
  50. rasa/cli/llm_fine_tuning.py +11 -6
  51. rasa/cli/project_templates/finance/actions/general/__init__.py +0 -0
  52. rasa/cli/project_templates/finance/actions/general/action_human_handoff.py +49 -0
  53. rasa/cli/project_templates/finance/data/general/bot_challenge.yml +6 -0
  54. rasa/cli/project_templates/finance/data/general/goodbye.yml +1 -1
  55. rasa/cli/project_templates/finance/data/general/human_handoff.yml +1 -1
  56. rasa/cli/project_templates/finance/data/system/patterns/pattern_session_start.yml +1 -1
  57. rasa/cli/project_templates/finance/domain/general/_shared.yml +0 -14
  58. rasa/cli/project_templates/finance/domain/general/bot_challenge.yml +4 -0
  59. rasa/cli/project_templates/finance/domain/general/goodbye.yml +7 -0
  60. rasa/cli/project_templates/finance/domain/general/human_handoff.yml +3 -6
  61. rasa/cli/project_templates/finance/domain/general/welcome.yml +29 -1
  62. rasa/cli/project_templates/finance/tests/e2e_test_cases/accounts/check_balance.yml +9 -0
  63. rasa/cli/project_templates/finance/tests/e2e_test_cases/accounts/download_statements.yml +43 -0
  64. rasa/cli/project_templates/finance/tests/e2e_test_cases/cards/block_card.yml +55 -0
  65. rasa/cli/project_templates/finance/tests/e2e_test_cases/general/bot_challenge.yml +8 -0
  66. rasa/cli/project_templates/finance/tests/e2e_test_cases/general/feedback.yml +46 -0
  67. rasa/cli/project_templates/finance/tests/e2e_test_cases/general/goodbye.yml +9 -0
  68. rasa/cli/project_templates/finance/tests/e2e_test_cases/general/hello.yml +8 -0
  69. rasa/cli/project_templates/finance/tests/e2e_test_cases/general/human_handoff.yml +35 -0
  70. rasa/cli/project_templates/finance/tests/e2e_test_cases/general/patterns.yml +22 -0
  71. rasa/cli/project_templates/finance/tests/e2e_test_cases/transfers/transfer_money.yml +56 -0
  72. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/feedback.yml +1 -1
  73. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/hello.yml +1 -1
  74. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/human_handoff.yml +1 -1
  75. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/patterns.yml +1 -1
  76. rasa/cli/project_templates/tutorial/credentials.yml +10 -0
  77. rasa/cli/run.py +12 -10
  78. rasa/cli/scaffold.py +4 -4
  79. rasa/cli/shell.py +9 -5
  80. rasa/cli/studio/studio.py +1 -1
  81. rasa/cli/test.py +34 -14
  82. rasa/cli/train.py +41 -28
  83. rasa/cli/utils.py +1 -393
  84. rasa/cli/validation/__init__.py +0 -0
  85. rasa/cli/validation/bot_config.py +223 -0
  86. rasa/cli/validation/config_path_validation.py +257 -0
  87. rasa/cli/x.py +8 -4
  88. rasa/constants.py +7 -1
  89. rasa/core/actions/action.py +51 -10
  90. rasa/core/actions/action_run_slot_rejections.py +1 -1
  91. rasa/core/actions/grpc_custom_action_executor.py +1 -1
  92. rasa/core/agent.py +19 -2
  93. rasa/core/available_agents.py +229 -0
  94. rasa/core/brokers/kafka.py +1 -1
  95. rasa/core/channels/__init__.py +82 -35
  96. rasa/core/channels/development_inspector.py +3 -3
  97. rasa/core/channels/inspector/README.md +25 -13
  98. rasa/core/channels/inspector/dist/assets/{arc-35222594.js → arc-6177260a.js} +1 -1
  99. rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-a0efbfd3.js → blockDiagram-38ab4fdb-b054f038.js} +1 -1
  100. rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-0584c0f2.js → c4Diagram-3d4e48cf-f25427d5.js} +1 -1
  101. rasa/core/channels/inspector/dist/assets/channel-bf9cbb34.js +1 -0
  102. rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-39f40dbe.js → classDiagram-70f12bd4-c7a2af53.js} +1 -1
  103. rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-1ad755f3.js → classDiagram-v2-f2320105-58db65c0.js} +1 -1
  104. rasa/core/channels/inspector/dist/assets/clone-8f9083bb.js +1 -0
  105. rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-b0f4f0fe.js → createText-2e5e7dd3-088372e2.js} +1 -1
  106. rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-9039bff9.js → edges-e0da2a9e-58676240.js} +1 -1
  107. rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-65c9b127.js → erDiagram-9861fffd-0c14d7c6.js} +1 -1
  108. rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-4f08b38e.js → flowDb-956e92f1-ea63f85c.js} +1 -1
  109. rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-e95c362a.js → flowDiagram-66a62f08-a2af48cd.js} +1 -1
  110. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-9ecd5b59.js +1 -0
  111. rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-703c3015.js → flowchart-elk-definition-4a651766-6937abe7.js} +1 -1
  112. rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-699328ea.js → ganttDiagram-c361ad54-7473f357.js} +1 -1
  113. rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-04cf4b05.js → gitGraphDiagram-72cf32ee-d0c9405e.js} +1 -1
  114. rasa/core/channels/inspector/dist/assets/{graph-ee94449e.js → graph-0a6f8466.js} +1 -1
  115. rasa/core/channels/inspector/dist/assets/{index-3862675e-940162b4.js → index-3862675e-7610671a.js} +1 -1
  116. rasa/core/channels/inspector/dist/assets/index-74e01d94.js +1354 -0
  117. rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-c79c2866.js → infoDiagram-f8f76790-be397dc7.js} +1 -1
  118. rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-84489d30.js → journeyDiagram-49397b02-4cefbf62.js} +1 -1
  119. rasa/core/channels/inspector/dist/assets/{layout-a9aa9858.js → layout-e7fbc2bf.js} +1 -1
  120. rasa/core/channels/inspector/dist/assets/{line-eb73cf26.js → line-a8aa457c.js} +1 -1
  121. rasa/core/channels/inspector/dist/assets/{linear-b3399f9a.js → linear-3351e0d2.js} +1 -1
  122. rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-b095bf1a.js → mindmap-definition-fc14e90a-b8cbf605.js} +1 -1
  123. rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-07644b66.js → pieDiagram-8a3498a8-f327f774.js} +1 -1
  124. rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-573a3f9c.js → quadrantDiagram-120e2f19-2854c591.js} +1 -1
  125. rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-d457e1e1.js → requirementDiagram-deff3bca-964985d5.js} +1 -1
  126. rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-9d26e1a2.js → sankeyDiagram-04a897e0-edeb4f33.js} +1 -1
  127. rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-3a9cde10.js → sequenceDiagram-704730f1-fcf70125.js} +1 -1
  128. rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-4f3e8cec.js → stateDiagram-587899a1-0e770395.js} +1 -1
  129. rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-e617e5bf.js → stateDiagram-v2-d93cdb3a-af8dcd22.js} +1 -1
  130. rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-eab30d2f.js → styles-6aaf32cf-36a9e70d.js} +1 -1
  131. rasa/core/channels/inspector/dist/assets/{styles-9a916d00-09994be2.js → styles-9a916d00-884a8b5b.js} +1 -1
  132. rasa/core/channels/inspector/dist/assets/{styles-c10674c1-b7110364.js → styles-c10674c1-dc097813.js} +1 -1
  133. rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-3ebc92ad.js → svgDrawCommon-08f97a94-5a2c7eed.js} +1 -1
  134. rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-7d13d2f2.js → timeline-definition-85554ec2-e89c4f6e.js} +1 -1
  135. rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-488385e1.js → xychartDiagram-e933f94c-afb6fe56.js} +1 -1
  136. rasa/core/channels/inspector/dist/index.html +1 -1
  137. rasa/core/channels/inspector/package.json +18 -18
  138. rasa/core/channels/inspector/src/App.tsx +29 -4
  139. rasa/core/channels/inspector/src/components/DialogueAgentStack.tsx +108 -0
  140. rasa/core/channels/inspector/src/components/{DialogueStack.tsx → DialogueHistoryStack.tsx} +4 -2
  141. rasa/core/channels/inspector/src/helpers/audio/audiostream.ts +7 -4
  142. rasa/core/channels/inspector/src/helpers/formatters.test.ts +4 -0
  143. rasa/core/channels/inspector/src/helpers/formatters.ts +24 -3
  144. rasa/core/channels/inspector/src/helpers/utils.test.ts +127 -0
  145. rasa/core/channels/inspector/src/helpers/utils.ts +66 -1
  146. rasa/core/channels/inspector/src/theme/base/styles.ts +19 -1
  147. rasa/core/channels/inspector/src/types.ts +21 -0
  148. rasa/core/channels/inspector/yarn.lock +336 -189
  149. rasa/core/channels/studio_chat.py +6 -6
  150. rasa/core/channels/telegram.py +4 -9
  151. rasa/core/channels/voice_stream/browser_audio.py +2 -0
  152. rasa/core/channels/voice_stream/genesys.py +1 -1
  153. rasa/core/channels/voice_stream/tts/deepgram.py +140 -0
  154. rasa/core/channels/voice_stream/twilio_media_streams.py +5 -1
  155. rasa/core/channels/voice_stream/voice_channel.py +3 -0
  156. rasa/core/config/__init__.py +0 -0
  157. rasa/core/{available_endpoints.py → config/available_endpoints.py} +51 -16
  158. rasa/core/config/configuration.py +260 -0
  159. rasa/core/config/credentials.py +19 -0
  160. rasa/core/config/message_procesing_config.py +34 -0
  161. rasa/core/constants.py +5 -0
  162. rasa/core/iam_credentials_providers/aws_iam_credentials_providers.py +88 -3
  163. rasa/core/iam_credentials_providers/credentials_provider_protocol.py +2 -1
  164. rasa/core/lock_store.py +6 -4
  165. rasa/core/nlg/generator.py +1 -1
  166. rasa/core/policies/enterprise_search_policy.py +5 -3
  167. rasa/core/policies/flow_policy.py +4 -4
  168. rasa/core/policies/flows/agent_executor.py +632 -0
  169. rasa/core/policies/flows/flow_executor.py +137 -76
  170. rasa/core/policies/flows/mcp_tool_executor.py +298 -0
  171. rasa/core/policies/intentless_policy.py +1 -1
  172. rasa/core/policies/ted_policy.py +20 -12
  173. rasa/core/policies/unexpected_intent_policy.py +6 -0
  174. rasa/core/processor.py +68 -44
  175. rasa/core/redis_connection_factory.py +78 -20
  176. rasa/core/run.py +37 -8
  177. rasa/core/test.py +4 -0
  178. rasa/core/tracker_stores/sql_tracker_store.py +1 -1
  179. rasa/core/tracker_stores/tracker_store.py +3 -7
  180. rasa/core/train.py +1 -1
  181. rasa/core/training/interactive.py +20 -18
  182. rasa/core/training/story_conflict.py +5 -5
  183. rasa/core/utils.py +22 -23
  184. rasa/dialogue_understanding/commands/__init__.py +8 -0
  185. rasa/dialogue_understanding/commands/cancel_flow_command.py +19 -5
  186. rasa/dialogue_understanding/commands/chit_chat_answer_command.py +21 -2
  187. rasa/dialogue_understanding/commands/clarify_command.py +20 -2
  188. rasa/dialogue_understanding/commands/continue_agent_command.py +91 -0
  189. rasa/dialogue_understanding/commands/knowledge_answer_command.py +21 -2
  190. rasa/dialogue_understanding/commands/restart_agent_command.py +162 -0
  191. rasa/dialogue_understanding/commands/start_flow_command.py +68 -7
  192. rasa/dialogue_understanding/commands/utils.py +124 -2
  193. rasa/dialogue_understanding/generator/command_parser.py +4 -0
  194. rasa/dialogue_understanding/generator/llm_based_command_generator.py +50 -12
  195. rasa/dialogue_understanding/generator/llm_command_generator.py +1 -1
  196. rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +1 -1
  197. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_claude_3_5_sonnet_20240620_template.jinja2 +66 -0
  198. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_gpt_4o_2024_11_20_template.jinja2 +66 -0
  199. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_claude_3_5_sonnet_20240620_template.jinja2 +89 -0
  200. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_gpt_4o_2024_11_20_template.jinja2 +88 -0
  201. rasa/dialogue_understanding/generator/single_step/compact_llm_command_generator.py +42 -7
  202. rasa/dialogue_understanding/generator/single_step/search_ready_llm_command_generator.py +40 -3
  203. rasa/dialogue_understanding/generator/single_step/single_step_based_llm_command_generator.py +20 -3
  204. rasa/dialogue_understanding/patterns/cancel.py +27 -6
  205. rasa/dialogue_understanding/patterns/clarify.py +3 -14
  206. rasa/dialogue_understanding/patterns/continue_interrupted.py +239 -6
  207. rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +46 -8
  208. rasa/dialogue_understanding/processor/command_processor.py +136 -15
  209. rasa/dialogue_understanding/stack/dialogue_stack.py +98 -2
  210. rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +57 -0
  211. rasa/dialogue_understanding/stack/utils.py +57 -3
  212. rasa/dialogue_understanding/utils.py +24 -4
  213. rasa/dialogue_understanding_test/du_test_runner.py +8 -3
  214. rasa/e2e_test/e2e_test_runner.py +13 -3
  215. rasa/engine/caching.py +2 -2
  216. rasa/engine/constants.py +1 -1
  217. rasa/engine/recipes/default_components.py +138 -49
  218. rasa/engine/recipes/default_recipe.py +108 -11
  219. rasa/engine/runner/dask.py +8 -5
  220. rasa/engine/validation.py +19 -6
  221. rasa/graph_components/validators/default_recipe_validator.py +86 -28
  222. rasa/hooks.py +5 -5
  223. rasa/llm_fine_tuning/utils.py +2 -2
  224. rasa/model_training.py +60 -47
  225. rasa/nlu/classifiers/diet_classifier.py +198 -98
  226. rasa/nlu/classifiers/logistic_regression_classifier.py +1 -4
  227. rasa/nlu/classifiers/mitie_intent_classifier.py +3 -0
  228. rasa/nlu/classifiers/sklearn_intent_classifier.py +1 -3
  229. rasa/nlu/extractors/crf_entity_extractor.py +9 -10
  230. rasa/nlu/extractors/mitie_entity_extractor.py +3 -0
  231. rasa/nlu/extractors/spacy_entity_extractor.py +3 -0
  232. rasa/nlu/featurizers/dense_featurizer/convert_featurizer.py +4 -0
  233. rasa/nlu/featurizers/dense_featurizer/lm_featurizer.py +5 -0
  234. rasa/nlu/featurizers/dense_featurizer/mitie_featurizer.py +2 -0
  235. rasa/nlu/featurizers/dense_featurizer/spacy_featurizer.py +3 -0
  236. rasa/nlu/featurizers/sparse_featurizer/count_vectors_featurizer.py +4 -2
  237. rasa/nlu/featurizers/sparse_featurizer/lexical_syntactic_featurizer.py +4 -0
  238. rasa/nlu/selectors/response_selector.py +10 -2
  239. rasa/nlu/tokenizers/jieba_tokenizer.py +3 -4
  240. rasa/nlu/tokenizers/mitie_tokenizer.py +3 -2
  241. rasa/nlu/tokenizers/spacy_tokenizer.py +3 -2
  242. rasa/nlu/utils/mitie_utils.py +3 -0
  243. rasa/nlu/utils/spacy_utils.py +3 -2
  244. rasa/plugin.py +8 -8
  245. rasa/privacy/privacy_manager.py +12 -3
  246. rasa/server.py +15 -3
  247. rasa/shared/agents/__init__.py +0 -0
  248. rasa/shared/agents/auth/__init__.py +0 -0
  249. rasa/shared/agents/auth/agent_auth_factory.py +105 -0
  250. rasa/shared/agents/auth/agent_auth_manager.py +92 -0
  251. rasa/shared/agents/auth/auth_strategy/__init__.py +19 -0
  252. rasa/shared/agents/auth/auth_strategy/agent_auth_strategy.py +52 -0
  253. rasa/shared/agents/auth/auth_strategy/api_key_auth_strategy.py +42 -0
  254. rasa/shared/agents/auth/auth_strategy/bearer_token_auth_strategy.py +28 -0
  255. rasa/shared/agents/auth/auth_strategy/oauth2_auth_strategy.py +167 -0
  256. rasa/shared/agents/auth/constants.py +12 -0
  257. rasa/shared/agents/auth/types.py +12 -0
  258. rasa/shared/agents/utils.py +35 -0
  259. rasa/shared/constants.py +8 -0
  260. rasa/shared/core/constants.py +16 -1
  261. rasa/shared/core/domain.py +0 -7
  262. rasa/shared/core/events.py +327 -0
  263. rasa/shared/core/flows/constants.py +5 -0
  264. rasa/shared/core/flows/flow.py +1 -1
  265. rasa/shared/core/flows/flows_list.py +21 -5
  266. rasa/shared/core/flows/flows_yaml_schema.json +119 -184
  267. rasa/shared/core/flows/steps/call.py +49 -5
  268. rasa/shared/core/flows/steps/collect.py +98 -13
  269. rasa/shared/core/flows/validation.py +372 -8
  270. rasa/shared/core/flows/yaml_flows_io.py +3 -2
  271. rasa/shared/core/slots.py +2 -2
  272. rasa/shared/core/trackers.py +5 -2
  273. rasa/shared/exceptions.py +16 -0
  274. rasa/shared/importers/rasa.py +1 -1
  275. rasa/shared/importers/utils.py +9 -3
  276. rasa/shared/providers/llm/_base_litellm_client.py +41 -9
  277. rasa/shared/providers/llm/litellm_router_llm_client.py +8 -4
  278. rasa/shared/providers/llm/llm_client.py +7 -3
  279. rasa/shared/providers/llm/llm_response.py +66 -0
  280. rasa/shared/providers/llm/self_hosted_llm_client.py +8 -4
  281. rasa/shared/utils/common.py +24 -0
  282. rasa/shared/utils/health_check/health_check.py +7 -3
  283. rasa/shared/utils/llm.py +39 -16
  284. rasa/shared/utils/mcp/__init__.py +0 -0
  285. rasa/shared/utils/mcp/server_connection.py +247 -0
  286. rasa/shared/utils/mcp/utils.py +20 -0
  287. rasa/shared/utils/schemas/events.py +42 -0
  288. rasa/shared/utils/yaml.py +3 -1
  289. rasa/studio/pull/pull.py +3 -2
  290. rasa/studio/train.py +8 -7
  291. rasa/studio/upload.py +3 -6
  292. rasa/telemetry.py +69 -5
  293. rasa/tracing/config.py +45 -12
  294. rasa/tracing/constants.py +14 -0
  295. rasa/tracing/instrumentation/attribute_extractors.py +142 -9
  296. rasa/tracing/instrumentation/instrumentation.py +626 -21
  297. rasa/tracing/instrumentation/intentless_policy_instrumentation.py +4 -4
  298. rasa/tracing/instrumentation/metrics.py +32 -0
  299. rasa/tracing/metric_instrument_provider.py +68 -0
  300. rasa/utils/common.py +92 -1
  301. rasa/utils/endpoints.py +11 -2
  302. rasa/utils/log_utils.py +96 -5
  303. rasa/utils/ml_utils.py +1 -1
  304. rasa/utils/pypred.py +38 -0
  305. rasa/utils/tensorflow/__init__.py +7 -0
  306. rasa/utils/tensorflow/callback.py +136 -101
  307. rasa/utils/tensorflow/crf.py +1 -1
  308. rasa/utils/tensorflow/data_generator.py +21 -8
  309. rasa/utils/tensorflow/layers.py +21 -11
  310. rasa/utils/tensorflow/metrics.py +7 -3
  311. rasa/utils/tensorflow/models.py +56 -8
  312. rasa/utils/tensorflow/rasa_layers.py +8 -6
  313. rasa/utils/tensorflow/transformer.py +2 -3
  314. rasa/utils/train_utils.py +54 -24
  315. rasa/validator.py +17 -13
  316. rasa/version.py +1 -1
  317. {rasa_pro-3.14.0a22.dist-info → rasa_pro-3.14.0a23.dist-info}/METADATA +48 -42
  318. {rasa_pro-3.14.0a22.dist-info → rasa_pro-3.14.0a23.dist-info}/RECORD +321 -249
  319. rasa/builder/scrape_rasa_docs.py +0 -97
  320. rasa/cli/project_templates/finance/data/general/agent_details.yml +0 -6
  321. rasa/cli/project_templates/finance/domain/_system/patterns/pattern_session_start.yml +0 -11
  322. rasa/cli/project_templates/finance/domain/general/agent_details.yml +0 -31
  323. rasa/core/channels/inspector/dist/assets/channel-8e08bed9.js +0 -1
  324. rasa/core/channels/inspector/dist/assets/clone-78c82dea.js +0 -1
  325. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-2b08f601.js +0 -1
  326. rasa/core/channels/inspector/dist/assets/index-c941dcb3.js +0 -1336
  327. {rasa_pro-3.14.0a22.dist-info → rasa_pro-3.14.0a23.dist-info}/NOTICE +0 -0
  328. {rasa_pro-3.14.0a22.dist-info → rasa_pro-3.14.0a23.dist-info}/WHEEL +0 -0
  329. {rasa_pro-3.14.0a22.dist-info → rasa_pro-3.14.0a23.dist-info}/entry_points.txt +0 -0
@@ -1,97 +0,0 @@
1
- import json
2
- import os
3
- from pathlib import Path
4
- from urllib.parse import urljoin, urlparse
5
-
6
- import requests
7
- from bs4 import BeautifulSoup
8
-
9
- BASE_URL = "https://rasa.com"
10
- DOCS_ROOT = "https://rasa.com/docs"
11
- OUTPUT_DIR = "rasa_docs_md"
12
- MAX_PAGES = 100 # Optional limit for safety
13
-
14
- visited = set()
15
- to_visit = [DOCS_ROOT]
16
-
17
- os.makedirs(OUTPUT_DIR, exist_ok=True)
18
-
19
-
20
- def is_valid_doc_url(url: str) -> bool:
21
- return url.startswith(DOCS_ROOT) and not any(
22
- [url.endswith(".pdf"), "#" in url, "mailto:" in url]
23
- )
24
-
25
-
26
- def slugify_url(url: str) -> str:
27
- path = urlparse(url).path.strip("/").replace("/", "_")
28
- return path if path else "index"
29
-
30
-
31
- def clean_text(html: str) -> str:
32
- soup = BeautifulSoup(html, "html.parser")
33
-
34
- # Remove navs, footers, and code tabs (customize if needed)
35
- for tag in soup(["nav", "footer", "script", "style", "form", "button"]):
36
- tag.decompose()
37
-
38
- main = soup.find("main") or soup.body
39
- if not main:
40
- return ""
41
-
42
- # Replace <code> with backticks
43
- for code in main.find_all("code"):
44
- code.string = f"`{code.get_text(strip=True)}`"
45
-
46
- text = main.get_text(separator="\n", strip=True)
47
- return text
48
-
49
-
50
- def save_as_markdown(text: str, url: str) -> str:
51
- slug = slugify_url(url)
52
- file_name = f"{slug}.md"
53
- md_path = Path(OUTPUT_DIR) / file_name
54
- with open(md_path, "w", encoding="utf-8") as f:
55
- f.write(text)
56
-
57
- print(f"✅ Saved: {md_path}")
58
- return file_name
59
-
60
-
61
- pages_scraped = 0
62
- markdown_to_url = {}
63
-
64
- while to_visit and pages_scraped < MAX_PAGES:
65
- url = to_visit.pop(0)
66
- if url in visited:
67
- continue
68
-
69
- try:
70
- print(f"Scraping: {url}")
71
- response = requests.get(url)
72
- response.raise_for_status()
73
-
74
- html = response.text
75
- text = clean_text(html)
76
- if len(text) < 200: # skip very short pages
77
- print("⏭️ Skipped (too short)")
78
- continue
79
-
80
- file_name = save_as_markdown(text, url)
81
- markdown_to_url[file_name] = url
82
- pages_scraped += 1
83
-
84
- soup = BeautifulSoup(html, "html.parser")
85
- for link_tag in soup.find_all("a", href=True):
86
- link = urljoin(url, link_tag["href"])
87
- if is_valid_doc_url(link) and link not in visited:
88
- to_visit.append(link)
89
-
90
- visited.add(url)
91
-
92
- except Exception as e:
93
- print(f"⚠️ Failed to scrape {url}: {e}")
94
-
95
-
96
- with open("markdown_to_url.json", "w") as f:
97
- json.dump(markdown_to_url, f, indent=2)
@@ -1,6 +0,0 @@
1
- flows:
2
- agent_details:
3
- description: Flow to provide information about the assistant's capabilities and details
4
- name: assistant details
5
- steps:
6
- - action: utter_agent_details
@@ -1,11 +0,0 @@
1
- responses:
2
- utter_session_start_greeting:
3
- - text: "Hi! I'm {agent_name}, your {bank_name} banking agent. I'm here to help you with {skills_summary}."
4
- metadata:
5
- rephrase: True
6
- - text: "Hello! Welcome to {bank_name}. I'm {agent_name} and I can help you with banking tasks like {skills_summary}."
7
- metadata:
8
- rephrase: True
9
- - text: "Welcome to {bank_name}! I'm {agent_name}, ready to help with your banking needs."
10
- metadata:
11
- rephrase: True
@@ -1,31 +0,0 @@
1
- slots:
2
- bank_name:
3
- type: text
4
- initial_value: "Fenlo"
5
- mappings:
6
- - type: controlled
7
- skills_summary:
8
- type: text
9
- initial_value: "transferring money, managing authorised payees, checking an account balance, blocking a card, and answering your general finance enquiries"
10
- mappings:
11
- - type: controlled
12
- example_questions:
13
- type: text
14
- initial_value: |
15
- - What's my account balance?
16
- - Transfer $50 to Alice today.
17
- - Block my Visa temporarily.
18
- - Download my June 2024 statement as a PDF.
19
- mappings:
20
- - type: controlled
21
- agent_name:
22
- type: text
23
- initial_value: "Finley"
24
- mappings:
25
- - type: controlled
26
-
27
- responses:
28
- utter_agent_details:
29
- - text: "I can help you {skills_summary}. What do you need help with today?"
30
- metadata:
31
- rephrase: True
@@ -1 +0,0 @@
1
- import{aI as o,aJ as r}from"./index-c941dcb3.js";const s=(a,n)=>o.lang.round(r.parse(a)[n]),e=s;export{e as c};
@@ -1 +0,0 @@
1
- import{c as r}from"./graph-ee94449e.js";var e=4;function a(o){return r(o,e)}export{a as c};
@@ -1 +0,0 @@
1
- import{p as e,f as o}from"./flowDb-956e92f1-4f08b38e.js";import{f as t,g as a}from"./styles-c10674c1-b7110364.js";import{u as i}from"./index-c941dcb3.js";import"./graph-ee94449e.js";import"./layout-a9aa9858.js";import"./index-3862675e-940162b4.js";import"./clone-78c82dea.js";import"./edges-e0da2a9e-9039bff9.js";import"./createText-2e5e7dd3-b0f4f0fe.js";import"./line-eb73cf26.js";import"./array-9f3ba611.js";import"./path-53f90ab3.js";import"./channel-8e08bed9.js";const M={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{M as diagram};