rasa-pro 3.12.21__py3-none-any.whl → 3.13.0__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 (354) hide show
  1. rasa/__main__.py +3 -4
  2. rasa/api.py +1 -1
  3. rasa/cli/dialogue_understanding_test.py +1 -1
  4. rasa/cli/e2e_test.py +1 -8
  5. rasa/cli/evaluate.py +2 -2
  6. rasa/cli/export.py +5 -3
  7. rasa/cli/inspect.py +7 -0
  8. rasa/cli/llm_fine_tuning.py +1 -1
  9. rasa/cli/project_templates/default/config.yml +5 -32
  10. rasa/cli/project_templates/{calm → default}/e2e_tests/cancelations/user_cancels_during_a_correction.yml +1 -1
  11. rasa/cli/project_templates/{calm → default}/e2e_tests/cancelations/user_changes_mind_on_a_whim.yml +1 -1
  12. rasa/cli/project_templates/{calm → default}/e2e_tests/corrections/user_corrects_contact_handle.yml +1 -1
  13. rasa/cli/project_templates/{calm → default}/e2e_tests/corrections/user_corrects_contact_name.yml +1 -1
  14. rasa/cli/project_templates/{calm → default}/e2e_tests/happy_paths/user_adds_contact_to_their_list.yml +1 -1
  15. rasa/cli/project_templates/{calm → default}/e2e_tests/happy_paths/user_lists_contacts.yml +1 -1
  16. rasa/cli/project_templates/{calm → default}/e2e_tests/happy_paths/user_removes_contact.yml +1 -1
  17. rasa/cli/project_templates/{calm → default}/e2e_tests/happy_paths/user_removes_contact_from_list.yml +1 -1
  18. rasa/cli/project_templates/default/endpoints.yml +18 -2
  19. rasa/cli/project_templates/defaults.py +133 -0
  20. rasa/cli/project_templates/tutorial/config.yml +1 -1
  21. rasa/cli/project_templates/tutorial/endpoints.yml +1 -1
  22. rasa/cli/run.py +1 -1
  23. rasa/cli/scaffold.py +2 -3
  24. rasa/cli/shell.py +6 -1
  25. rasa/cli/studio/download.py +0 -22
  26. rasa/cli/studio/link.py +36 -0
  27. rasa/cli/studio/pull.py +79 -0
  28. rasa/cli/studio/push.py +78 -0
  29. rasa/cli/studio/studio.py +12 -0
  30. rasa/cli/studio/train.py +1 -5
  31. rasa/cli/studio/upload.py +6 -4
  32. rasa/cli/train.py +5 -1
  33. rasa/cli/utils.py +1 -1
  34. rasa/cli/x.py +1 -1
  35. rasa/constants.py +2 -0
  36. rasa/core/__init__.py +0 -16
  37. rasa/core/actions/action.py +43 -29
  38. rasa/core/actions/action_repeat_bot_messages.py +18 -22
  39. rasa/core/actions/action_run_slot_rejections.py +1 -2
  40. rasa/core/agent.py +24 -3
  41. rasa/core/available_endpoints.py +146 -0
  42. rasa/core/brokers/kafka.py +4 -0
  43. rasa/core/brokers/pika.py +5 -2
  44. rasa/core/brokers/sql.py +1 -1
  45. rasa/core/channels/__init__.py +3 -0
  46. rasa/core/channels/botframework.py +2 -2
  47. rasa/core/channels/channel.py +2 -2
  48. rasa/core/channels/development_inspector.py +1 -1
  49. rasa/core/channels/facebook.py +1 -4
  50. rasa/core/channels/hangouts.py +8 -5
  51. rasa/core/channels/inspector/.eslintrc.cjs +12 -6
  52. rasa/core/channels/inspector/.prettierrc +5 -0
  53. rasa/core/channels/inspector/README.md +11 -5
  54. rasa/core/channels/inspector/dist/assets/{arc-9f75cc3b.js → arc-371401b1.js} +1 -1
  55. rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-7f34db23.js → blockDiagram-38ab4fdb-3f126156.js} +1 -1
  56. rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-948bab2c.js → c4Diagram-3d4e48cf-12f22eb7.js} +1 -1
  57. rasa/core/channels/inspector/dist/assets/channel-f1efda17.js +1 -0
  58. rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-53b0dd0e.js → classDiagram-70f12bd4-03b1d386.js} +1 -1
  59. rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-fdf789e7.js → classDiagram-v2-f2320105-84f69d63.js} +1 -1
  60. rasa/core/channels/inspector/dist/assets/clone-fdf164e2.js +1 -0
  61. rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-87c4ece5.js → createText-2e5e7dd3-ca47fd38.js} +1 -1
  62. rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-5a8b0749.js → edges-e0da2a9e-f837ca8a.js} +1 -1
  63. rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-66da90e2.js → erDiagram-9861fffd-8717ac54.js} +1 -1
  64. rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-10044f05.js → flowDb-956e92f1-94f38b83.js} +1 -1
  65. rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-f338f66a.js → flowDiagram-66a62f08-b616f9fb.js} +1 -1
  66. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-7d7a1629.js +1 -0
  67. rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-b13140aa.js → flowchart-elk-definition-4a651766-f5d24bb8.js} +1 -1
  68. rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-f2b4a55a.js → ganttDiagram-c361ad54-b43ba8d9.js} +1 -1
  69. rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-dedc298d.js → gitGraphDiagram-72cf32ee-c3aafaa5.js} +1 -1
  70. rasa/core/channels/inspector/dist/assets/{graph-4ede11ff.js → graph-0d0a2c10.js} +1 -1
  71. rasa/core/channels/inspector/dist/assets/{index-3862675e-65549d37.js → index-3862675e-58ea0305.js} +1 -1
  72. rasa/core/channels/inspector/dist/assets/{index-3a23e736.js → index-cce6f8a1.js} +123 -123
  73. rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-65439671.js → infoDiagram-f8f76790-b8f60461.js} +1 -1
  74. rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-56d03d98.js → journeyDiagram-49397b02-95be5545.js} +1 -1
  75. rasa/core/channels/inspector/dist/assets/{layout-dd48f7f4.js → layout-da885b9b.js} +1 -1
  76. rasa/core/channels/inspector/dist/assets/{line-1569ad2c.js → line-f1c817d3.js} +1 -1
  77. rasa/core/channels/inspector/dist/assets/{linear-48bf4935.js → linear-d42801e6.js} +1 -1
  78. rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-688504c1.js → mindmap-definition-fc14e90a-a38923a6.js} +1 -1
  79. rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-78b6d7e6.js → pieDiagram-8a3498a8-ca6e71e9.js} +1 -1
  80. rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-048b84b3.js → quadrantDiagram-120e2f19-b290dae9.js} +1 -1
  81. rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-dd67f107.js → requirementDiagram-deff3bca-03f02ceb.js} +1 -1
  82. rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-8128436e.js → sankeyDiagram-04a897e0-c49eee40.js} +1 -1
  83. rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-1a0d1461.js → sequenceDiagram-704730f1-b2cd6a3d.js} +1 -1
  84. rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-46d388ed.js → stateDiagram-587899a1-e53a2028.js} +1 -1
  85. rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-ea42951a.js → stateDiagram-v2-d93cdb3a-e1982a03.js} +1 -1
  86. rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-7427ed0c.js → styles-6aaf32cf-d0226ca5.js} +1 -1
  87. rasa/core/channels/inspector/dist/assets/{styles-9a916d00-ff5e5a16.js → styles-9a916d00-0e21dc00.js} +1 -1
  88. rasa/core/channels/inspector/dist/assets/{styles-c10674c1-7b3680cf.js → styles-c10674c1-9588494e.js} +1 -1
  89. rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-f860f2ad.js → svgDrawCommon-08f97a94-be478d4f.js} +1 -1
  90. rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-2eebf0c8.js → timeline-definition-85554ec2-74631749.js} +1 -1
  91. rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-5d7f4e96.js → xychartDiagram-e933f94c-a043552f.js} +1 -1
  92. rasa/core/channels/inspector/dist/index.html +1 -1
  93. rasa/core/channels/inspector/package.json +3 -1
  94. rasa/core/channels/inspector/src/App.tsx +91 -90
  95. rasa/core/channels/inspector/src/components/Chat.tsx +45 -41
  96. rasa/core/channels/inspector/src/components/DiagramFlow.tsx +40 -40
  97. rasa/core/channels/inspector/src/components/DialogueInformation.tsx +57 -57
  98. rasa/core/channels/inspector/src/components/DialogueStack.tsx +36 -27
  99. rasa/core/channels/inspector/src/components/ExpandIcon.tsx +4 -4
  100. rasa/core/channels/inspector/src/components/FullscreenButton.tsx +7 -7
  101. rasa/core/channels/inspector/src/components/LoadingSpinner.tsx +28 -12
  102. rasa/core/channels/inspector/src/components/NoActiveFlow.tsx +9 -9
  103. rasa/core/channels/inspector/src/components/RasaLogo.tsx +5 -5
  104. rasa/core/channels/inspector/src/components/RecruitmentPanel.tsx +55 -60
  105. rasa/core/channels/inspector/src/components/SaraDiagrams.tsx +5 -5
  106. rasa/core/channels/inspector/src/components/Slots.tsx +22 -22
  107. rasa/core/channels/inspector/src/components/Welcome.tsx +28 -31
  108. rasa/core/channels/inspector/src/helpers/audio/audiostream.ts +245 -0
  109. rasa/core/channels/inspector/src/helpers/audio/microphone-processor.js +12 -0
  110. rasa/core/channels/inspector/src/helpers/audio/playback-processor.js +36 -0
  111. rasa/core/channels/inspector/src/helpers/conversation.ts +7 -7
  112. rasa/core/channels/inspector/src/helpers/formatters.test.ts +181 -181
  113. rasa/core/channels/inspector/src/helpers/formatters.ts +111 -111
  114. rasa/core/channels/inspector/src/helpers/utils.ts +78 -61
  115. rasa/core/channels/inspector/src/main.tsx +8 -8
  116. rasa/core/channels/inspector/src/theme/Button/Button.ts +8 -8
  117. rasa/core/channels/inspector/src/theme/Heading/Heading.ts +7 -7
  118. rasa/core/channels/inspector/src/theme/Input/Input.ts +9 -9
  119. rasa/core/channels/inspector/src/theme/Link/Link.ts +6 -6
  120. rasa/core/channels/inspector/src/theme/Modal/Modal.ts +13 -13
  121. rasa/core/channels/inspector/src/theme/Table/Table.tsx +10 -10
  122. rasa/core/channels/inspector/src/theme/Tooltip/Tooltip.ts +5 -5
  123. rasa/core/channels/inspector/src/theme/base/breakpoints.ts +7 -7
  124. rasa/core/channels/inspector/src/theme/base/colors.ts +64 -64
  125. rasa/core/channels/inspector/src/theme/base/fonts/fontFaces.css +21 -18
  126. rasa/core/channels/inspector/src/theme/base/radii.ts +8 -8
  127. rasa/core/channels/inspector/src/theme/base/shadows.ts +5 -5
  128. rasa/core/channels/inspector/src/theme/base/sizes.ts +5 -5
  129. rasa/core/channels/inspector/src/theme/base/space.ts +12 -12
  130. rasa/core/channels/inspector/src/theme/base/styles.ts +5 -5
  131. rasa/core/channels/inspector/src/theme/base/typography.ts +12 -12
  132. rasa/core/channels/inspector/src/theme/base/zIndices.ts +3 -3
  133. rasa/core/channels/inspector/src/theme/index.ts +38 -38
  134. rasa/core/channels/inspector/src/types.ts +56 -50
  135. rasa/core/channels/inspector/yarn.lock +5 -0
  136. rasa/core/channels/mattermost.py +1 -1
  137. rasa/core/channels/rasa_chat.py +2 -4
  138. rasa/core/channels/rest.py +5 -4
  139. rasa/core/channels/socketio.py +56 -41
  140. rasa/core/channels/studio_chat.py +329 -68
  141. rasa/core/channels/vier_cvg.py +1 -2
  142. rasa/core/channels/voice_ready/audiocodes.py +4 -11
  143. rasa/core/channels/voice_ready/jambonz.py +5 -6
  144. rasa/core/channels/voice_ready/twilio_voice.py +13 -12
  145. rasa/core/channels/voice_ready/utils.py +22 -0
  146. rasa/core/channels/voice_stream/audiocodes.py +13 -16
  147. rasa/core/channels/voice_stream/browser_audio.py +1 -1
  148. rasa/core/channels/voice_stream/genesys.py +37 -18
  149. rasa/core/channels/voice_stream/jambonz.py +232 -0
  150. rasa/core/channels/voice_stream/tts/__init__.py +8 -0
  151. rasa/core/channels/voice_stream/twilio_media_streams.py +15 -12
  152. rasa/core/channels/voice_stream/voice_channel.py +71 -27
  153. rasa/core/concurrent_lock_store.py +24 -10
  154. rasa/core/evaluation/marker_tracker_loader.py +1 -1
  155. rasa/core/exporter.py +37 -1
  156. rasa/core/http_interpreter.py +3 -7
  157. rasa/core/information_retrieval/faiss.py +18 -11
  158. rasa/core/information_retrieval/ingestion/faq_parser.py +158 -0
  159. rasa/core/jobs.py +2 -1
  160. rasa/core/lock_store.py +151 -60
  161. rasa/core/nlg/contextual_response_rephraser.py +17 -7
  162. rasa/core/nlg/generator.py +5 -22
  163. rasa/core/nlg/interpolator.py +2 -3
  164. rasa/core/nlg/response.py +6 -43
  165. rasa/core/nlg/summarize.py +1 -1
  166. rasa/core/nlg/translate.py +0 -8
  167. rasa/core/policies/enterprise_search_policy.py +305 -189
  168. rasa/core/policies/enterprise_search_policy_config.py +241 -0
  169. rasa/core/policies/enterprise_search_prompt_with_relevancy_check_and_citation_template.jinja2 +67 -0
  170. rasa/core/policies/flow_policy.py +1 -1
  171. rasa/core/policies/flows/flow_executor.py +102 -17
  172. rasa/core/policies/intentless_policy.py +56 -17
  173. rasa/core/processor.py +70 -49
  174. rasa/core/run.py +33 -11
  175. rasa/core/tracker_stores/__init__.py +0 -0
  176. rasa/core/{auth_retry_tracker_store.py → tracker_stores/auth_retry_tracker_store.py} +66 -1
  177. rasa/core/tracker_stores/dynamo_tracker_store.py +256 -0
  178. rasa/core/tracker_stores/mongo_tracker_store.py +223 -0
  179. rasa/core/tracker_stores/redis_tracker_store.py +252 -0
  180. rasa/core/tracker_stores/sql_tracker_store.py +582 -0
  181. rasa/core/tracker_stores/tracker_store.py +839 -0
  182. rasa/core/training/interactive.py +1 -1
  183. rasa/core/utils.py +24 -95
  184. rasa/dialogue_understanding/coexistence/intent_based_router.py +2 -1
  185. rasa/dialogue_understanding/coexistence/llm_based_router.py +13 -11
  186. rasa/dialogue_understanding/commands/can_not_handle_command.py +2 -0
  187. rasa/dialogue_understanding/commands/cancel_flow_command.py +3 -1
  188. rasa/dialogue_understanding/commands/chit_chat_answer_command.py +2 -0
  189. rasa/dialogue_understanding/commands/clarify_command.py +6 -2
  190. rasa/dialogue_understanding/commands/command_syntax_manager.py +1 -0
  191. rasa/dialogue_understanding/commands/correct_slots_command.py +5 -6
  192. rasa/dialogue_understanding/commands/error_command.py +1 -1
  193. rasa/dialogue_understanding/commands/human_handoff_command.py +3 -3
  194. rasa/dialogue_understanding/commands/knowledge_answer_command.py +2 -0
  195. rasa/dialogue_understanding/commands/repeat_bot_messages_command.py +2 -0
  196. rasa/dialogue_understanding/commands/set_slot_command.py +8 -4
  197. rasa/dialogue_understanding/commands/skip_question_command.py +3 -3
  198. rasa/dialogue_understanding/commands/start_flow_command.py +7 -3
  199. rasa/dialogue_understanding/generator/__init__.py +7 -1
  200. rasa/dialogue_understanding/generator/command_generator.py +4 -2
  201. rasa/dialogue_understanding/generator/command_parser.py +2 -2
  202. rasa/dialogue_understanding/generator/command_parser_validator.py +63 -0
  203. rasa/dialogue_understanding/generator/llm_based_command_generator.py +1 -2
  204. rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +3 -2
  205. rasa/dialogue_understanding/generator/nlu_command_adapter.py +2 -2
  206. rasa/dialogue_understanding/generator/prompt_templates/command_prompt_template.jinja2 +0 -2
  207. rasa/dialogue_understanding/generator/prompt_templates/command_prompt_v2_claude_3_5_sonnet_20240620_template.jinja2 +1 -0
  208. rasa/dialogue_understanding/generator/prompt_templates/command_prompt_v2_gpt_4o_2024_11_20_template.jinja2 +1 -0
  209. rasa/dialogue_understanding/generator/prompt_templates/command_prompt_v3_claude_3_5_sonnet_20240620_template.jinja2 +79 -0
  210. rasa/dialogue_understanding/generator/prompt_templates/command_prompt_v3_gpt_4o_2024_11_20_template.jinja2 +79 -0
  211. rasa/dialogue_understanding/generator/single_step/compact_llm_command_generator.py +26 -461
  212. rasa/dialogue_understanding/generator/single_step/search_ready_llm_command_generator.py +147 -0
  213. rasa/dialogue_understanding/generator/single_step/single_step_based_llm_command_generator.py +461 -0
  214. rasa/dialogue_understanding/generator/single_step/single_step_llm_command_generator.py +20 -64
  215. rasa/dialogue_understanding/patterns/cancel.py +1 -2
  216. rasa/dialogue_understanding/patterns/clarify.py +1 -1
  217. rasa/dialogue_understanding/patterns/correction.py +2 -2
  218. rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +42 -27
  219. rasa/dialogue_understanding/patterns/domain_for_patterns.py +190 -0
  220. rasa/dialogue_understanding/processor/command_processor.py +6 -7
  221. rasa/dialogue_understanding_test/command_metric_calculation.py +7 -40
  222. rasa/dialogue_understanding_test/command_metrics.py +38 -0
  223. rasa/dialogue_understanding_test/du_test_case.py +58 -25
  224. rasa/dialogue_understanding_test/du_test_result.py +228 -132
  225. rasa/dialogue_understanding_test/du_test_runner.py +11 -2
  226. rasa/dialogue_understanding_test/du_test_schema.yml +3 -3
  227. rasa/dialogue_understanding_test/io.py +35 -8
  228. rasa/e2e_test/constants.py +1 -1
  229. rasa/e2e_test/e2e_test_runner.py +1 -1
  230. rasa/e2e_test/e2e_test_schema.yml +3 -3
  231. rasa/engine/constants.py +1 -1
  232. rasa/engine/graph.py +2 -2
  233. rasa/engine/recipes/default_recipe.py +1 -1
  234. rasa/engine/validation.py +3 -2
  235. rasa/hooks.py +2 -30
  236. rasa/llm_fine_tuning/paraphrasing/conversation_rephraser.py +2 -6
  237. rasa/model_manager/model_api.py +89 -1
  238. rasa/model_manager/runner_service.py +20 -4
  239. rasa/model_manager/socket_bridge.py +0 -7
  240. rasa/model_manager/trainer_service.py +10 -4
  241. rasa/plugin.py +2 -15
  242. rasa/privacy/__init__.py +0 -0
  243. rasa/privacy/constants.py +83 -0
  244. rasa/privacy/event_broker_utils.py +77 -0
  245. rasa/privacy/privacy_config.py +281 -0
  246. rasa/privacy/privacy_config_schema.json +86 -0
  247. rasa/privacy/privacy_filter.py +393 -0
  248. rasa/privacy/privacy_manager.py +594 -0
  249. rasa/server.py +23 -2
  250. rasa/shared/constants.py +17 -0
  251. rasa/shared/core/command_payload_reader.py +1 -5
  252. rasa/shared/core/constants.py +4 -3
  253. rasa/shared/core/domain.py +172 -11
  254. rasa/shared/core/events.py +100 -6
  255. rasa/shared/core/flows/flow.py +30 -5
  256. rasa/shared/core/flows/flow_step.py +19 -3
  257. rasa/shared/core/flows/flow_step_links.py +15 -0
  258. rasa/shared/core/flows/flow_step_sequence.py +6 -0
  259. rasa/shared/core/flows/flows_yaml_schema.json +3 -0
  260. rasa/shared/core/flows/nlu_trigger.py +13 -0
  261. rasa/shared/core/flows/steps/action.py +7 -4
  262. rasa/shared/core/flows/steps/call.py +11 -4
  263. rasa/shared/core/flows/steps/collect.py +71 -6
  264. rasa/shared/core/flows/steps/internal.py +6 -1
  265. rasa/shared/core/flows/steps/link.py +7 -4
  266. rasa/shared/core/flows/steps/no_operation.py +7 -4
  267. rasa/shared/core/flows/steps/set_slots.py +8 -4
  268. rasa/shared/core/flows/validation.py +25 -5
  269. rasa/shared/core/flows/yaml_flows_io.py +106 -5
  270. rasa/shared/core/slots.py +29 -1
  271. rasa/shared/core/trackers.py +21 -10
  272. rasa/shared/core/training_data/story_reader/yaml_story_reader.py +1 -4
  273. rasa/shared/importers/importer.py +8 -0
  274. rasa/shared/providers/_configs/azure_openai_client_config.py +2 -2
  275. rasa/shared/providers/_configs/default_litellm_client_config.py +1 -1
  276. rasa/shared/providers/_configs/huggingface_local_embedding_client_config.py +1 -1
  277. rasa/shared/providers/_configs/openai_client_config.py +1 -1
  278. rasa/shared/providers/_configs/rasa_llm_client_config.py +1 -1
  279. rasa/shared/providers/_configs/self_hosted_llm_client_config.py +1 -1
  280. rasa/shared/providers/_configs/utils.py +0 -99
  281. rasa/shared/providers/llm/default_litellm_llm_client.py +2 -2
  282. rasa/shared/utils/common.py +43 -1
  283. rasa/shared/utils/configs.py +110 -0
  284. rasa/shared/utils/constants.py +0 -3
  285. rasa/shared/utils/llm.py +245 -8
  286. rasa/shared/utils/pykwalify_extensions.py +0 -9
  287. rasa/shared/utils/yaml.py +32 -0
  288. rasa/studio/constants.py +1 -0
  289. rasa/studio/data_handler.py +33 -12
  290. rasa/studio/download.py +117 -435
  291. rasa/studio/link.py +211 -0
  292. rasa/studio/prompts.py +221 -0
  293. rasa/studio/pull/__init__.py +0 -0
  294. rasa/studio/pull/data.py +222 -0
  295. rasa/studio/pull/domains.py +60 -0
  296. rasa/studio/pull/pull.py +239 -0
  297. rasa/studio/push.py +138 -0
  298. rasa/studio/results_logger.py +6 -1
  299. rasa/studio/train.py +1 -1
  300. rasa/studio/upload.py +243 -72
  301. rasa/studio/utils.py +33 -0
  302. rasa/telemetry.py +83 -26
  303. rasa/tracing/config.py +4 -5
  304. rasa/tracing/constants.py +19 -1
  305. rasa/tracing/instrumentation/attribute_extractors.py +68 -16
  306. rasa/tracing/instrumentation/instrumentation.py +54 -3
  307. rasa/tracing/instrumentation/metrics.py +98 -15
  308. rasa/tracing/metric_instrument_provider.py +75 -3
  309. rasa/utils/common.py +43 -22
  310. rasa/utils/endpoints.py +22 -1
  311. rasa/utils/licensing.py +2 -3
  312. rasa/utils/log_utils.py +1 -45
  313. rasa/validator.py +2 -8
  314. rasa/version.py +1 -1
  315. {rasa_pro-3.12.21.dist-info → rasa_pro-3.13.0.dist-info}/METADATA +13 -14
  316. {rasa_pro-3.12.21.dist-info → rasa_pro-3.13.0.dist-info}/RECORD +333 -309
  317. rasa/anonymization/__init__.py +0 -2
  318. rasa/anonymization/anonymisation_rule_yaml_reader.py +0 -91
  319. rasa/anonymization/anonymization_pipeline.py +0 -286
  320. rasa/anonymization/anonymization_rule_executor.py +0 -266
  321. rasa/anonymization/anonymization_rule_orchestrator.py +0 -119
  322. rasa/anonymization/schemas/config.yml +0 -47
  323. rasa/anonymization/utils.py +0 -118
  324. rasa/cli/project_templates/calm/config.yml +0 -10
  325. rasa/cli/project_templates/calm/credentials.yml +0 -33
  326. rasa/cli/project_templates/calm/endpoints.yml +0 -58
  327. rasa/cli/project_templates/default/actions/actions.py +0 -27
  328. rasa/cli/project_templates/default/data/nlu.yml +0 -91
  329. rasa/cli/project_templates/default/data/rules.yml +0 -13
  330. rasa/cli/project_templates/default/data/stories.yml +0 -30
  331. rasa/cli/project_templates/default/domain.yml +0 -34
  332. rasa/cli/project_templates/default/tests/test_stories.yml +0 -91
  333. rasa/core/channels/inspector/dist/assets/channel-dfa68278.js +0 -1
  334. rasa/core/channels/inspector/dist/assets/clone-edb7f119.js +0 -1
  335. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-65e7c670.js +0 -1
  336. rasa/core/channels/inspector/src/helpers/audiostream.ts +0 -191
  337. rasa/core/tracker_store.py +0 -1792
  338. /rasa/cli/project_templates/{calm → default}/actions/action_template.py +0 -0
  339. /rasa/cli/project_templates/{calm → default}/actions/add_contact.py +0 -0
  340. /rasa/cli/project_templates/{calm → default}/actions/db.py +0 -0
  341. /rasa/cli/project_templates/{calm → default}/actions/list_contacts.py +0 -0
  342. /rasa/cli/project_templates/{calm → default}/actions/remove_contact.py +0 -0
  343. /rasa/cli/project_templates/{calm → default}/data/flows/add_contact.yml +0 -0
  344. /rasa/cli/project_templates/{calm → default}/data/flows/list_contacts.yml +0 -0
  345. /rasa/cli/project_templates/{calm → default}/data/flows/remove_contact.yml +0 -0
  346. /rasa/cli/project_templates/{calm → default}/db/contacts.json +0 -0
  347. /rasa/cli/project_templates/{calm → default}/domain/add_contact.yml +0 -0
  348. /rasa/cli/project_templates/{calm → default}/domain/list_contacts.yml +0 -0
  349. /rasa/cli/project_templates/{calm → default}/domain/remove_contact.yml +0 -0
  350. /rasa/cli/project_templates/{calm → default}/domain/shared.yml +0 -0
  351. /rasa/{cli/project_templates/calm/actions → core/information_retrieval/ingestion}/__init__.py +0 -0
  352. {rasa_pro-3.12.21.dist-info → rasa_pro-3.13.0.dist-info}/NOTICE +0 -0
  353. {rasa_pro-3.12.21.dist-info → rasa_pro-3.13.0.dist-info}/WHEEL +0 -0
  354. {rasa_pro-3.12.21.dist-info → rasa_pro-3.13.0.dist-info}/entry_points.txt +0 -0
@@ -4,61 +4,61 @@ import {
4
4
  useTheme,
5
5
  ChakraTheme,
6
6
  type ThemeConfig,
7
- } from "@chakra-ui/react";
8
- import { breakpoints, Breakpoints } from "./base/breakpoints";
9
- import { rasaColors, RasaColors } from "./base/colors";
10
- import { rasaRadii, RasaRadii } from "./base/radii";
11
- import { rasaShadows, RasaShadows } from "./base/shadows";
12
- import { rasaSizes, RasaSizes } from "./base/sizes";
13
- import { rasaSpace, RasaSpace } from "./base/space";
14
- import { rasaZIndices, RasaZIndices } from "./base/zIndices";
15
- import { styles } from "./base/styles";
7
+ } from '@chakra-ui/react'
8
+ import { breakpoints, Breakpoints } from './base/breakpoints'
9
+ import { rasaColors, RasaColors } from './base/colors'
10
+ import { rasaRadii, RasaRadii } from './base/radii'
11
+ import { rasaShadows, RasaShadows } from './base/shadows'
12
+ import { rasaSizes, RasaSizes } from './base/sizes'
13
+ import { rasaSpace, RasaSpace } from './base/space'
14
+ import { rasaZIndices, RasaZIndices } from './base/zIndices'
15
+ import { styles } from './base/styles'
16
16
  import {
17
17
  fonts,
18
18
  rasaFontSizes,
19
19
  rasaFontWeights,
20
20
  RasaFontSizes,
21
21
  RasaFontWeights,
22
- } from "./base/typography";
22
+ } from './base/typography'
23
23
 
24
24
  // Custom components
25
- import { Button } from "./Button/Button";
26
- import { Heading } from "./Heading/Heading";
27
- import { Input } from "./Input/Input";
28
- import { Link } from "./Link/Link";
29
- import { Table } from "./Table/Table";
30
- import { Modal } from "./Modal/Modal";
31
- import { Tooltip } from "./Tooltip/Tooltip";
25
+ import { Button } from './Button/Button'
26
+ import { Heading } from './Heading/Heading'
27
+ import { Input } from './Input/Input'
28
+ import { Link } from './Link/Link'
29
+ import { Table } from './Table/Table'
30
+ import { Modal } from './Modal/Modal'
31
+ import { Tooltip } from './Tooltip/Tooltip'
32
32
 
33
33
  export interface CustomTheme {
34
34
  // default types
35
- config: ThemeConfig;
36
- semanticTokens: ChakraTheme["semanticTokens"];
37
- direction: ChakraTheme["direction"];
38
- transition: ChakraTheme["transition"];
35
+ config: ThemeConfig
36
+ semanticTokens: ChakraTheme['semanticTokens']
37
+ direction: ChakraTheme['direction']
38
+ transition: ChakraTheme['transition']
39
39
 
40
40
  // we merge & override
41
- styles: ChakraTheme["styles"];
42
- fonts: RasaFontSizes;
43
- breakpoints: Breakpoints;
41
+ styles: ChakraTheme['styles']
42
+ fonts: RasaFontSizes
43
+ breakpoints: Breakpoints
44
44
 
45
45
  // we also merge & override, but use custom color names
46
- colors: RasaColors;
46
+ colors: RasaColors
47
47
 
48
48
  // custom key & types
49
- rasaFontSizes: RasaFontSizes;
50
- rasaFontWeights: RasaFontWeights;
51
- rasaRadii: RasaRadii;
52
- rasaSpace: RasaSpace;
53
- rasaShadows: RasaShadows;
54
- rasaSizes: RasaSizes;
55
- zIndices: ChakraTheme["zIndices"] & RasaZIndices;
49
+ rasaFontSizes: RasaFontSizes
50
+ rasaFontWeights: RasaFontWeights
51
+ rasaRadii: RasaRadii
52
+ rasaSpace: RasaSpace
53
+ rasaShadows: RasaShadows
54
+ rasaSizes: RasaSizes
55
+ zIndices: ChakraTheme['zIndices'] & RasaZIndices
56
56
  }
57
57
 
58
58
  const config: ThemeConfig = {
59
- initialColorMode: "light",
59
+ initialColorMode: 'light',
60
60
  useSystemColorMode: false,
61
- };
61
+ }
62
62
 
63
63
  // Extend theme deep merges with the default Chakra theme.
64
64
  // We try to keep many defaults in tact to support
@@ -93,9 +93,9 @@ export const theme = extendTheme(
93
93
  rasaSizes,
94
94
  zIndices: rasaZIndices,
95
95
  },
96
- withDefaultColorScheme({ colorScheme: "rasaPurple" })
97
- );
96
+ withDefaultColorScheme({ colorScheme: 'rasaPurple' }),
97
+ )
98
98
 
99
99
  export const useOurTheme = () => {
100
- return useTheme<CustomTheme>();
101
- };
100
+ return useTheme<CustomTheme>()
101
+ }
@@ -1,84 +1,90 @@
1
1
  export interface Slot {
2
- name: string;
2
+ name: string
3
3
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
- value: any;
4
+ value: any
5
5
  }
6
6
 
7
7
  export interface Event {
8
- event: "user" | "bot" | "flow_completed" | "flow_started" | "stack" | "restart" | "session_ended";
9
- text?: string;
10
- timestamp: string;
11
- update?: string;
12
- parse_data?: { commands: Command[] };
13
- metadata?: { utter_action?: string };
8
+ event:
9
+ | 'user'
10
+ | 'bot'
11
+ | 'flow_completed'
12
+ | 'flow_started'
13
+ | 'stack'
14
+ | 'restart'
15
+ | 'session_ended'
16
+ text?: string
17
+ timestamp: string
18
+ update?: string
19
+ parse_data?: { commands: Command[] }
20
+ metadata?: { utter_action?: string }
14
21
  }
15
22
 
16
23
  export interface Command {
17
- command: string;
18
- flow?: string;
19
- name?: string;
20
- value?: string;
24
+ command: string
25
+ flow?: string
26
+ name?: string
27
+ value?: string
21
28
  }
22
29
 
23
30
  export interface SelectedStack {
24
- stack: Stack;
25
- activatedSteps: string[];
26
- isUserSelected: boolean;
31
+ stack: Stack
32
+ activatedSteps: string[]
33
+ isUserSelected: boolean
27
34
  }
28
35
 
29
36
  export interface Stack {
30
- frame_id: string;
31
- flow_id: string;
32
- step_id: string;
33
- collect?: string;
34
- utter?: string;
35
- ended: boolean;
37
+ frame_id: string
38
+ flow_id: string
39
+ step_id: string
40
+ collect?: string
41
+ utter?: string
42
+ ended: boolean
36
43
  }
37
44
 
38
45
  export interface Tracker {
39
- sender_id: string;
40
- slots: { [key: string]: unknown };
41
- events: Event[];
42
- stack: Stack[];
46
+ sender_id: string
47
+ slots: { [key: string]: unknown }
48
+ events: Event[]
49
+ stack: Stack[]
43
50
  }
44
51
 
45
-
46
52
  export interface Flow {
47
- id: string;
48
- description: string;
49
- name: string;
50
- steps: Step[];
53
+ id: string
54
+ description: string
55
+ name: string
56
+ steps: Step[]
51
57
  }
52
58
 
53
59
  interface NextStepThen {
54
- action: string;
55
- id: string;
56
- next: string;
57
- set_slots: unknown[];
60
+ action: string
61
+ id: string
62
+ next: string
63
+ set_slots: unknown[]
58
64
  }
59
65
 
60
66
  interface NextStepIf {
61
- if: string;
62
- then: NextStepThen[];
67
+ if: string
68
+ then: NextStepThen[]
63
69
  }
64
70
 
65
71
  interface NextStepElse {
66
- if: string;
67
- then: NextStepThen[];
68
- else: string;
72
+ if: string
73
+ then: NextStepThen[]
74
+ else: string
69
75
  }
70
76
 
71
- export type NextStep = NextStepIf | NextStepElse;
77
+ export type NextStep = NextStepIf | NextStepElse
72
78
 
73
79
  interface Step {
74
- ask_before_filling: boolean;
75
- collect: string;
76
- action: string;
77
- link: string;
78
- description: string;
79
- id: string;
80
- next: string | NextStep[];
81
- reset_after_flow_ends: boolean;
82
- utter: string;
83
- set_slots?: unknown;
80
+ ask_before_filling: boolean
81
+ collect: string
82
+ action: string
83
+ link: string
84
+ description: string
85
+ id: string
86
+ next: string | NextStep[]
87
+ reset_after_flow_ends: boolean
88
+ utter: string
89
+ set_slots?: unknown
84
90
  }
@@ -5280,6 +5280,11 @@ prelude-ls@^1.2.1:
5280
5280
  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
5281
5281
  integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
5282
5282
 
5283
+ prettier@^3.5.3:
5284
+ version "3.5.3"
5285
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.5.3.tgz#4fc2ce0d657e7a02e602549f053b239cb7dfe1b5"
5286
+ integrity sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==
5287
+
5283
5288
  pretty-format@^27.0.2:
5284
5289
  version "27.5.1"
5285
5290
  resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e"
@@ -28,7 +28,7 @@ class MattermostBot(OutputChannel):
28
28
  if r.status_code == 200:
29
29
  return r.headers["Token"]
30
30
  else:
31
- logger.error(f"Failed to login mattermost user {user}. Response: {r}")
31
+ logger.error(f"Failed to login mattermost user. Response: {r}")
32
32
  return None
33
33
 
34
34
  def __init__(
@@ -107,10 +107,8 @@ class RasaChatInput(RestInput):
107
107
  return req.json[CONVERSATION_ID_KEY]
108
108
  else:
109
109
  logger.error(
110
- "User '{}' does not have permissions to send messages to "
111
- "conversation '{}'.".format(
112
- jwt_payload[JWT_USERNAME_KEY], req.json[CONVERSATION_ID_KEY]
113
- )
110
+ "User does not have permissions to send messages to "
111
+ "conversation '{}'.".format(req.json[CONVERSATION_ID_KEY])
114
112
  )
115
113
  raise SanicException(status_code=401)
116
114
 
@@ -1,5 +1,4 @@
1
1
  import asyncio
2
- import copy
3
2
  import inspect
4
3
  import json
5
4
  import logging
@@ -166,11 +165,13 @@ class RestInput(InputChannel):
166
165
  )
167
166
  except CancelledError:
168
167
  structlogger.error(
169
- "rest.message.received.timeout", text=copy.deepcopy(text)
168
+ "rest.message.received.timeout",
169
+ event_info="Message processing was cancelled.",
170
170
  )
171
- except Exception:
171
+ except Exception as e:
172
172
  structlogger.exception(
173
- "rest.message.received.failure", text=copy.deepcopy(text)
173
+ "rest.message.received.failure",
174
+ event_info=f"Message processing failed. Error: {e}",
174
175
  )
175
176
 
176
177
  return response.json(collector.messages)
@@ -191,6 +191,60 @@ class SocketIOInput(InputChannel):
191
191
  return None
192
192
  return SocketIOOutput(self.sio, self.bot_message_evt)
193
193
 
194
+ async def handle_session_request(
195
+ self, sid: Text, data: Optional[Dict] = None
196
+ ) -> None:
197
+ """Handles session requests from the client."""
198
+ if data is None:
199
+ data = {}
200
+ if "session_id" not in data or data["session_id"] is None:
201
+ data["session_id"] = uuid.uuid4().hex
202
+ if self.session_persistence:
203
+ if inspect.iscoroutinefunction(self.sio.enter_room): # type: ignore[union-attr]
204
+ await self.sio.enter_room(sid, data["session_id"]) # type: ignore[union-attr]
205
+ else:
206
+ # for backwards compatibility with python-socketio < 5.10.
207
+ # previously, this function was NOT async.
208
+ self.sio.enter_room(sid, data["session_id"]) # type: ignore[union-attr]
209
+ await self.sio.emit("session_confirm", data["session_id"], room=sid) # type: ignore[union-attr]
210
+ logger.debug(f"User {sid} connected to socketIO endpoint.")
211
+
212
+ async def handle_user_message(
213
+ self,
214
+ sid: Text,
215
+ data: Dict,
216
+ on_new_message: Callable[[UserMessage], Awaitable[Any]],
217
+ ) -> None:
218
+ """Handles user messages received from the client."""
219
+ output_channel = SocketIOOutput(self.sio, self.bot_message_evt)
220
+
221
+ if self.session_persistence:
222
+ if not data.get("session_id"):
223
+ rasa.shared.utils.io.raise_warning(
224
+ "A message without a valid session_id "
225
+ "was received. This message will be "
226
+ "ignored. Make sure to set a proper "
227
+ "session id using the "
228
+ "`session_request` socketIO event."
229
+ )
230
+ return
231
+ sender_id = data["session_id"]
232
+ else:
233
+ sender_id = sid
234
+
235
+ metadata = data.get(self.metadata_key, {})
236
+ if isinstance(metadata, Text):
237
+ metadata = json.loads(metadata)
238
+
239
+ message = UserMessage(
240
+ data.get("message", ""),
241
+ output_channel,
242
+ sender_id,
243
+ input_channel=self.name(),
244
+ metadata=metadata,
245
+ )
246
+ await on_new_message(message)
247
+
194
248
  def blueprint(
195
249
  self, on_new_message: Callable[[UserMessage], Awaitable[Any]]
196
250
  ) -> SocketBlueprint:
@@ -233,49 +287,10 @@ class SocketIOInput(InputChannel):
233
287
 
234
288
  @sio.on("session_request", namespace=self.namespace)
235
289
  async def session_request(sid: Text, data: Optional[Dict]) -> None:
236
- if data is None:
237
- data = {}
238
- if "session_id" not in data or data["session_id"] is None:
239
- data["session_id"] = uuid.uuid4().hex
240
- if self.session_persistence:
241
- if inspect.iscoroutinefunction(sio.enter_room):
242
- await sio.enter_room(sid, data["session_id"])
243
- else:
244
- # for backwards compatibility with python-socketio < 5.10.
245
- # previously, this function was NOT async.
246
- sio.enter_room(sid, data["session_id"])
247
- await sio.emit("session_confirm", data["session_id"], room=sid)
248
- logger.debug(f"User {sid} connected to socketIO endpoint.")
290
+ await self.handle_session_request(sid, data)
249
291
 
250
292
  @sio.on(self.user_message_evt, namespace=self.namespace)
251
293
  async def handle_message(sid: Text, data: Dict) -> None:
252
- output_channel = SocketIOOutput(sio, self.bot_message_evt)
253
-
254
- if self.session_persistence:
255
- if not data.get("session_id"):
256
- rasa.shared.utils.io.raise_warning(
257
- "A message without a valid session_id "
258
- "was received. This message will be "
259
- "ignored. Make sure to set a proper "
260
- "session id using the "
261
- "`session_request` socketIO event."
262
- )
263
- return
264
- sender_id = data["session_id"]
265
- else:
266
- sender_id = sid
267
-
268
- metadata = data.get(self.metadata_key, {})
269
- if isinstance(metadata, Text):
270
- metadata = json.loads(metadata)
271
-
272
- message = UserMessage(
273
- data.get("message", ""),
274
- output_channel,
275
- sender_id,
276
- input_channel=self.name(),
277
- metadata=metadata,
278
- )
279
- await on_new_message(message)
294
+ await self.handle_user_message(sid, data, on_new_message)
280
295
 
281
296
  return socketio_webhook