rasa-pro 3.14.0.dev5__py3-none-any.whl → 3.14.0.dev7__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 (477) hide show
  1. rasa/agents/agent_factory.py +122 -0
  2. rasa/agents/agent_manager.py +163 -0
  3. rasa/agents/constants.py +40 -0
  4. rasa/agents/core/agent_protocol.py +107 -0
  5. rasa/agents/core/types.py +70 -0
  6. rasa/agents/exceptions.py +38 -0
  7. rasa/agents/protocol/__init__.py +5 -0
  8. rasa/agents/protocol/a2a/a2a_agent.py +662 -0
  9. rasa/agents/protocol/mcp/mcp_base_agent.py +685 -0
  10. rasa/agents/protocol/mcp/mcp_open_agent.py +290 -0
  11. rasa/agents/protocol/mcp/mcp_task_agent.py +484 -0
  12. rasa/agents/schemas/__init__.py +12 -0
  13. rasa/agents/schemas/agent_input.py +38 -0
  14. rasa/agents/schemas/agent_output.py +26 -0
  15. rasa/agents/schemas/agent_tool_result.py +67 -0
  16. rasa/agents/schemas/agent_tool_schema.py +134 -0
  17. rasa/agents/templates/mcp_open_agent_prompt_template.jinja2 +15 -0
  18. rasa/agents/templates/mcp_task_agent_prompt_template.jinja2 +17 -0
  19. rasa/agents/utils.py +77 -0
  20. rasa/agents/validation.py +484 -0
  21. rasa/api.py +14 -6
  22. rasa/cli/arguments/default_arguments.py +12 -0
  23. rasa/cli/arguments/run.py +2 -0
  24. rasa/cli/arguments/train.py +2 -0
  25. rasa/cli/dialogue_understanding_test.py +4 -0
  26. rasa/cli/e2e_test.py +4 -0
  27. rasa/cli/inspect.py +3 -0
  28. rasa/cli/interactive.py +2 -0
  29. rasa/cli/llm_fine_tuning.py +5 -0
  30. rasa/cli/project_templates/tutorial/config.yml +1 -2
  31. rasa/cli/run.py +4 -0
  32. rasa/cli/scaffold.py +2 -46
  33. rasa/cli/shell.py +3 -0
  34. rasa/cli/train.py +2 -0
  35. rasa/cli/utils.py +85 -1
  36. rasa/constants.py +6 -0
  37. rasa/core/actions/action.py +52 -10
  38. rasa/core/agent.py +19 -1
  39. rasa/core/available_agents.py +220 -0
  40. rasa/core/available_endpoints.py +30 -0
  41. rasa/core/channels/channel.py +3 -4
  42. rasa/core/channels/development_inspector.py +4 -4
  43. rasa/core/channels/hangouts.py +2 -2
  44. rasa/core/channels/inspector/dist/assets/{arc-18042c22.js → arc-cce7e0a8.js} +1 -1
  45. rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-fdd6bcfa.js → blockDiagram-38ab4fdb-e2a49be7.js} +1 -1
  46. rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-f5ae6786.js → c4Diagram-3d4e48cf-3def7895.js} +1 -1
  47. rasa/core/channels/inspector/dist/assets/channel-858c2c20.js +1 -0
  48. rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-81efba3e.js → classDiagram-70f12bd4-e66fe4df.js} +1 -1
  49. rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-3b6b6a92.js → classDiagram-v2-f2320105-eb874aaa.js} +1 -1
  50. rasa/core/channels/inspector/dist/assets/clone-4b80996c.js +1 -0
  51. rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-31422447.js → createText-2e5e7dd3-cf934643.js} +1 -1
  52. rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-518a90db.js → edges-e0da2a9e-8fdf9155.js} +1 -1
  53. rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-a6d3c25a.js → erDiagram-9861fffd-6106fb96.js} +1 -1
  54. rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-e048c2be.js → flowDb-956e92f1-4c2bb040.js} +1 -1
  55. rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-c7474c91.js → flowDiagram-66a62f08-f0ff96af.js} +1 -1
  56. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-16f09b7a.js +1 -0
  57. rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-cb4d8723.js → flowchart-elk-definition-4a651766-a21707ec.js} +1 -1
  58. rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-346636a2.js → ganttDiagram-c361ad54-c165acb1.js} +1 -1
  59. rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-7c508874.js → gitGraphDiagram-72cf32ee-b0564cf1.js} +1 -1
  60. rasa/core/channels/inspector/dist/assets/{graph-14702d8a.js → graph-e557e67a.js} +1 -1
  61. rasa/core/channels/inspector/dist/assets/{index-3862675e-f18b534b.js → index-3862675e-1ce60e9e.js} +1 -1
  62. rasa/core/channels/inspector/dist/assets/index-996fe816.js +1353 -0
  63. rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-64154b83.js → infoDiagram-f8f76790-893569e2.js} +1 -1
  64. rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-833a5f95.js → journeyDiagram-49397b02-c29c864f.js} +1 -1
  65. rasa/core/channels/inspector/dist/assets/{layout-5a3b2123.js → layout-649a5eae.js} +1 -1
  66. rasa/core/channels/inspector/dist/assets/{line-2272a8c7.js → line-0e5685ed.js} +1 -1
  67. rasa/core/channels/inspector/dist/assets/{linear-35bcf273.js → linear-eaa320bd.js} +1 -1
  68. rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-92dcb0e9.js → mindmap-definition-fc14e90a-f35df9e6.js} +1 -1
  69. rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-94dbc900.js → pieDiagram-8a3498a8-78339e96.js} +1 -1
  70. rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-8b7a9c33.js → quadrantDiagram-120e2f19-9b5f2f14.js} +1 -1
  71. rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-6f7eab81.js → requirementDiagram-deff3bca-d05ddb3a.js} +1 -1
  72. rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-f43e581d.js → sankeyDiagram-04a897e0-d9be5dfd.js} +1 -1
  73. rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-0bcbefc3.js → sequenceDiagram-704730f1-0f1c4348.js} +1 -1
  74. rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-b8a74083.js → stateDiagram-587899a1-9ddf63b3.js} +1 -1
  75. rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-2070218f.js → stateDiagram-v2-d93cdb3a-bc2b81ed.js} +1 -1
  76. rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-f1d54e34.js → styles-6aaf32cf-0a287936.js} +1 -1
  77. rasa/core/channels/inspector/dist/assets/{styles-9a916d00-980de489.js → styles-9a916d00-e3941990.js} +1 -1
  78. rasa/core/channels/inspector/dist/assets/{styles-c10674c1-3c03abde.js → styles-c10674c1-ce4eca24.js} +1 -1
  79. rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-46ba068f.js → svgDrawCommon-08f97a94-d822b1a8.js} +1 -1
  80. rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-901f5e3d.js → timeline-definition-85554ec2-e144c7a7.js} +1 -1
  81. rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-acbc628a.js → xychartDiagram-e933f94c-ab7f4e14.js} +1 -1
  82. rasa/core/channels/inspector/dist/index.html +2 -2
  83. rasa/core/channels/inspector/index.html +1 -1
  84. rasa/core/channels/inspector/src/App.tsx +37 -12
  85. rasa/core/channels/inspector/src/components/DialogueAgentStack.tsx +108 -0
  86. rasa/core/channels/inspector/src/components/{DialogueStack.tsx → DialogueHistoryStack.tsx} +3 -2
  87. rasa/core/channels/inspector/src/components/DialogueInformation.tsx +3 -12
  88. rasa/core/channels/inspector/src/helpers/formatters.test.ts +4 -0
  89. rasa/core/channels/inspector/src/helpers/formatters.ts +24 -3
  90. rasa/core/channels/inspector/src/helpers/utils.test.ts +127 -0
  91. rasa/core/channels/inspector/src/helpers/utils.ts +66 -1
  92. rasa/core/channels/inspector/src/theme/base/styles.ts +19 -1
  93. rasa/core/channels/inspector/src/types.ts +21 -0
  94. rasa/core/channels/socketio.py +51 -212
  95. rasa/core/channels/studio_chat.py +29 -49
  96. rasa/core/channels/voice_stream/genesys.py +1 -1
  97. rasa/core/channels/voice_stream/voice_channel.py +3 -5
  98. rasa/core/constants.py +4 -0
  99. rasa/core/policies/enterprise_search_policy.py +11 -6
  100. rasa/core/policies/flow_policy.py +4 -4
  101. rasa/core/policies/flows/flow_executor.py +519 -73
  102. rasa/core/policies/flows/mcp_tool_executor.py +277 -0
  103. rasa/core/policies/intentless_policy.py +1 -1
  104. rasa/core/policies/unexpected_intent_policy.py +1 -0
  105. rasa/core/processor.py +18 -15
  106. rasa/core/run.py +11 -14
  107. rasa/core/tracker_stores/tracker_store.py +3 -7
  108. rasa/core/train.py +1 -1
  109. rasa/core/training/interactive.py +16 -16
  110. rasa/core/training/story_conflict.py +5 -5
  111. rasa/core/utils.py +21 -1
  112. rasa/dialogue_understanding/commands/__init__.py +8 -0
  113. rasa/dialogue_understanding/commands/cancel_flow_command.py +19 -5
  114. rasa/dialogue_understanding/commands/chit_chat_answer_command.py +11 -0
  115. rasa/dialogue_understanding/commands/clarify_command.py +10 -0
  116. rasa/dialogue_understanding/commands/continue_agent_command.py +91 -0
  117. rasa/dialogue_understanding/commands/knowledge_answer_command.py +11 -0
  118. rasa/dialogue_understanding/commands/restart_agent_command.py +162 -0
  119. rasa/dialogue_understanding/commands/start_flow_command.py +68 -7
  120. rasa/dialogue_understanding/commands/utils.py +124 -2
  121. rasa/dialogue_understanding/generator/command_parser.py +4 -0
  122. rasa/dialogue_understanding/generator/flow_retrieval.py +9 -10
  123. rasa/dialogue_understanding/generator/llm_based_command_generator.py +50 -12
  124. rasa/dialogue_understanding/generator/llm_command_generator.py +1 -1
  125. rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +1 -1
  126. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_claude_3_5_sonnet_20240620_template.jinja2 +61 -0
  127. rasa/{cli/project_templates/telco/prompts/command-generator.jinja2 → dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_gpt_4o_2024_11_20_template.jinja2} +7 -3
  128. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_claude_3_5_sonnet_20240620_template.jinja2 +81 -0
  129. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_gpt_4o_2024_11_20_template.jinja2 +81 -0
  130. rasa/dialogue_understanding/generator/single_step/compact_llm_command_generator.py +7 -6
  131. rasa/dialogue_understanding/generator/single_step/search_ready_llm_command_generator.py +7 -6
  132. rasa/dialogue_understanding/generator/single_step/single_step_based_llm_command_generator.py +41 -2
  133. rasa/dialogue_understanding/patterns/clarify.py +3 -14
  134. rasa/dialogue_understanding/patterns/continue_interrupted.py +239 -6
  135. rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +46 -8
  136. rasa/dialogue_understanding/processor/command_processor.py +31 -15
  137. rasa/dialogue_understanding/stack/dialogue_stack.py +123 -2
  138. rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +57 -0
  139. rasa/dialogue_understanding/stack/utils.py +57 -3
  140. rasa/dialogue_understanding/utils.py +24 -4
  141. rasa/dialogue_understanding_test/du_test_runner.py +7 -2
  142. rasa/e2e_test/e2e_test_runner.py +12 -2
  143. rasa/engine/caching.py +2 -2
  144. rasa/engine/recipes/default_components.py +10 -18
  145. rasa/engine/storage/local_model_storage.py +2 -45
  146. rasa/graph_components/validators/default_recipe_validator.py +134 -134
  147. rasa/hooks.py +5 -5
  148. rasa/llm_fine_tuning/utils.py +2 -2
  149. rasa/model_manager/model_api.py +5 -4
  150. rasa/model_manager/runner_service.py +1 -1
  151. rasa/model_manager/socket_bridge.py +14 -20
  152. rasa/model_manager/trainer_service.py +9 -12
  153. rasa/model_manager/utils.py +29 -1
  154. rasa/model_manager/warm_rasa_process.py +1 -1
  155. rasa/model_training.py +8 -6
  156. rasa/nlu/extractors/extractor.py +2 -1
  157. rasa/plugin.py +8 -8
  158. rasa/privacy/privacy_manager.py +11 -2
  159. rasa/server.py +14 -2
  160. rasa/shared/agents/utils.py +35 -0
  161. rasa/shared/constants.py +8 -0
  162. rasa/shared/core/constants.py +11 -1
  163. rasa/shared/core/domain.py +11 -58
  164. rasa/shared/core/events.py +327 -0
  165. rasa/shared/core/flows/flow_step.py +1 -7
  166. rasa/shared/core/flows/flows_list.py +15 -5
  167. rasa/shared/core/flows/flows_yaml_schema.json +112 -186
  168. rasa/shared/core/flows/steps/call.py +53 -5
  169. rasa/shared/core/flows/validation.py +177 -7
  170. rasa/shared/core/flows/yaml_flows_io.py +9 -17
  171. rasa/shared/core/slots.py +2 -6
  172. rasa/shared/core/trackers.py +5 -2
  173. rasa/shared/exceptions.py +4 -0
  174. rasa/shared/importers/importer.py +0 -6
  175. rasa/shared/importers/rasa.py +1 -1
  176. rasa/shared/importers/utils.py +10 -80
  177. rasa/shared/providers/_utils.py +44 -60
  178. rasa/shared/providers/embedding/default_litellm_embedding_client.py +0 -2
  179. rasa/shared/providers/llm/_base_litellm_client.py +39 -7
  180. rasa/shared/providers/llm/default_litellm_llm_client.py +0 -2
  181. rasa/shared/providers/llm/litellm_router_llm_client.py +8 -4
  182. rasa/shared/providers/llm/llm_client.py +7 -3
  183. rasa/shared/providers/llm/llm_response.py +66 -0
  184. rasa/shared/providers/llm/self_hosted_llm_client.py +8 -4
  185. rasa/shared/utils/health_check/health_check.py +7 -3
  186. rasa/shared/utils/llm.py +28 -5
  187. rasa/shared/utils/mcp/server_connection.py +186 -0
  188. rasa/shared/utils/schemas/events.py +42 -0
  189. rasa/shared/utils/yaml.py +3 -1
  190. rasa/studio/upload.py +47 -16
  191. rasa/telemetry.py +23 -97
  192. rasa/tracing/instrumentation/instrumentation.py +14 -10
  193. rasa/tracing/instrumentation/intentless_policy_instrumentation.py +4 -4
  194. rasa/utils/common.py +79 -0
  195. rasa/utils/io.py +9 -27
  196. rasa/utils/json_utils.py +1 -6
  197. rasa/utils/log_utils.py +2 -6
  198. rasa/utils/ml_utils.py +1 -1
  199. rasa/utils/tensorflow/rasa_layers.py +1 -1
  200. rasa/utils/train_utils.py +15 -15
  201. rasa/validator.py +19 -21
  202. rasa/version.py +1 -1
  203. {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev7.dist-info}/METADATA +14 -17
  204. {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev7.dist-info}/RECORD +214 -442
  205. rasa/builder/README.md +0 -120
  206. rasa/builder/auth.py +0 -176
  207. rasa/builder/config.py +0 -115
  208. rasa/builder/copilot/constants.py +0 -25
  209. rasa/builder/copilot/copilot.py +0 -372
  210. rasa/builder/copilot/copilot_response_handler.py +0 -487
  211. rasa/builder/copilot/copilot_templated_message_provider.py +0 -58
  212. rasa/builder/copilot/exceptions.py +0 -20
  213. rasa/builder/copilot/models.py +0 -431
  214. rasa/builder/copilot/prompts/copilot_system_prompt.jinja2 +0 -726
  215. rasa/builder/copilot/telemetry.py +0 -195
  216. rasa/builder/copilot/templated_messages/copilot_internal_messages_templates.yml +0 -16
  217. rasa/builder/copilot/templated_messages/copilot_templated_responses.yml +0 -26
  218. rasa/builder/document_retrieval/constants.py +0 -15
  219. rasa/builder/document_retrieval/inkeep-rag-response-schema.json +0 -64
  220. rasa/builder/document_retrieval/inkeep_document_retrieval.py +0 -238
  221. rasa/builder/document_retrieval/models.py +0 -62
  222. rasa/builder/download.py +0 -140
  223. rasa/builder/exceptions.py +0 -55
  224. rasa/builder/guardrails/__init__.py +0 -1
  225. rasa/builder/guardrails/constants.py +0 -3
  226. rasa/builder/guardrails/exceptions.py +0 -4
  227. rasa/builder/guardrails/lakera.py +0 -206
  228. rasa/builder/guardrails/models.py +0 -199
  229. rasa/builder/guardrails/utils.py +0 -305
  230. rasa/builder/job_manager.py +0 -87
  231. rasa/builder/jobs.py +0 -234
  232. rasa/builder/llm_service.py +0 -246
  233. rasa/builder/logging_utils.py +0 -209
  234. rasa/builder/main.py +0 -174
  235. rasa/builder/models.py +0 -197
  236. rasa/builder/project_generator.py +0 -450
  237. rasa/builder/project_info.py +0 -72
  238. rasa/builder/scrape_rasa_docs.py +0 -97
  239. rasa/builder/service.py +0 -1142
  240. rasa/builder/shared/tracker_context.py +0 -212
  241. rasa/builder/skill_to_bot_prompt.jinja2 +0 -164
  242. rasa/builder/training_service.py +0 -132
  243. rasa/builder/validation_service.py +0 -93
  244. rasa/cli/project_templates/basic/actions/action_api.py +0 -15
  245. rasa/cli/project_templates/basic/actions/action_human_handoff.py +0 -44
  246. rasa/cli/project_templates/basic/config.yml +0 -23
  247. rasa/cli/project_templates/basic/credentials.yml +0 -34
  248. rasa/cli/project_templates/basic/data/general/feedback.yml +0 -20
  249. rasa/cli/project_templates/basic/data/general/goodbye.yml +0 -6
  250. rasa/cli/project_templates/basic/data/general/hello.yml +0 -7
  251. rasa/cli/project_templates/basic/data/general/help.yml +0 -6
  252. rasa/cli/project_templates/basic/data/general/human_handoff.yml +0 -16
  253. rasa/cli/project_templates/basic/data/general/welcome.yml +0 -9
  254. rasa/cli/project_templates/basic/data/system/pattern_completed.yml +0 -7
  255. rasa/cli/project_templates/basic/data/system/pattern_correction.yml +0 -7
  256. rasa/cli/project_templates/basic/data/system/pattern_search.yml +0 -8
  257. rasa/cli/project_templates/basic/data/system/pattern_session_start.yml +0 -8
  258. rasa/cli/project_templates/basic/docs/rasa_assistant_qa.txt +0 -65
  259. rasa/cli/project_templates/basic/docs/template.txt +0 -7
  260. rasa/cli/project_templates/basic/domain/general/assistant_details.yml +0 -12
  261. rasa/cli/project_templates/basic/domain/general/bot_identity.yml +0 -5
  262. rasa/cli/project_templates/basic/domain/general/cannot_handle.yml +0 -5
  263. rasa/cli/project_templates/basic/domain/general/feedback.yml +0 -28
  264. rasa/cli/project_templates/basic/domain/general/goodbye.yml +0 -7
  265. rasa/cli/project_templates/basic/domain/general/help.yml +0 -5
  266. rasa/cli/project_templates/basic/domain/general/human_handoff_domain.yml +0 -35
  267. rasa/cli/project_templates/basic/domain/general/utils.yml +0 -13
  268. rasa/cli/project_templates/basic/domain/general/welcome.yml +0 -7
  269. rasa/cli/project_templates/basic/endpoints.yml +0 -73
  270. rasa/cli/project_templates/basic/prompts/rephraser_demo_personality_prompt.jinja2 +0 -19
  271. rasa/cli/project_templates/finance/actions/__init__.py +0 -46
  272. rasa/cli/project_templates/finance/actions/accounts/action_ask_account.py +0 -47
  273. rasa/cli/project_templates/finance/actions/accounts/action_check_balance.py +0 -40
  274. rasa/cli/project_templates/finance/actions/action_session_start.py +0 -74
  275. rasa/cli/project_templates/finance/actions/cards/action_ask_card.py +0 -48
  276. rasa/cli/project_templates/finance/actions/cards/action_check_card_existence.py +0 -36
  277. rasa/cli/project_templates/finance/actions/cards/action_update_card_status.py +0 -54
  278. rasa/cli/project_templates/finance/actions/database.py +0 -277
  279. rasa/cli/project_templates/finance/actions/transfers/__init__.py +0 -0
  280. rasa/cli/project_templates/finance/actions/transfers/action_add_payee.py +0 -52
  281. rasa/cli/project_templates/finance/actions/transfers/action_ask_account_from.py +0 -51
  282. rasa/cli/project_templates/finance/actions/transfers/action_check_payee_existence.py +0 -40
  283. rasa/cli/project_templates/finance/actions/transfers/action_check_sufficient_funds.py +0 -40
  284. rasa/cli/project_templates/finance/actions/transfers/action_list_payees.py +0 -46
  285. rasa/cli/project_templates/finance/actions/transfers/action_process_immediate_payment.py +0 -18
  286. rasa/cli/project_templates/finance/actions/transfers/action_remove_payee.py +0 -49
  287. rasa/cli/project_templates/finance/actions/transfers/action_schedule_payment.py +0 -19
  288. rasa/cli/project_templates/finance/actions/transfers/action_validate_payment_date.py +0 -36
  289. rasa/cli/project_templates/finance/config.yml +0 -21
  290. rasa/cli/project_templates/finance/credentials.yml +0 -32
  291. rasa/cli/project_templates/finance/csvs/accounts.csv +0 -8
  292. rasa/cli/project_templates/finance/csvs/advisors.csv +0 -7
  293. rasa/cli/project_templates/finance/csvs/appointments.csv +0 -211
  294. rasa/cli/project_templates/finance/csvs/branches.csv +0 -10
  295. rasa/cli/project_templates/finance/csvs/cards.csv +0 -11
  296. rasa/cli/project_templates/finance/csvs/payees.csv +0 -11
  297. rasa/cli/project_templates/finance/csvs/transactions.csv +0 -71
  298. rasa/cli/project_templates/finance/csvs/users.csv +0 -4
  299. rasa/cli/project_templates/finance/data/accounts/check_balance.yml +0 -10
  300. rasa/cli/project_templates/finance/data/cards/block_card.yml +0 -66
  301. rasa/cli/project_templates/finance/data/cards/select_card.yml +0 -12
  302. rasa/cli/project_templates/finance/data/general/bot_identity.yml +0 -6
  303. rasa/cli/project_templates/finance/data/general/feedback.yml +0 -20
  304. rasa/cli/project_templates/finance/data/general/goodbye.yml +0 -6
  305. rasa/cli/project_templates/finance/data/general/hello.yml +0 -7
  306. rasa/cli/project_templates/finance/data/general/help.yml +0 -9
  307. rasa/cli/project_templates/finance/data/general/human_handoff.yml +0 -16
  308. rasa/cli/project_templates/finance/data/general/welcome.yml +0 -9
  309. rasa/cli/project_templates/finance/data/system/patterns/pattern_chitchat.yml +0 -5
  310. rasa/cli/project_templates/finance/data/system/patterns/pattern_completed.yml +0 -7
  311. rasa/cli/project_templates/finance/data/system/patterns/pattern_correction.yml +0 -7
  312. rasa/cli/project_templates/finance/data/system/patterns/pattern_search.yml +0 -8
  313. rasa/cli/project_templates/finance/data/system/patterns/pattern_session_start.yml +0 -8
  314. rasa/cli/project_templates/finance/data/system/source/accounts.json +0 -51
  315. rasa/cli/project_templates/finance/data/system/source/advisors.json +0 -44
  316. rasa/cli/project_templates/finance/data/system/source/appointments.json +0 -1474
  317. rasa/cli/project_templates/finance/data/system/source/branches.json +0 -47
  318. rasa/cli/project_templates/finance/data/system/source/cards.json +0 -72
  319. rasa/cli/project_templates/finance/data/system/source/payees.json +0 -74
  320. rasa/cli/project_templates/finance/data/system/source/transactions.json +0 -492
  321. rasa/cli/project_templates/finance/data/system/source/users.json +0 -29
  322. rasa/cli/project_templates/finance/data/transfers/add_payee.yml +0 -29
  323. rasa/cli/project_templates/finance/data/transfers/list_payees.yml +0 -5
  324. rasa/cli/project_templates/finance/data/transfers/remove_payee.yml +0 -21
  325. rasa/cli/project_templates/finance/data/transfers/transfer_money.yml +0 -67
  326. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/consequences_of_blocking_card.txt +0 -8
  327. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/reasons_to_block_card.txt +0 -8
  328. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/recovering_from_card_fraud.txt +0 -8
  329. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/tips_for_card_security.txt +0 -8
  330. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/what_to_do_if_card_is_lost.txt +0 -8
  331. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/account_balance_security.txt +0 -7
  332. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/common_balance_inquiries.txt +0 -8
  333. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/methods_to_check_balance.txt +0 -8
  334. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/understanding_balance_updates.txt +0 -8
  335. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/what_to_do_if_balance_is_incorrect.txt +0 -8
  336. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/benefits_of_authorised_payees.txt +0 -8
  337. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/common_issues_with_payees.txt +0 -8
  338. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/general_payee_information.txt +0 -8
  339. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/payee_management_tips.txt +0 -8
  340. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/understanding_payee_types.txt +0 -8
  341. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/common_transfer_errors.txt +0 -8
  342. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/fees_for_transfers.txt +0 -8
  343. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/general_transfer_information.txt +0 -8
  344. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/security_tips_for_transfers.txt +0 -8
  345. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/transfer_processing_times.txt +0 -8
  346. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part1.txt +0 -50
  347. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part10.txt +0 -50
  348. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part11.txt +0 -48
  349. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part12.txt +0 -50
  350. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part13.txt +0 -50
  351. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part14.txt +0 -47
  352. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part15.txt +0 -50
  353. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part16.txt +0 -50
  354. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part17.txt +0 -47
  355. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part18.txt +0 -50
  356. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part19.txt +0 -50
  357. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part2.txt +0 -50
  358. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part20.txt +0 -47
  359. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part21.txt +0 -50
  360. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part22.txt +0 -50
  361. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part23.txt +0 -47
  362. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part24.txt +0 -50
  363. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part25.txt +0 -50
  364. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part26.txt +0 -47
  365. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part27.txt +0 -50
  366. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part28.txt +0 -50
  367. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part29.txt +0 -47
  368. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part3.txt +0 -47
  369. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part30.txt +0 -50
  370. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part31.txt +0 -50
  371. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part32.txt +0 -47
  372. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part33.txt +0 -50
  373. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part34.txt +0 -50
  374. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part35.txt +0 -47
  375. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part36.txt +0 -50
  376. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part37.txt +0 -50
  377. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part38.txt +0 -47
  378. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part39.txt +0 -50
  379. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part4.txt +0 -50
  380. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part40.txt +0 -50
  381. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part41.txt +0 -47
  382. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part42.txt +0 -50
  383. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part43.txt +0 -50
  384. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part44.txt +0 -47
  385. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part45.txt +0 -50
  386. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part46.txt +0 -50
  387. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part47.txt +0 -47
  388. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part48.txt +0 -50
  389. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part49.txt +0 -50
  390. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part5.txt +0 -50
  391. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part50.txt +0 -47
  392. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part51.txt +0 -50
  393. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part52.txt +0 -50
  394. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part53.txt +0 -47
  395. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part54.txt +0 -50
  396. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part55.txt +0 -50
  397. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part56.txt +0 -47
  398. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part57.txt +0 -50
  399. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part58.txt +0 -50
  400. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part59.txt +0 -47
  401. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part6.txt +0 -47
  402. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part60.txt +0 -50
  403. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part61.txt +0 -50
  404. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part7.txt +0 -50
  405. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part8.txt +0 -50
  406. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part9.txt +0 -47
  407. rasa/cli/project_templates/finance/domain/accounts/check_balance.yml +0 -11
  408. rasa/cli/project_templates/finance/domain/cards/block_card.yml +0 -101
  409. rasa/cli/project_templates/finance/domain/cards/select_card.yml +0 -12
  410. rasa/cli/project_templates/finance/domain/general/assistant_details.yml +0 -12
  411. rasa/cli/project_templates/finance/domain/general/bot_identity.yml +0 -5
  412. rasa/cli/project_templates/finance/domain/general/cannot_handle.yml +0 -5
  413. rasa/cli/project_templates/finance/domain/general/defaults.yml +0 -24
  414. rasa/cli/project_templates/finance/domain/general/feedback.yml +0 -28
  415. rasa/cli/project_templates/finance/domain/general/goodbye.yml +0 -7
  416. rasa/cli/project_templates/finance/domain/general/help.yml +0 -5
  417. rasa/cli/project_templates/finance/domain/general/human_handoff.yml +0 -30
  418. rasa/cli/project_templates/finance/domain/general/utils.yml +0 -13
  419. rasa/cli/project_templates/finance/domain/general/welcome.yml +0 -8
  420. rasa/cli/project_templates/finance/domain/transfers/add_payee.yml +0 -47
  421. rasa/cli/project_templates/finance/domain/transfers/list_payees.yml +0 -4
  422. rasa/cli/project_templates/finance/domain/transfers/remove_payee.yml +0 -16
  423. rasa/cli/project_templates/finance/domain/transfers/transfer_money.yml +0 -79
  424. rasa/cli/project_templates/finance/endpoints.yml +0 -63
  425. rasa/cli/project_templates/finance/prompts/rephraser_demo_personality_prompt.jinja2 +0 -19
  426. rasa/cli/project_templates/telco/actions/__init__.py +0 -0
  427. rasa/cli/project_templates/telco/actions/actions_billing.py +0 -204
  428. rasa/cli/project_templates/telco/actions/actions_get_data_from_db.py +0 -48
  429. rasa/cli/project_templates/telco/actions/actions_run_diagnostics.py +0 -28
  430. rasa/cli/project_templates/telco/actions/actions_session_start.py +0 -18
  431. rasa/cli/project_templates/telco/config.yml +0 -25
  432. rasa/cli/project_templates/telco/credentials.yml +0 -33
  433. rasa/cli/project_templates/telco/csvs/billing.csv +0 -10
  434. rasa/cli/project_templates/telco/csvs/customers.csv +0 -5
  435. rasa/cli/project_templates/telco/data/flows/flow_global.yml +0 -5
  436. rasa/cli/project_templates/telco/data/flows/flow_reboot_router.yml +0 -8
  437. rasa/cli/project_templates/telco/data/flows/flow_reset_router.yml +0 -7
  438. rasa/cli/project_templates/telco/data/flows/flow_solve_internet_issue.yml +0 -73
  439. rasa/cli/project_templates/telco/data/flows/flow_undertand_bill.yml +0 -45
  440. rasa/cli/project_templates/telco/data/patterns/pattern_completed.yml +0 -7
  441. rasa/cli/project_templates/telco/data/patterns/pattern_human_handoff.yml +0 -6
  442. rasa/cli/project_templates/telco/data/patterns/pattern_search.yml +0 -7
  443. rasa/cli/project_templates/telco/data/patterns/pattern_session_start.yml +0 -9
  444. rasa/cli/project_templates/telco/docs/reset_vs_rboot_router.txt +0 -1
  445. rasa/cli/project_templates/telco/docs/restart_router.txt +0 -6
  446. rasa/cli/project_templates/telco/docs/run_speed_test.txt +0 -6
  447. rasa/cli/project_templates/telco/domain/domain_global.yml +0 -29
  448. rasa/cli/project_templates/telco/domain/domain_patterns.yml +0 -17
  449. rasa/cli/project_templates/telco/domain/domain_reboot_router.yml +0 -20
  450. rasa/cli/project_templates/telco/domain/domain_reset_router.yml +0 -11
  451. rasa/cli/project_templates/telco/domain/domain_run_speed_test.yml +0 -24
  452. rasa/cli/project_templates/telco/domain/domain_solve_internet_issue.yml +0 -74
  453. rasa/cli/project_templates/telco/domain/domain_undertand_bill.yml +0 -102
  454. rasa/cli/project_templates/telco/endpoints.yml +0 -60
  455. rasa/cli/project_templates/telco/tests/e2e_results_failed.yml +0 -62
  456. rasa/cli/project_templates/telco/tests/e2e_results_passed.yml +0 -130
  457. rasa/cli/project_templates/telco/tests/e2e_test_cases/billing_test_cases.yml +0 -68
  458. rasa/cli/project_templates/telco/tests/e2e_test_cases/global_test_cases.yml +0 -13
  459. rasa/cli/project_templates/telco/tests/e2e_test_cases/internet_slow_test_case.yml +0 -47
  460. rasa/cli/project_templates/telco/tests/e2e_test_cases/out_of_scope_test_case.yml +0 -21
  461. rasa/cli/project_templates/telco/tests/e2e_test_cases/patterns_test_cases.yml +0 -15
  462. rasa/core/channels/constants.py +0 -3
  463. rasa/core/channels/inspector/dist/assets/channel-b9b536fc.js +0 -1
  464. rasa/core/channels/inspector/dist/assets/clone-78d2ddcf.js +0 -1
  465. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-8b09c060.js +0 -1
  466. rasa/core/channels/inspector/dist/assets/index-4d4bdf3a.js +0 -1335
  467. rasa/utils/openapi.py +0 -144
  468. /rasa/{builder → agents}/__init__.py +0 -0
  469. /rasa/{builder/copilot → agents/core}/__init__.py +0 -0
  470. /rasa/{builder/copilot/prompts → agents/protocol/a2a}/__init__.py +0 -0
  471. /rasa/{builder/copilot/templated_messages → agents/protocol/mcp}/__init__.py +0 -0
  472. /rasa/{builder/document_retrieval → agents/templates}/__init__.py +0 -0
  473. /rasa/{cli/project_templates/finance/actions/accounts → shared/agents}/__init__.py +0 -0
  474. /rasa/{cli/project_templates/finance/actions/cards → shared/utils/mcp}/__init__.py +0 -0
  475. {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev7.dist-info}/NOTICE +0 -0
  476. {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev7.dist-info}/WHEEL +0 -0
  477. {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev7.dist-info}/entry_points.txt +0 -0
@@ -1,79 +0,0 @@
1
- version: "3.1"
2
-
3
- slots:
4
- account_from:
5
- type: text
6
- payee_name:
7
- type: text
8
- payee_exists:
9
- type: bool
10
- amount:
11
- type: float
12
- sufficient_funds:
13
- type: bool
14
- timing:
15
- type: categorical
16
- values:
17
- - now
18
- - future
19
- payment_date:
20
- type: text
21
- confirm_immediate_payment:
22
- type: bool
23
- confirm_future_payment:
24
- type: bool
25
- payment_processed:
26
- type: bool
27
- payment_scheduled:
28
- type: bool
29
- valid_payment_date:
30
- type: bool
31
- future_payment_date:
32
- type: bool
33
-
34
- responses:
35
- utter_transfer_money_understand:
36
- - text: "Okay lets transfer money"
37
- metadata:
38
- rephrase: True
39
- utter_ask_payee_name:
40
- - text: "Which payee would you like to send money to?"
41
- utter_ask_amount:
42
- - text: "How much money would you like to transfer?"
43
- utter_insufficient_funds:
44
- - text: "I'm sorry, but you have insufficient funds for this transfer. Please enter a different amount"
45
- utter_ask_timing:
46
- - text: "When would you like this transfer to be made?"
47
- buttons:
48
- - title: Immediate
49
- payload: "/SetSlots(timing=now)"
50
- - title: Future
51
- payload: "/SetSlots(timing=future)"
52
- utter_ask_payment_date:
53
- - text: "On which date would you like this payment to be made?"
54
- utter_ask_confirm_future_payment:
55
- - text: "A payment of ${amount} to {payee_name} will be scheduled for {payment_date}. Is this correct?"
56
- utter_payment_scheduled:
57
- - text: "Your payment of ${amount} to {payee_name} has been successfully scheduled for {payment_date}"
58
- utter_ask_confirm_immediate_payment:
59
- - text: "An immediate payment of ${amount} to {payee_name} will be processed. Is this correct?"
60
- utter_transfer_successful:
61
- - text: "Your transfer of ${amount} to {payee_name} has been successfully processed"
62
- utter_cancel_transfer:
63
- - text: "No problem. I will cancel this transfer"
64
- utter_invalid_amount:
65
- - text: "You have to enter an amount greater than 0"
66
- metadata:
67
- rephrase: True
68
- utter_past_payment_date:
69
- - text: "A future payment date cannot be in the past!"
70
- metadata:
71
- rephrase: True
72
-
73
- actions:
74
- - action_ask_account_from
75
- - action_check_payee_existence
76
- - action_check_sufficient_funds
77
- - action_schedule_payment
78
- - action_process_immediate_payment
79
- - action_validate_payment_date
@@ -1,63 +0,0 @@
1
- # This file contains the different endpoints your bot can use.
2
-
3
- # Server where the models are pulled from.
4
- # https://rasa.com/docs/rasa-pro/production/model-storage#fetching-models-from-a-server
5
-
6
- #models:
7
- # url: http://my-server.com/models/default_core@latest
8
- # wait_time_between_pulls: 10 # [optional](default: 100)
9
-
10
- # Server which runs your custom actions.
11
- # https://rasa.com/docs/rasa-pro/concepts/custom-actions
12
-
13
- action_endpoint:
14
- actions_module: "actions"
15
-
16
- # Tracker store which is used to store the conversations.
17
- # By default the conversations are stored in memory.
18
- # https://rasa.com/docs/rasa-pro/production/tracker-stores
19
-
20
- #tracker_store:
21
- # type: redis
22
- # url: <host of the redis instance, e.g. localhost>
23
- # port: <port of your redis instance, usually 6379>
24
- # db: <number of your database within redis, e.g. 0>
25
- # password: <password used for authentication>
26
- # use_ssl: <whether or not the communication is encrypted, default false>
27
-
28
- #tracker_store:
29
- # type: mongod
30
- # url: <url to your mongo instance, e.g. mongodb://localhost:27017>
31
- # db: <name of the db within your mongo instance, e.g. rasa>
32
- # username: <username used for authentication>
33
- # password: <password used for authentication>
34
-
35
- # Event broker which all conversation events should be streamed to.
36
- # https://rasa.com/docs/rasa-pro/production/event-brokers
37
-
38
- #event_broker:
39
- # url: localhost
40
- # username: username
41
- # password: password
42
- # queue: queue
43
-
44
- # The lines below activate contextual rephrasing, using the default OpenAI language model.
45
- # Ensure the OPENAI_API_KEY is set to prevent any missing API key errors.
46
- # For more details, refer to the documentation:
47
- # https://rasa.com/docs/rasa-pro/concepts/contextual-response-rephraser
48
- # To enable the rephraser, remove the comment symbols in the lines below.
49
- nlg:
50
- type: rephrase
51
- llm:
52
- model_group: openai-gpt-4o
53
- prompt: prompts/rephraser_demo_personality_prompt.jinja2
54
- rephrase_all: False
55
-
56
- model_groups:
57
- - id: openai-gpt-4o
58
- models:
59
- - provider: openai
60
- model: gpt-4o-2024-11-20
61
- request_timeout: 7
62
- max_tokens: 256
63
-
@@ -1,19 +0,0 @@
1
- The following is a conversation with an AI assistant.
2
- The assistant is professional, calm, and highly attentive to detail.
3
- Its main priorities are efficiency, speed, and accuracy when handling user requests.
4
-
5
- Please rephrase the suggested AI response, staying close to the original meaning while
6
- ensuring the assistant's tone remains formal yet empathetic, friendly, and reassuring.
7
- It should convey patience, even with vague or repetitive questions, and be clear,
8
- informative, and slightly humorous where appropriate.
9
-
10
- Write your responses in English
11
-
12
- Context / previous conversation with the user:
13
- {{history}}
14
-
15
- {{current_input}}
16
-
17
- Suggested AI Response: {{suggested_response}}
18
-
19
- Rephrased AI Response:
File without changes
@@ -1,204 +0,0 @@
1
- import csv
2
- import logging
3
- from datetime import datetime
4
- from typing import Any, Dict, List
5
-
6
- from rasa_sdk import Action
7
- from rasa_sdk.events import SlotSet
8
- from rasa_sdk.executor import CollectingDispatcher
9
- from rasa_sdk.interfaces import Tracker
10
- from rasa_sdk.types import DomainDict
11
-
12
-
13
- class ActionVerifyBillByDate(Action):
14
- def name(self) -> str:
15
- return "action_verify_bill_by_date"
16
-
17
- @staticmethod
18
- def text_to_date(month_text: str) -> str:
19
- try:
20
- # Get the current year
21
- current_year = datetime.now().year
22
-
23
- # Combine user input with the current year
24
- full_text = f"{month_text} {current_year}"
25
-
26
- # Parse the text format (e.g., "March 2025")
27
- date_obj = datetime.strptime(full_text, "%B %Y")
28
-
29
- # Format as DD/MM/YYYY (defaults to the first day of the month)
30
- formatted_date = date_obj.strftime("01/%m/%Y")
31
- logging.info(f"This is an info message: formatted_date: {formatted_date}")
32
- return formatted_date
33
- except ValueError:
34
- return "Invalid format. Please use a full month name (e.g., 'March')."
35
-
36
- def run(
37
- self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: DomainDict
38
- ) -> List[Dict[str, Any]]:
39
- # Get customer ID and date from slots
40
- customer_id = tracker.get_slot("customer_id")
41
- bill_month = tracker.get_slot("bill_month")
42
-
43
- bill_date = ActionVerifyBillByDate.text_to_date(bill_month)
44
-
45
- if not customer_id:
46
- dispatcher.utter_message(
47
- "I couldn't find your customer ID. Please provide it."
48
- )
49
- return []
50
-
51
- if not bill_date:
52
- dispatcher.utter_message(
53
- "Please specify the date for the bill you want to check."
54
- )
55
- return []
56
-
57
- try:
58
- # Load CSV file with billing data
59
- with open("csvs/billing.csv", "r", newline="") as csvfile:
60
- reader = csv.DictReader(csvfile)
61
-
62
- # Convert bill_date to datetime for comparison
63
- bill_date_obj = datetime.strptime(bill_date, "%d/%m/%Y")
64
-
65
- # Filter data for the given customer and date
66
- customer_bills = []
67
- specific_bill = None
68
-
69
- for row in reader:
70
- if row["customer_id"] == str(customer_id):
71
- # Parse the date from CSV
72
- row_date = datetime.strptime(row["date"], "%Y-%m-%d")
73
- row["amount"] = float(row["amount"])
74
- customer_bills.append(row)
75
-
76
- # Check if this is the specific bill we're looking for
77
- if row_date.date() == bill_date_obj.date():
78
- specific_bill = row
79
-
80
- if specific_bill is None:
81
- dispatcher.utter_message(
82
- f"No bill found for {bill_date_obj.date()}."
83
- )
84
- return []
85
-
86
- bill_amount = float(specific_bill["amount"])
87
-
88
- # Calculate average
89
- if customer_bills:
90
- average_bill = sum(
91
- float(bill["amount"]) for bill in customer_bills
92
- ) / len(customer_bills)
93
- else:
94
- average_bill = 0.0
95
-
96
- difference = bill_amount - average_bill
97
-
98
- # Generate response
99
- response = (
100
- f"Your bill for {bill_month} {bill_date_obj.date().year} is "
101
- f"${bill_amount:.2f}. \n"
102
- f"The average of your past bills is ${average_bill:.2f}. \n"
103
- f"This bill is {'higher' if difference > 0 else 'lower'} than "
104
- f"your average by ${abs(difference):.2f}."
105
- )
106
-
107
- dispatcher.utter_message(response)
108
- return [
109
- SlotSet("bill_amount", float(bill_amount)),
110
- SlotSet("average_bill", float(average_bill)),
111
- SlotSet("difference", float(difference)),
112
- ]
113
-
114
- except FileNotFoundError:
115
- dispatcher.utter_message("Billing data file not found.")
116
- return []
117
- except Exception:
118
- dispatcher.utter_message("Error retrieving billing information.")
119
- return []
120
-
121
-
122
- class ActionRecapBill(Action):
123
- def name(self) -> str:
124
- return "action_recap_bill"
125
-
126
- def run(
127
- self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: DomainDict
128
- ) -> List[Dict[str, Any]]:
129
- # Get customer_id and bill_date from slots
130
- customer_id = tracker.get_slot("customer_id")
131
- bill_month = tracker.get_slot("bill_month")
132
-
133
- bill_date = ActionVerifyBillByDate.text_to_date(bill_month)
134
-
135
- if not customer_id:
136
- dispatcher.utter_message(
137
- "I need your customer ID to fetch your bill recap."
138
- )
139
- return []
140
-
141
- if not bill_date:
142
- dispatcher.utter_message(
143
- "I need a date to fetch your bill recap. Can you provide one?"
144
- )
145
- return []
146
-
147
- # Convert customer_id to int if needed
148
- try:
149
- customer_id = int(customer_id)
150
- except ValueError:
151
- dispatcher.utter_message("Invalid customer ID format.")
152
- return []
153
-
154
- try:
155
- # Load CSV file
156
- with open("csvs/billing.csv", "r", newline="") as csvfile:
157
- reader = csv.DictReader(csvfile)
158
-
159
- bill_date_obj = datetime.strptime(bill_date, "%d/%m/%Y")
160
-
161
- # Filter records for the given customer_id
162
- filtered_records: List[Dict[str, Any]] = []
163
- for row in reader:
164
- if row["customer_id"] == str(customer_id):
165
- # Parse date and add to filtered records
166
- row_date: datetime = datetime.strptime(row["date"], "%Y-%m-%d")
167
- filtered_records.append(
168
- {
169
- "date": row_date.date(),
170
- "amount": float(row["amount"]),
171
- "source": row["source"],
172
- }
173
- )
174
-
175
- if not filtered_records:
176
- dispatcher.utter_message(
177
- f"No transactions found for customer {customer_id} on "
178
- f"{bill_date_obj.date().strftime('%B %Y')}."
179
- )
180
- return []
181
-
182
- # Format the output
183
- response1 = "Here is a summary of your costs :"
184
- dispatcher.utter_message(response1)
185
- response = "\n".join(
186
- [
187
- (
188
- f"{record['date']} | {record['amount']} $ "
189
- f"| {record['source']}"
190
- )
191
- for record in filtered_records
192
- ]
193
- )
194
-
195
- # Send response to user
196
- dispatcher.utter_message(response)
197
- return []
198
-
199
- except FileNotFoundError:
200
- dispatcher.utter_message("Billing data file not found.")
201
- return []
202
- except Exception:
203
- dispatcher.utter_message("Error retrieving billing information.")
204
- return []
@@ -1,48 +0,0 @@
1
- import csv
2
- from typing import Dict, List
3
-
4
- from rasa_sdk import Action
5
- from rasa_sdk.events import SlotSet
6
- from rasa_sdk.executor import CollectingDispatcher
7
- from rasa_sdk.interfaces import Tracker
8
- from rasa_sdk.types import DomainDict
9
-
10
-
11
- class ActionGetCustomerInfo(Action):
12
- def name(self) -> str:
13
- return "action_get_customer_info"
14
-
15
- def run(
16
- self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: DomainDict
17
- ) -> List[Dict]:
18
- # Load CSV file
19
- file_path = "csvs/customers.csv" # get information from your DBs
20
- customer_id = tracker.get_slot("customer_id")
21
-
22
- try:
23
- with open(file_path, "r", newline="") as csvfile:
24
- reader = csv.DictReader(csvfile)
25
-
26
- # Filter data for the given customer ID
27
- customer_info = None
28
- for row in reader:
29
- if row["customer_id"] == str(customer_id):
30
- customer_info = row
31
- break
32
-
33
- if customer_info is None:
34
- dispatcher.utter_message("No customer found with this ID.")
35
- return []
36
-
37
- # Extract customer details
38
- first_name = customer_info["first_name"]
39
-
40
- # Set the retrieved name in a slot
41
- return [SlotSet("customer_first_name", first_name)]
42
-
43
- except FileNotFoundError:
44
- dispatcher.utter_message("Customer database file not found.")
45
- return []
46
- except Exception:
47
- dispatcher.utter_message("Error retrieving customer information.")
48
- return []
@@ -1,28 +0,0 @@
1
- import asyncio
2
- import random
3
-
4
- from rasa_sdk import Action
5
- from rasa_sdk.events import EventType, SlotSet
6
- from rasa_sdk.executor import CollectingDispatcher
7
- from rasa_sdk.interfaces import Tracker
8
- from rasa_sdk.types import DomainDict
9
-
10
-
11
- class ActionSleepAndRespond(Action):
12
- def name(self) -> str:
13
- return "actions_run_speed_test"
14
-
15
- async def run(
16
- self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: DomainDict
17
- ) -> list[EventType]:
18
- await asyncio.sleep(10)
19
- dispatcher.utter_message(
20
- text="Thank you for waiting... ✅ "
21
- ) # Send to the user
22
-
23
- random_number = random.randint(
24
- 50, 150
25
- ) # we will pick randomly the internet speed here
26
- # for local testing purposes you can define the number
27
- # for Production testing connect to the API to get this data
28
- return [SlotSet("network_speed", random_number)]
@@ -1,18 +0,0 @@
1
- import asyncio
2
-
3
- from rasa_sdk import Action
4
- from rasa_sdk.events import EventType
5
- from rasa_sdk.executor import CollectingDispatcher
6
- from rasa_sdk.interfaces import Tracker
7
- from rasa_sdk.types import DomainDict
8
-
9
-
10
- class ActionSleepAndRespond(Action):
11
- def name(self) -> str:
12
- return "action_sleep_few_sec"
13
-
14
- async def run(
15
- self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: DomainDict
16
- ) -> list[EventType]:
17
- await asyncio.sleep(3)
18
- return []
@@ -1,25 +0,0 @@
1
- # The config recipe.
2
- recipe: default.v1
3
-
4
- # The assistant project unique identifier
5
- # This default value must be replaced with a unique assistant name within your deployment
6
- assistant_id: placeholder_default
7
-
8
- language: en
9
- pipeline:
10
- - name: CompactLLMCommandGenerator
11
- llm:
12
- model_group: openai-gpt-4o
13
- flow_retrieval:
14
- active: false
15
- prompt_template: prompts/command-generator.jinja2
16
-
17
- # Configuration for Rasa Core.
18
- policies:
19
- - name: FlowPolicy
20
- - name: EnterpriseSearchPolicy
21
- vector_store:
22
- type: "faiss"
23
- source: "./docs"
24
- llm:
25
- model_group: openai-gpt-4o
@@ -1,33 +0,0 @@
1
- # This file contains the credentials for the voice & chat platforms
2
- # which your bot is using.
3
- # https://rasa.com/docs/rasa-pro/connectors/messaging-and-voice-channels/
4
-
5
- rest:
6
- # # you don't need to provide anything here - this channel doesn't
7
- # # require any credentials
8
-
9
-
10
- #facebook:
11
- # verify: "<verify>"
12
- # secret: "<your secret>"
13
- # page-access-token: "<your page access token>"
14
-
15
- #slack:
16
- # slack_token: "<your slack token>"
17
- # slack_channel: "<the slack channel>"
18
- # slack_signing_secret: "<your slack signing secret>"
19
-
20
- #socketio:
21
- # user_message_evt: <event name for user message>
22
- # bot_message_evt: <event name for bot messages>
23
- # session_persistence: <true/false>
24
-
25
- #mattermost:
26
- # url: "https://<mattermost instance>/api/v4"
27
- # token: "<bot token>"
28
- # webhook_url: "<callback URL>"
29
-
30
- # This entry is needed if you are using Rasa Enterprise. The entry represents credentials
31
- # for the Rasa Enterprise "channel", i.e. Talk to your bot and Share with guest testers.
32
- rasa:
33
- url: "http://localhost:5002/api"
@@ -1,10 +0,0 @@
1
- customer_id,date,amount,source
2
- 123,01/01/2025,150.50,Internet
3
- 123,01/02/2025,55.00,Internet
4
- 123,01/03/2025,60.00,Internet
5
- 124,01/01/2025,53.00,TV
6
- 124,01/02/2025,53.00,TV
7
- 124,01/03/2025,53.00,TV
8
- 125,01/01/2025,89.75,Mobile
9
- 125,01/02/2025,89.75,Mobile
10
- 125,01/03/2025,89.75,Mobile
@@ -1,5 +0,0 @@
1
- customer_id,first_name,last_name
2
- 123,Serena,Williams
3
- 124,Lionel, Messi
4
- 125,Tom, Cruise
5
- 456,Beyoncé, Knowles
@@ -1,5 +0,0 @@
1
- flows:
2
- bot_challenge:
3
- description: This flow clarifies that the user is talking to a chatbot, when the user ask if they are talking to a chatbot or a human
4
- steps:
5
- - action: utter_bot_challenge
@@ -1,8 +0,0 @@
1
- flows:
2
- reboot_router: # only reboot/restart the router
3
- if: False
4
- description: Help user reboot and restart their router, the user will be doing this action
5
- steps:
6
- - action: utter_explain_reboot_router
7
- - collect: reboot_router
8
- reset_after_flow_ends: true
@@ -1,7 +0,0 @@
1
- flows:
2
- reset_router: # restet the router rometely
3
- if: False
4
- description: Help user reset their router, the bot will do this action on behalf of the user
5
- steps:
6
- - action: utter_explain_reset_router
7
- - action: utter_image_reset_router
@@ -1,73 +0,0 @@
1
- flows:
2
- fix_internet_slow: # flow name mandatory – this defines a conversational flow for running diagnostics.
3
- description: Help users solve when internet is slow and provide solutions # description another madatory field this will be sent to CALM
4
- steps:
5
- - action: utter_acknowledge_issue # an utter a response that the assistant will display to the end user.
6
- - action: action_sleep_few_sec # Adding sleep time in a chatbot conversation makes interactions feel more natural,
7
- #improves readability, and simulates processing delays for a better user experience.
8
- - call: run_diagnostics # Call a flow, this flow can be re-used multiple times.
9
- # fix_internet_slow will (parent flow) call run_diagnostics (child flow)
10
- # when you call a flow, you go to the child flow and then be back to the parent flow
11
- # first call
12
- next:
13
- - if: slots.network_speed < 100 # the syntax is important it has to be slots, this slot has to be float as well
14
- then:
15
- - action: utter_acknowledge_speed_test_not_good
16
- - action: action_sleep_few_sec
17
- - action: utter_propose_reboot_router_solution
18
- - action: action_sleep_few_sec
19
- - call: reboot_router
20
- next:
21
- - if: slots.reboot_router # this slot is boolean
22
- then:
23
- - call: run_diagnostics # Second call
24
- next:
25
- - if: slots.network_speed > 100
26
- then:
27
- - action: action_sleep_few_sec
28
- - action: utter_speed_issue_resolved
29
- next: "END" # this has to be added, either next END to explain the flow end or point to another section
30
- - else:
31
- - action: action_sleep_few_sec
32
- - action: utter_speed_issue_not_resolved
33
- - call: reset_router
34
- - action: utter_final_diagnistics_run
35
- - call: run_diagnostics # Third call
36
- next:
37
- - if: slots.network_speed < 100
38
- then:
39
- - action: utter_acknowledge_speed_test_not_good
40
- - action: utter_fail_to_find_fix
41
- - link: pattern_human_handoff # when you link a flow, you go to the child flow and then the flow ends there.
42
- - else:
43
- - action: action_sleep_few_sec
44
- - action: utter_final_try_worked
45
- - action: utter_speed_issue_resolved
46
- next: "END"
47
-
48
-
49
- - else:
50
- - link: pattern_human_handoff
51
- - else:
52
- - action: utter_speed_network_not_issue
53
- - action: action_sleep_few_sec
54
- - action: utter_propose_other_solutions
55
- - action: action_sleep_few_sec
56
- - collect: more_help_needed
57
- next:
58
- - if: slots.more_help_needed
59
- then:
60
- - link: pattern_human_handoff
61
- - else:
62
- - action: action_sleep_few_sec
63
- - action: utter_final_help
64
- next: "END"
65
-
66
-
67
- run_diagnostics:
68
- if: False # Conditional check – this flow will not run unless this condition is verified.
69
- #when it is False this means this flow will only be run if it is called by another flow, not the user.
70
- description: run diagnostics to check the internet speed for the user
71
- steps:
72
- - action: utter_communicate_run_diagnosticss
73
- - action: actions_run_speed_test