rasa-pro 3.14.0.dev6__py3-none-any.whl → 3.14.0.dev8__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 (491) hide show
  1. rasa/agents/agent_manager.py +1 -1
  2. rasa/agents/constants.py +2 -2
  3. rasa/agents/exceptions.py +31 -1
  4. rasa/agents/protocol/a2a/a2a_agent.py +385 -227
  5. rasa/agents/protocol/mcp/mcp_base_agent.py +37 -19
  6. rasa/agents/protocol/mcp/mcp_open_agent.py +31 -8
  7. rasa/agents/protocol/mcp/mcp_task_agent.py +33 -10
  8. rasa/agents/schemas/agent_output.py +1 -1
  9. rasa/agents/utils.py +95 -1
  10. rasa/agents/validation.py +484 -0
  11. rasa/api.py +9 -6
  12. rasa/builder/README.md +120 -0
  13. rasa/builder/__init__.py +0 -0
  14. rasa/builder/auth.py +176 -0
  15. rasa/builder/config.py +92 -0
  16. rasa/builder/copilot/__init__.py +0 -0
  17. rasa/builder/copilot/constants.py +31 -0
  18. rasa/builder/copilot/copilot.py +450 -0
  19. rasa/builder/copilot/copilot_response_handler.py +522 -0
  20. rasa/builder/copilot/copilot_templated_message_provider.py +58 -0
  21. rasa/builder/copilot/exceptions.py +32 -0
  22. rasa/builder/copilot/models.py +500 -0
  23. rasa/builder/copilot/prompts/__init__.py +0 -0
  24. rasa/builder/copilot/prompts/copilot_system_prompt.jinja2 +766 -0
  25. rasa/builder/copilot/prompts/latest_user_message_context_prompt.jinja2 +61 -0
  26. rasa/builder/copilot/signing.py +305 -0
  27. rasa/builder/copilot/telemetry.py +210 -0
  28. rasa/builder/copilot/templated_messages/__init__.py +0 -0
  29. rasa/builder/copilot/templated_messages/copilot_internal_messages_templates.yml +16 -0
  30. rasa/builder/copilot/templated_messages/copilot_templated_responses.yml +38 -0
  31. rasa/builder/document_retrieval/__init__.py +0 -0
  32. rasa/builder/document_retrieval/constants.py +15 -0
  33. rasa/builder/document_retrieval/inkeep-rag-response-schema.json +64 -0
  34. rasa/builder/document_retrieval/inkeep_document_retrieval.py +238 -0
  35. rasa/builder/document_retrieval/models.py +62 -0
  36. rasa/builder/download.py +140 -0
  37. rasa/builder/exceptions.py +91 -0
  38. rasa/builder/guardrails/__init__.py +1 -0
  39. rasa/builder/guardrails/constants.py +9 -0
  40. rasa/builder/guardrails/exceptions.py +4 -0
  41. rasa/builder/guardrails/lakera.py +206 -0
  42. rasa/builder/guardrails/models.py +231 -0
  43. rasa/builder/guardrails/store.py +238 -0
  44. rasa/builder/guardrails/utils.py +328 -0
  45. rasa/builder/job_manager.py +87 -0
  46. rasa/builder/jobs.py +282 -0
  47. rasa/builder/llm_service.py +246 -0
  48. rasa/builder/logging_utils.py +265 -0
  49. rasa/builder/main.py +243 -0
  50. rasa/builder/models.py +216 -0
  51. rasa/builder/project_generator.py +458 -0
  52. rasa/builder/project_info.py +72 -0
  53. rasa/builder/scrape_rasa_docs.py +97 -0
  54. rasa/builder/service.py +1345 -0
  55. rasa/builder/shared/tracker_context.py +212 -0
  56. rasa/builder/skill_to_bot_prompt.jinja2 +164 -0
  57. rasa/builder/template_cache.py +244 -0
  58. rasa/builder/training_service.py +194 -0
  59. rasa/builder/validation_service.py +97 -0
  60. rasa/cli/arguments/train.py +2 -0
  61. rasa/cli/interactive.py +2 -0
  62. rasa/cli/project_templates/basic/README.md +23 -0
  63. rasa/cli/project_templates/basic/actions/__init__ +0 -0
  64. rasa/cli/project_templates/basic/actions/action_human_handoff.py +40 -0
  65. rasa/cli/project_templates/basic/actions/actions.md +10 -0
  66. rasa/cli/project_templates/basic/config.yml +29 -0
  67. rasa/cli/project_templates/basic/credentials.yml +33 -0
  68. rasa/cli/project_templates/basic/data/data.md +9 -0
  69. rasa/cli/project_templates/basic/data/general/feedback.yml +21 -0
  70. rasa/cli/project_templates/basic/data/general/goodbye.yml +6 -0
  71. rasa/cli/project_templates/basic/data/general/hello.yml +6 -0
  72. rasa/cli/project_templates/basic/data/general/help.yml +6 -0
  73. rasa/cli/project_templates/basic/data/general/human_handoff.yml +16 -0
  74. rasa/cli/project_templates/basic/data/general/show_faqs.yml +6 -0
  75. rasa/cli/project_templates/basic/data/system/patterns/pattern_cannot_handle.yml +7 -0
  76. rasa/cli/project_templates/basic/data/system/patterns/pattern_completed.yml +7 -0
  77. rasa/cli/project_templates/basic/data/system/patterns/pattern_correction.yml +7 -0
  78. rasa/cli/project_templates/basic/data/system/patterns/pattern_search.yml +8 -0
  79. rasa/cli/project_templates/basic/data/system/patterns/pattern_session_start.yml +8 -0
  80. rasa/cli/project_templates/basic/docs/docs.md +5 -0
  81. rasa/cli/project_templates/basic/docs/template.txt +28 -0
  82. rasa/cli/project_templates/basic/domain/domain.md +8 -0
  83. rasa/cli/project_templates/basic/domain/general/feedback.yml +25 -0
  84. rasa/cli/project_templates/basic/domain/general/goodbye.yml +9 -0
  85. rasa/cli/project_templates/basic/domain/general/hello.yml +7 -0
  86. rasa/cli/project_templates/basic/domain/general/help.yml +21 -0
  87. rasa/cli/project_templates/basic/domain/general/human_handoff.yml +32 -0
  88. rasa/cli/project_templates/basic/domain/general/show_faqs.yml +14 -0
  89. rasa/cli/project_templates/basic/domain/system/patterns/pattern_cannot_handle.yml +5 -0
  90. rasa/cli/project_templates/basic/domain/system/patterns/pattern_session_start.yml +19 -0
  91. rasa/cli/project_templates/basic/endpoints.yml +67 -0
  92. rasa/cli/project_templates/basic/prompts/rephraser_demo_personality_prompt.jinja2 +38 -0
  93. rasa/cli/project_templates/default/config.yml +4 -0
  94. rasa/cli/project_templates/default/endpoints.yml +4 -0
  95. rasa/cli/project_templates/finance/README.md +25 -0
  96. rasa/cli/project_templates/finance/actions/__init__.py +46 -0
  97. rasa/cli/project_templates/finance/actions/accounts/__init__.py +0 -0
  98. rasa/cli/project_templates/finance/actions/accounts/action_ask_account.py +47 -0
  99. rasa/cli/project_templates/finance/actions/accounts/action_check_balance.py +40 -0
  100. rasa/cli/project_templates/finance/actions/action_session_start.py +74 -0
  101. rasa/cli/project_templates/finance/actions/actions.md +15 -0
  102. rasa/cli/project_templates/finance/actions/cards/__init__.py +0 -0
  103. rasa/cli/project_templates/finance/actions/cards/action_ask_card.py +48 -0
  104. rasa/cli/project_templates/finance/actions/cards/action_check_card_existence.py +36 -0
  105. rasa/cli/project_templates/finance/actions/cards/action_update_card_status.py +54 -0
  106. rasa/cli/project_templates/finance/actions/database.py +277 -0
  107. rasa/cli/project_templates/finance/actions/transfers/__init__.py +0 -0
  108. rasa/cli/project_templates/finance/actions/transfers/action_add_payee.py +52 -0
  109. rasa/cli/project_templates/finance/actions/transfers/action_ask_account_from.py +51 -0
  110. rasa/cli/project_templates/finance/actions/transfers/action_check_payee_existence.py +40 -0
  111. rasa/cli/project_templates/finance/actions/transfers/action_check_sufficient_funds.py +40 -0
  112. rasa/cli/project_templates/finance/actions/transfers/action_list_payees.py +46 -0
  113. rasa/cli/project_templates/finance/actions/transfers/action_process_immediate_payment.py +18 -0
  114. rasa/cli/project_templates/finance/actions/transfers/action_remove_payee.py +49 -0
  115. rasa/cli/project_templates/finance/actions/transfers/action_schedule_payment.py +19 -0
  116. rasa/cli/project_templates/finance/actions/transfers/action_validate_payment_date.py +36 -0
  117. rasa/cli/project_templates/finance/config.yml +23 -0
  118. rasa/cli/project_templates/finance/credentials.yml +32 -0
  119. rasa/cli/project_templates/finance/csvs/accounts.csv +8 -0
  120. rasa/cli/project_templates/finance/csvs/advisors.csv +7 -0
  121. rasa/cli/project_templates/finance/csvs/appointments.csv +211 -0
  122. rasa/cli/project_templates/finance/csvs/branches.csv +10 -0
  123. rasa/cli/project_templates/finance/csvs/cards.csv +11 -0
  124. rasa/cli/project_templates/finance/csvs/payees.csv +11 -0
  125. rasa/cli/project_templates/finance/csvs/transactions.csv +71 -0
  126. rasa/cli/project_templates/finance/csvs/users.csv +4 -0
  127. rasa/cli/project_templates/finance/data/accounts/check_balance.yml +10 -0
  128. rasa/cli/project_templates/finance/data/cards/block_card.yml +66 -0
  129. rasa/cli/project_templates/finance/data/cards/select_card.yml +12 -0
  130. rasa/cli/project_templates/finance/data/data.md +11 -0
  131. rasa/cli/project_templates/finance/data/general/bot_identity.yml +6 -0
  132. rasa/cli/project_templates/finance/data/general/feedback.yml +20 -0
  133. rasa/cli/project_templates/finance/data/general/goodbye.yml +6 -0
  134. rasa/cli/project_templates/finance/data/general/hello.yml +7 -0
  135. rasa/cli/project_templates/finance/data/general/help.yml +9 -0
  136. rasa/cli/project_templates/finance/data/general/human_handoff.yml +16 -0
  137. rasa/cli/project_templates/finance/data/general/welcome.yml +9 -0
  138. rasa/cli/project_templates/finance/data/system/patterns/pattern_chitchat.yml +5 -0
  139. rasa/cli/project_templates/finance/data/system/patterns/pattern_completed.yml +7 -0
  140. rasa/cli/project_templates/finance/data/system/patterns/pattern_correction.yml +7 -0
  141. rasa/cli/project_templates/finance/data/system/patterns/pattern_search.yml +8 -0
  142. rasa/cli/project_templates/finance/data/system/patterns/pattern_session_start.yml +8 -0
  143. rasa/cli/project_templates/finance/data/system/source/accounts.json +51 -0
  144. rasa/cli/project_templates/finance/data/system/source/advisors.json +44 -0
  145. rasa/cli/project_templates/finance/data/system/source/appointments.json +1474 -0
  146. rasa/cli/project_templates/finance/data/system/source/branches.json +47 -0
  147. rasa/cli/project_templates/finance/data/system/source/cards.json +72 -0
  148. rasa/cli/project_templates/finance/data/system/source/payees.json +74 -0
  149. rasa/cli/project_templates/finance/data/system/source/transactions.json +492 -0
  150. rasa/cli/project_templates/finance/data/system/source/users.json +29 -0
  151. rasa/cli/project_templates/finance/data/transfers/add_payee.yml +29 -0
  152. rasa/cli/project_templates/finance/data/transfers/list_payees.yml +5 -0
  153. rasa/cli/project_templates/finance/data/transfers/remove_payee.yml +21 -0
  154. rasa/cli/project_templates/finance/data/transfers/transfer_money.yml +67 -0
  155. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/consequences_of_blocking_card.txt +8 -0
  156. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/reasons_to_block_card.txt +8 -0
  157. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/recovering_from_card_fraud.txt +8 -0
  158. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/tips_for_card_security.txt +8 -0
  159. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/what_to_do_if_card_is_lost.txt +8 -0
  160. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/account_balance_security.txt +7 -0
  161. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/common_balance_inquiries.txt +8 -0
  162. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/methods_to_check_balance.txt +8 -0
  163. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/understanding_balance_updates.txt +8 -0
  164. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/what_to_do_if_balance_is_incorrect.txt +8 -0
  165. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/benefits_of_authorised_payees.txt +8 -0
  166. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/common_issues_with_payees.txt +8 -0
  167. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/general_payee_information.txt +8 -0
  168. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/payee_management_tips.txt +8 -0
  169. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/understanding_payee_types.txt +8 -0
  170. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/common_transfer_errors.txt +8 -0
  171. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/fees_for_transfers.txt +8 -0
  172. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/general_transfer_information.txt +8 -0
  173. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/security_tips_for_transfers.txt +8 -0
  174. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/transfer_processing_times.txt +8 -0
  175. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part1.txt +50 -0
  176. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part10.txt +50 -0
  177. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part11.txt +48 -0
  178. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part12.txt +50 -0
  179. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part13.txt +50 -0
  180. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part14.txt +47 -0
  181. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part15.txt +50 -0
  182. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part16.txt +50 -0
  183. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part17.txt +47 -0
  184. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part18.txt +50 -0
  185. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part19.txt +50 -0
  186. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part2.txt +50 -0
  187. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part20.txt +47 -0
  188. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part21.txt +50 -0
  189. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part22.txt +50 -0
  190. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part23.txt +47 -0
  191. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part24.txt +50 -0
  192. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part25.txt +50 -0
  193. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part26.txt +47 -0
  194. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part27.txt +50 -0
  195. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part28.txt +50 -0
  196. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part29.txt +47 -0
  197. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part3.txt +47 -0
  198. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part30.txt +50 -0
  199. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part31.txt +50 -0
  200. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part32.txt +47 -0
  201. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part33.txt +50 -0
  202. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part34.txt +50 -0
  203. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part35.txt +47 -0
  204. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part36.txt +50 -0
  205. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part37.txt +50 -0
  206. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part38.txt +47 -0
  207. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part39.txt +50 -0
  208. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part4.txt +50 -0
  209. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part40.txt +50 -0
  210. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part41.txt +47 -0
  211. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part42.txt +50 -0
  212. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part43.txt +50 -0
  213. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part44.txt +47 -0
  214. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part45.txt +50 -0
  215. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part46.txt +50 -0
  216. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part47.txt +47 -0
  217. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part48.txt +50 -0
  218. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part49.txt +50 -0
  219. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part5.txt +50 -0
  220. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part50.txt +47 -0
  221. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part51.txt +50 -0
  222. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part52.txt +50 -0
  223. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part53.txt +47 -0
  224. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part54.txt +50 -0
  225. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part55.txt +50 -0
  226. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part56.txt +47 -0
  227. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part57.txt +50 -0
  228. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part58.txt +50 -0
  229. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part59.txt +47 -0
  230. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part6.txt +47 -0
  231. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part60.txt +50 -0
  232. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part61.txt +50 -0
  233. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part7.txt +50 -0
  234. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part8.txt +50 -0
  235. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part9.txt +47 -0
  236. rasa/cli/project_templates/finance/domain/accounts/check_balance.yml +11 -0
  237. rasa/cli/project_templates/finance/domain/cards/block_card.yml +101 -0
  238. rasa/cli/project_templates/finance/domain/cards/select_card.yml +12 -0
  239. rasa/cli/project_templates/finance/domain/domain.md +10 -0
  240. rasa/cli/project_templates/finance/domain/general/agent_details.yml +12 -0
  241. rasa/cli/project_templates/finance/domain/general/bot_identity.yml +5 -0
  242. rasa/cli/project_templates/finance/domain/general/cannot_handle.yml +5 -0
  243. rasa/cli/project_templates/finance/domain/general/defaults.yml +24 -0
  244. rasa/cli/project_templates/finance/domain/general/feedback.yml +28 -0
  245. rasa/cli/project_templates/finance/domain/general/goodbye.yml +7 -0
  246. rasa/cli/project_templates/finance/domain/general/help.yml +5 -0
  247. rasa/cli/project_templates/finance/domain/general/human_handoff.yml +30 -0
  248. rasa/cli/project_templates/finance/domain/general/utils.yml +13 -0
  249. rasa/cli/project_templates/finance/domain/general/welcome.yml +8 -0
  250. rasa/cli/project_templates/finance/domain/transfers/add_payee.yml +47 -0
  251. rasa/cli/project_templates/finance/domain/transfers/list_payees.yml +4 -0
  252. rasa/cli/project_templates/finance/domain/transfers/remove_payee.yml +16 -0
  253. rasa/cli/project_templates/finance/domain/transfers/transfer_money.yml +79 -0
  254. rasa/cli/project_templates/finance/endpoints.yml +66 -0
  255. rasa/cli/project_templates/finance/prompts/rephraser_demo_personality_prompt.jinja2 +19 -0
  256. rasa/cli/project_templates/telco/README.md +25 -0
  257. rasa/cli/project_templates/telco/actions/__init__.py +0 -0
  258. rasa/cli/project_templates/telco/actions/actions.md +12 -0
  259. rasa/cli/project_templates/telco/actions/billing/__init__.py +0 -0
  260. rasa/cli/project_templates/telco/actions/billing/actions_billing.py +204 -0
  261. rasa/cli/project_templates/telco/actions/general/__init__.py +0 -0
  262. rasa/cli/project_templates/telco/actions/general/action_human_handoff.py +49 -0
  263. rasa/cli/project_templates/telco/actions/network/__init__.py +0 -0
  264. rasa/cli/project_templates/telco/actions/network/actions_get_data_from_db.py +48 -0
  265. rasa/cli/project_templates/telco/actions/network/actions_run_diagnostics.py +28 -0
  266. rasa/cli/project_templates/telco/actions/network/actions_session_start.py +18 -0
  267. rasa/cli/project_templates/telco/config.yml +29 -0
  268. rasa/cli/project_templates/telco/credentials.yml +33 -0
  269. rasa/cli/project_templates/telco/csvs/billing.csv +19 -0
  270. rasa/cli/project_templates/telco/csvs/customers.csv +5 -0
  271. rasa/cli/project_templates/telco/data/billing/flow_understand_bill.yml +45 -0
  272. rasa/cli/project_templates/telco/data/data.md +11 -0
  273. rasa/cli/project_templates/telco/data/general/bot_challenge.yml +6 -0
  274. rasa/cli/project_templates/telco/data/general/feedback.yml +20 -0
  275. rasa/cli/project_templates/telco/data/general/goodbye.yml +6 -0
  276. rasa/cli/project_templates/telco/data/general/hello.yml +6 -0
  277. rasa/cli/project_templates/telco/data/general/human_handoff.yml +16 -0
  278. rasa/cli/project_templates/telco/data/general/patterns.yml +30 -0
  279. rasa/cli/project_templates/telco/data/network/flow_reboot_router.yml +8 -0
  280. rasa/cli/project_templates/telco/data/network/flow_reset_router.yml +7 -0
  281. rasa/cli/project_templates/telco/data/network/flow_solve_internet_issue.yml +73 -0
  282. rasa/cli/project_templates/telco/docs/docs.md +5 -0
  283. rasa/cli/project_templates/telco/docs/network/reset_vs_rboot_router.txt +1 -0
  284. rasa/cli/project_templates/telco/docs/network/restart_router.txt +6 -0
  285. rasa/cli/project_templates/telco/docs/network/run_speed_test.txt +6 -0
  286. rasa/cli/project_templates/telco/domain/billing/understand_bill.yml +102 -0
  287. rasa/cli/project_templates/telco/domain/domain.md +14 -0
  288. rasa/cli/project_templates/telco/domain/general/bot_challenge.yml +4 -0
  289. rasa/cli/project_templates/telco/domain/general/feedback.yml +25 -0
  290. rasa/cli/project_templates/telco/domain/general/goodbye.yml +7 -0
  291. rasa/cli/project_templates/telco/domain/general/hello.yml +5 -0
  292. rasa/cli/project_templates/telco/domain/general/human_handoff.yml +26 -0
  293. rasa/cli/project_templates/telco/domain/general/patterns.yml +33 -0
  294. rasa/cli/project_templates/telco/domain/network/reboot_router.yml +21 -0
  295. rasa/cli/project_templates/telco/domain/network/reset_router.yml +12 -0
  296. rasa/cli/project_templates/telco/domain/network/run_speed_test.yml +25 -0
  297. rasa/cli/project_templates/telco/domain/network/solve_internet_issue.yml +75 -0
  298. rasa/cli/project_templates/telco/domain/shared.yml +129 -0
  299. rasa/cli/project_templates/telco/endpoints.yml +67 -0
  300. rasa/cli/project_templates/telco/prompts/rephraser_demo_personality_prompt.jinja2 +40 -0
  301. rasa/cli/project_templates/telco/tests/e2e_test_cases/billing/understand_bill.yml +67 -0
  302. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/bot_challenge.yml +8 -0
  303. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/feedback.yml +46 -0
  304. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/goodbye.yml +9 -0
  305. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/hello.yml +8 -0
  306. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/human_handoff.yml +35 -0
  307. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/patterns.yml +23 -0
  308. rasa/cli/project_templates/telco/tests/e2e_test_cases/network/solve_internet_issue.yml +57 -0
  309. rasa/cli/project_templates/tutorial/config.yml +2 -1
  310. rasa/cli/scaffold.py +46 -2
  311. rasa/cli/train.py +2 -0
  312. rasa/cli/utils.py +85 -1
  313. rasa/core/actions/action.py +2 -7
  314. rasa/core/available_agents.py +49 -26
  315. rasa/core/available_endpoints.py +17 -2
  316. rasa/core/channels/channel.py +4 -3
  317. rasa/core/channels/constants.py +3 -0
  318. rasa/core/channels/development_inspector.py +2 -22
  319. rasa/core/channels/inspector/README.md +26 -14
  320. rasa/core/channels/inspector/dist/assets/{arc-63212852.js → arc-edef10dd.js} +1 -1
  321. rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-eecf6b13.js → blockDiagram-38ab4fdb-49f6762b.js} +1 -1
  322. rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-8f798a9a.js → c4Diagram-3d4e48cf-313c08e6.js} +1 -1
  323. rasa/core/channels/inspector/dist/assets/channel-63aa27d1.js +1 -0
  324. rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-df71a04c.js → classDiagram-70f12bd4-35e41ce9.js} +1 -1
  325. rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-9b275968.js → classDiagram-v2-f2320105-f346068d.js} +1 -1
  326. rasa/core/channels/inspector/dist/assets/clone-5566bae8.js +1 -0
  327. rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-1c669cad.js → createText-2e5e7dd3-7a44bce8.js} +1 -1
  328. rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-b1553799.js → edges-e0da2a9e-d7cf78c7.js} +1 -1
  329. rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-112388d6.js → erDiagram-9861fffd-9813e81c.js} +1 -1
  330. rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-fdebec47.js → flowDb-956e92f1-d8ba0870.js} +1 -1
  331. rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-6280ede1.js → flowDiagram-66a62f08-51f0db4d.js} +1 -1
  332. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-32936074.js +1 -0
  333. rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-e1dc03e5.js → flowchart-elk-definition-4a651766-ff9ea384.js} +1 -1
  334. rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-83f68c51.js → ganttDiagram-c361ad54-a8e13b6b.js} +1 -1
  335. rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-22f8666f.js → gitGraphDiagram-72cf32ee-3b171c6d.js} +1 -1
  336. rasa/core/channels/inspector/dist/assets/{graph-ca9e6217.js → graph-790ef78b.js} +1 -1
  337. rasa/core/channels/inspector/dist/assets/{index-3862675e-c5ceb692.js → index-3862675e-ecdce073.js} +1 -1
  338. rasa/core/channels/inspector/dist/assets/index-d705da80.js +1352 -0
  339. rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-faa9999b.js → infoDiagram-f8f76790-f5a422fe.js} +1 -1
  340. rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-c4dda8d9.js → journeyDiagram-49397b02-3185b7ac.js} +1 -1
  341. rasa/core/channels/inspector/dist/assets/{layout-d4307784.js → layout-837fd3aa.js} +1 -1
  342. rasa/core/channels/inspector/dist/assets/{line-0567aaa7.js → line-7e05afcb.js} +1 -1
  343. rasa/core/channels/inspector/dist/assets/{linear-c11b95cf.js → linear-162eb295.js} +1 -1
  344. rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-0c7d3ca9.js → mindmap-definition-fc14e90a-f4978aee.js} +1 -1
  345. rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-34b433fa.js → pieDiagram-8a3498a8-b25d0a52.js} +1 -1
  346. rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-4cab816e.js → quadrantDiagram-120e2f19-63db1afa.js} +1 -1
  347. rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-8c22fa9e.js → requirementDiagram-deff3bca-1b486cc9.js} +1 -1
  348. rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-70ce9e8e.js → sankeyDiagram-04a897e0-7e795291.js} +1 -1
  349. rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-fbcd7fc9.js → sequenceDiagram-704730f1-b8aba159.js} +1 -1
  350. rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-45f05ea6.js → stateDiagram-587899a1-41529fd5.js} +1 -1
  351. rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-beab1ea6.js → stateDiagram-v2-d93cdb3a-b241043c.js} +1 -1
  352. rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-2f29dbd5.js → styles-6aaf32cf-b5b53234.js} +1 -1
  353. rasa/core/channels/inspector/dist/assets/{styles-9a916d00-951eac83.js → styles-9a916d00-13d138e5.js} +1 -1
  354. rasa/core/channels/inspector/dist/assets/{styles-c10674c1-897fbfdd.js → styles-c10674c1-94cbde3f.js} +1 -1
  355. rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-d667fac1.js → svgDrawCommon-08f97a94-453ae764.js} +1 -1
  356. rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-e3205144.js → timeline-definition-85554ec2-8dcb88a4.js} +1 -1
  357. rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-4abeb0e2.js → xychartDiagram-e933f94c-376af5f0.js} +1 -1
  358. rasa/core/channels/inspector/dist/index.html +2 -2
  359. rasa/core/channels/inspector/index.html +1 -1
  360. rasa/core/channels/inspector/src/App.tsx +42 -44
  361. rasa/core/channels/inspector/src/components/Chat.tsx +2 -3
  362. rasa/core/channels/inspector/src/components/DialogueAgentStack.tsx +108 -0
  363. rasa/core/channels/inspector/src/components/{DialogueStack.tsx → DialogueHistoryStack.tsx} +8 -8
  364. rasa/core/channels/inspector/src/components/DialogueInformation.tsx +20 -3
  365. rasa/core/channels/inspector/src/components/LatencyDisplay.tsx +63 -35
  366. rasa/core/channels/inspector/src/helpers/audio/audiostream.ts +14 -0
  367. rasa/core/channels/inspector/src/helpers/formatters.test.ts +4 -0
  368. rasa/core/channels/inspector/src/helpers/utils.test.ts +127 -0
  369. rasa/core/channels/inspector/src/helpers/utils.ts +66 -1
  370. rasa/core/channels/inspector/src/types.ts +49 -7
  371. rasa/core/channels/socketio.py +212 -51
  372. rasa/core/channels/studio_chat.py +59 -57
  373. rasa/core/channels/voice_stream/asr/asr_event.py +1 -1
  374. rasa/core/channels/voice_stream/asr/azure.py +6 -3
  375. rasa/core/channels/voice_stream/asr/deepgram.py +1 -1
  376. rasa/core/channels/voice_stream/audiocodes.py +3 -0
  377. rasa/core/channels/voice_stream/browser_audio.py +53 -3
  378. rasa/core/channels/voice_stream/genesys.py +2 -1
  379. rasa/core/channels/voice_stream/jambonz.py +9 -1
  380. rasa/core/channels/voice_stream/twilio_media_streams.py +16 -0
  381. rasa/core/channels/voice_stream/voice_channel.py +66 -3
  382. rasa/core/constants.py +6 -0
  383. rasa/core/iam_credentials_providers/__init__.py +0 -0
  384. rasa/core/iam_credentials_providers/aws_iam_credentials_providers.py +66 -0
  385. rasa/core/iam_credentials_providers/credentials_provider_protocol.py +89 -0
  386. rasa/core/policies/enterprise_search_policy.py +4 -7
  387. rasa/core/policies/flows/flow_executor.py +66 -36
  388. rasa/core/policies/ted_policy.py +7 -5
  389. rasa/core/processor.py +32 -0
  390. rasa/core/redis_connection_factory.py +411 -0
  391. rasa/core/run.py +13 -3
  392. rasa/core/tracker_stores/redis_tracker_store.py +32 -14
  393. rasa/core/tracker_stores/sql_tracker_store.py +57 -1
  394. rasa/dialogue_understanding/commands/cancel_flow_command.py +2 -81
  395. rasa/dialogue_understanding/commands/start_flow_command.py +18 -113
  396. rasa/dialogue_understanding/commands/utils.py +118 -0
  397. rasa/dialogue_understanding/generator/flow_retrieval.py +10 -9
  398. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_claude_3_5_sonnet_20240620_template.jinja2 +10 -5
  399. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_gpt_4o_2024_11_20_template.jinja2 +10 -5
  400. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_claude_3_5_sonnet_20240620_template.jinja2 +20 -12
  401. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_gpt_4o_2024_11_20_template.jinja2 +19 -12
  402. rasa/dialogue_understanding/generator/single_step/single_step_based_llm_command_generator.py +6 -35
  403. rasa/dialogue_understanding/patterns/cancel.py +27 -6
  404. rasa/dialogue_understanding/patterns/clarify.py +3 -14
  405. rasa/dialogue_understanding/patterns/continue_interrupted.py +185 -114
  406. rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +18 -24
  407. rasa/dialogue_understanding/processor/command_processor.py +35 -0
  408. rasa/dialogue_understanding/stack/utils.py +43 -4
  409. rasa/dialogue_understanding/utils.py +24 -4
  410. rasa/engine/graph.py +5 -1
  411. rasa/engine/recipes/default_components.py +78 -10
  412. rasa/engine/recipes/default_recipe.py +41 -1
  413. rasa/engine/storage/local_model_storage.py +83 -3
  414. rasa/graph_components/validators/default_recipe_validator.py +153 -135
  415. rasa/model_manager/model_api.py +4 -5
  416. rasa/model_manager/runner_service.py +1 -1
  417. rasa/model_manager/socket_bridge.py +20 -15
  418. rasa/model_manager/trainer_service.py +12 -9
  419. rasa/model_manager/utils.py +1 -29
  420. rasa/model_manager/warm_rasa_process.py +1 -1
  421. rasa/model_training.py +22 -6
  422. rasa/nlu/classifiers/diet_classifier.py +22 -6
  423. rasa/nlu/classifiers/logistic_regression_classifier.py +18 -0
  424. rasa/nlu/extractors/extractor.py +1 -2
  425. rasa/shared/agents/auth/__init__.py +0 -0
  426. rasa/shared/agents/auth/agent_auth_factory.py +74 -0
  427. rasa/shared/agents/auth/agent_auth_manager.py +86 -0
  428. rasa/shared/agents/auth/auth_strategy/__init__.py +19 -0
  429. rasa/shared/agents/auth/auth_strategy/agent_auth_strategy.py +52 -0
  430. rasa/shared/agents/auth/auth_strategy/api_key_auth_strategy.py +42 -0
  431. rasa/shared/agents/auth/auth_strategy/bearer_token_auth_strategy.py +28 -0
  432. rasa/shared/agents/auth/auth_strategy/oauth2_auth_strategy.py +159 -0
  433. rasa/shared/agents/auth/constants.py +11 -0
  434. rasa/shared/agents/auth/types.py +11 -0
  435. rasa/shared/constants.py +3 -0
  436. rasa/shared/core/constants.py +6 -6
  437. rasa/shared/core/domain.py +58 -11
  438. rasa/shared/core/events.py +2 -0
  439. rasa/shared/core/flows/constants.py +5 -0
  440. rasa/shared/core/flows/flow_step.py +7 -1
  441. rasa/shared/core/flows/flows_list.py +6 -0
  442. rasa/shared/core/flows/steps/call.py +15 -12
  443. rasa/shared/core/flows/validation.py +238 -44
  444. rasa/shared/core/flows/yaml_flows_io.py +15 -6
  445. rasa/shared/core/slots.py +4 -0
  446. rasa/shared/exceptions.py +12 -0
  447. rasa/shared/importers/importer.py +6 -0
  448. rasa/shared/importers/utils.py +77 -1
  449. rasa/shared/nlu/training_data/schemas/responses.yml +3 -0
  450. rasa/shared/providers/_utils.py +60 -44
  451. rasa/shared/providers/embedding/default_litellm_embedding_client.py +2 -0
  452. rasa/shared/providers/llm/_base_litellm_client.py +2 -2
  453. rasa/shared/providers/llm/default_litellm_llm_client.py +2 -0
  454. rasa/shared/providers/llm/llm_response.py +4 -4
  455. rasa/shared/utils/common.py +24 -0
  456. rasa/shared/utils/health_check/health_check.py +7 -3
  457. rasa/shared/utils/llm.py +2 -1
  458. rasa/shared/utils/mcp/server_connection.py +108 -27
  459. rasa/shared/utils/mcp/utils.py +20 -0
  460. rasa/studio/upload.py +16 -47
  461. rasa/telemetry.py +97 -23
  462. rasa/tracing/config.py +38 -12
  463. rasa/tracing/instrumentation/attribute_extractors.py +5 -1
  464. rasa/tracing/instrumentation/instrumentation.py +85 -8
  465. rasa/utils/common.py +1 -1
  466. rasa/utils/io.py +27 -9
  467. rasa/utils/json_utils.py +6 -1
  468. rasa/utils/log_utils.py +5 -1
  469. rasa/utils/openapi.py +144 -0
  470. rasa/utils/tensorflow/__init__.py +29 -0
  471. rasa/utils/tensorflow/callback.py +1 -1
  472. rasa/utils/tensorflow/crf.py +1 -1
  473. rasa/utils/tensorflow/data_generator.py +21 -8
  474. rasa/utils/tensorflow/layers.py +11 -4
  475. rasa/utils/tensorflow/metrics.py +7 -3
  476. rasa/utils/tensorflow/models.py +41 -6
  477. rasa/utils/tensorflow/rasa_layers.py +6 -4
  478. rasa/utils/tensorflow/transformer.py +2 -3
  479. rasa/utils/train_utils.py +68 -38
  480. rasa/validator.py +18 -16
  481. rasa/version.py +1 -1
  482. rasa_pro-3.14.0.dev8.dist-info/METADATA +199 -0
  483. {rasa_pro-3.14.0.dev6.dist-info → rasa_pro-3.14.0.dev8.dist-info}/RECORD +486 -173
  484. rasa/core/channels/inspector/dist/assets/channel-0cd70adf.js +0 -1
  485. rasa/core/channels/inspector/dist/assets/clone-a0f9c4ed.js +0 -1
  486. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-de9cc4aa.js +0 -1
  487. rasa/core/channels/inspector/dist/assets/index-3e293924.js +0 -1353
  488. rasa_pro-3.14.0.dev6.dist-info/METADATA +0 -190
  489. {rasa_pro-3.14.0.dev6.dist-info → rasa_pro-3.14.0.dev8.dist-info}/NOTICE +0 -0
  490. {rasa_pro-3.14.0.dev6.dist-info → rasa_pro-3.14.0.dev8.dist-info}/WHEEL +0 -0
  491. {rasa_pro-3.14.0.dev6.dist-info → rasa_pro-3.14.0.dev8.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,45 @@
1
+ flows:
2
+ understand_bill:
3
+ if: slots.user_authenticated # the user has to be authenticated in order to access this flow
4
+ description: This flow allows users to check their bill and billing related details.
5
+ steps:
6
+ - collect: bill_month
7
+ ask_before_filling: False
8
+ - action: action_verify_bill_by_date
9
+ - collect: breakdown_cost
10
+ description: |
11
+ This slot is boolean variable. it holds one of two possible values: true or false
12
+ (breakdown_cost = True, breakdown_cost = False), and if the user says "yup," it should be considered True, while "nope" should be considered False
13
+ (e.g., breakdown_cost = True for "yup", breakdown_cost = False for "nope").
14
+ ask_before_filling: true # This can be useful some LLMs will prefill bool slots here we make it mandatory for the bot to ask the user
15
+ next:
16
+ - if: slots.breakdown_cost # it has to be 'slots' with an 's', this means breakdown_cost is True
17
+ then:
18
+ - action: action_recap_bill
19
+ - collect: more_bill_details
20
+ next:
21
+ - if: slots.more_bill_details
22
+ then:
23
+ - action: utter_provide_bill_sources
24
+ next: "END"
25
+ - else: issue_solved_section # this will call "issue_solved_section" section
26
+
27
+ - else: issue_solved_section
28
+
29
+ - id: issue_solved_section # This will help avoid re-writting the same piece of code, this way it can be re-used
30
+ collect: issue_solved
31
+ description: |
32
+ This slot is boolean variable. it holds one of two possible values: true or false
33
+ (issue_solved = True, issue_solved = False), and if the user says "yup" it should be considered True, while "nope" should be considered False
34
+ (e.g., issue_solved = True for "yup", issue_solved = False for "nope").
35
+ ask_before_filling: true
36
+ next:
37
+ - if: not slots.issue_solved # this means issue_solved is False
38
+ then:
39
+ - action: utter_connect_to_human
40
+ - action: action_sleep_few_sec
41
+ - link: human_handoff
42
+
43
+ - else:
44
+ - action: utter_end_conversation
45
+ next: "END"
@@ -0,0 +1,11 @@
1
+ ## 📂 `data/` – The Agent's Business Logic
2
+
3
+ This folder holds files that define your telecom agent's skills using "flows". Each flow is a structured sequence of steps that describes the business logic needed to perform a specific goal.
4
+
5
+ **What you'll find:**
6
+ - **billing/**: Billing and payment flows (bill inquiries, payment processing)
7
+ - **network/**: Network service flows (troubleshooting, diagnostics, service checks)
8
+ - **general/**: General telecom conversations (greetings, help, support)
9
+
10
+ **Edit YAML files in this folder** to add new telecom features, modify existing flows, or adjust what the agent asks customers.
11
+
@@ -0,0 +1,6 @@
1
+ flows:
2
+ bot_challenge:
3
+ name: bot challenge
4
+ 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
5
+ steps:
6
+ - action: utter_bot_challenge
@@ -0,0 +1,20 @@
1
+ # Simple thumbs up/down feedback flow
2
+ flows:
3
+ leave_feedback:
4
+ name: leaving feedback
5
+ description: This flow collects simple thumbs up or thumbs down feedback
6
+ if: False # Flow guard to prevent direct triggering
7
+ steps:
8
+ - collect: feedback_rating
9
+ description: Ask user for thumbs up or thumbs down feedback
10
+ - id: feedback_response
11
+ noop: true
12
+ next:
13
+ - if: slots.feedback_rating == "thumbs_up"
14
+ then: positive_response
15
+ - else: negative_response
16
+ - id: positive_response
17
+ action: utter_thankyou_positive
18
+ next: END
19
+ - id: negative_response
20
+ action: utter_thankyou_negative
@@ -0,0 +1,6 @@
1
+ flows:
2
+ goodbye:
3
+ description: Handle user goodbye messages, say farewell, and collect feedback
4
+ steps:
5
+ - action: utter_goodbye
6
+ - link: leave_feedback
@@ -0,0 +1,6 @@
1
+ flows:
2
+ hello:
3
+ description: Flow for greeting the user hello
4
+ name: hello
5
+ steps:
6
+ - action: utter_hello
@@ -0,0 +1,16 @@
1
+ version: "3.1"
2
+ flows:
3
+ human_handoff:
4
+ description: When you are unable to handle the request or the user is frustrated - offers to hand the user over to a live human agent.
5
+ steps:
6
+ - collect: confirm_human_handoff
7
+ ask_before_filling: True
8
+ next:
9
+ - if: slots.confirm_human_handoff
10
+ then:
11
+ - action: utter_transferring_to_human
12
+ - action: action_human_handoff
13
+ next: END
14
+ - else:
15
+ - action: utter_human_handoff_cancelled
16
+ next: END
@@ -0,0 +1,30 @@
1
+ flows:
2
+ pattern_completed:
3
+ description: A flow has been completed and there is nothing else to be done
4
+ if: False
5
+ steps:
6
+ - noop: true
7
+ next: END
8
+
9
+ pattern_correction:
10
+ description: Handle a correction of a slot value.
11
+ name: pattern correction
12
+ steps:
13
+ - action: action_correct_flow_slot
14
+ next: "END"
15
+
16
+ pattern_search:
17
+ description: Flow for handling knowledge-based questions
18
+ name: pattern search
19
+ steps:
20
+ - id: 0_action_trigger_search
21
+ next: END
22
+ action: action_trigger_search
23
+
24
+ pattern_session_start:
25
+ description: Flow for starting the conversation
26
+ name: pattern session start
27
+ nlu_trigger:
28
+ - intent: session_start
29
+ steps:
30
+ - action: utter_greeting
@@ -0,0 +1,8 @@
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
@@ -0,0 +1,7 @@
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
@@ -0,0 +1,73 @@
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 agent 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: 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: 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: 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
@@ -0,0 +1,5 @@
1
+ ## 📂 `docs/` – The Agent's Knowledge Base (optional)
2
+
3
+ If your agent answers knowledge-based questions (FAQs, policies, etc.), you can put markdown, PDFs, or text files in this folder. Rasa can use this content for retrieval-augmented responses if set up with a vector store [2](https://rasa.com/docs/pro/build/retrieval-actions).
4
+
5
+ **Edit here** to update what your agent can retrieve and summarize for users.
@@ -0,0 +1 @@
1
+ Rebooting a router means simply turning it off and back on without changing any settings. This helps resolve temporary issues like slow speeds or dropped connections and is done by pressing the power button or unplugging the device for a few seconds before turning it back on. Resetting a router, on the other hand, restores it to factory settings, erasing all custom configurations such as the Wi-Fi name, password, and advanced settings. This is done by holding the reset button for about 10-30 seconds until the router restarts. While rebooting is a quick fix for minor issues, resetting should only be done as a last resort when troubleshooting persistent problems.
@@ -0,0 +1,6 @@
1
+ Here are concise summaries of how to turn your router on and off:
2
+ Using the Power Button: Press the power button to turn off the router, wait 30 seconds, then press it again to turn it back on.
3
+ Unplugging Method: Disconnect the power cable, wait 30 seconds, then plug it back in to restart the router.
4
+ Full Restart for Issues: Turn off the router, wait 1 minute, then turn it back on to refresh the connection.
5
+
6
+ To turn your router off, press the power button (if available) or unplug it from the power source. Wait about 30 seconds to 1 minute before turning it back on by pressing the power button again or plugging it back in. This helps refresh the connection and resolve minor network issues.
@@ -0,0 +1,6 @@
1
+ Speed test is run by a special software to check what is the current speed of your Internet when uploading or downloading files
2
+ You can use "Fast.com", "Speedtest.net", or Google "Internet speed test"
3
+ An internet speed test measures your connection's performance by evaluating download and upload speeds (Mbps), ping (latency in ms), and jitter.
4
+ It helps determine how fast data is sent and received, impacting streaming, gaming, and video calls.
5
+ Speed tests are useful for diagnosing slow connections and verifying ISP performance.
6
+ You can use our App for a speed test. Go to the Home menu, select WLAN speed test and run it.
@@ -0,0 +1,102 @@
1
+ actions:
2
+ - action_get_customer_info
3
+ - action_verify_bill_by_date
4
+ - action_recap_bill
5
+
6
+ slots:
7
+ bill_month:
8
+ type: categorical
9
+ mappings:
10
+ - type: from_llm
11
+ values:
12
+ - January
13
+ - February
14
+ - March
15
+ - April
16
+ - May
17
+ - June
18
+ - July
19
+ - August
20
+ - September
21
+ - October
22
+ - November
23
+ - December
24
+
25
+ bill_amount:
26
+ type: float
27
+ mappings:
28
+ - type: controlled
29
+
30
+ user_authenticated:
31
+ type: bool
32
+ mappings:
33
+ - type: controlled
34
+ initial_value: True
35
+
36
+ average_bill:
37
+ type: float
38
+ mappings:
39
+ - type: controlled
40
+
41
+ difference:
42
+ type: float
43
+ mappings:
44
+ - type: controlled
45
+
46
+ breakdown_cost:
47
+ type: bool
48
+ mappings:
49
+ - type: from_llm
50
+
51
+ issue_solved:
52
+ type: bool
53
+ mappings:
54
+ - type: from_llm
55
+
56
+ more_bill_details:
57
+ type: bool
58
+ mappings:
59
+ - type: from_llm
60
+
61
+ responses:
62
+ utter_ask_customer_id:
63
+ - text: |
64
+ Can you please provide me your customer id?
65
+
66
+ utter_ask_bill_month:
67
+ - text: |
68
+ Alright. Could you please specify the month? 📅
69
+
70
+ utter_ask_breakdown_cost:
71
+ - text: |
72
+ Would you like to see the breakdown of the costs?
73
+ buttons:
74
+ - title: "Yes, please"
75
+ payload: "/SetSlots(breakdown_cost=True)"
76
+ - title: "No, all good"
77
+ payload: "/SetSlots(breakdown_cost=False)"
78
+
79
+ utter_ask_issue_solved:
80
+ - text: |
81
+ Did I manage to provide all the information you need?
82
+ buttons:
83
+ - title: "Yes, all good"
84
+ payload: "/SetSlots(issue_solved=True)"
85
+ - title: "No, I need further help"
86
+ payload: "/SetSlots(issue_solved=False)"
87
+
88
+ utter_ask_more_bill_details:
89
+ - text: |
90
+ You can see more details in your account.
91
+ Would you like a link to the overview that contains all your bills?
92
+ buttons:
93
+ - title: "Yes, please"
94
+ payload: "/SetSlots(more_bill_details=True)"
95
+ - title: "No, it's enough"
96
+ payload: "/SetSlots(more_bill_details=False)"
97
+
98
+ utter_provide_bill_sources:
99
+ - text: |
100
+ I've provided a quick summary of your bill ⤵️
101
+ For full details, please log in to your account and check your billing history here:
102
+ https://companyName/account/your-bills 🔗
@@ -0,0 +1,14 @@
1
+ ## 📂 `domain/` – The Agent's Brain
2
+
3
+ This folder contains YAML files that define the telecom agent's:
4
+ - **Slots**: The agent's memory (e.g., customer account, service status, network diagnostics) [1](https://rasa.com/docs/reference/primitives/slots/).
5
+ - **Responses**: The messages your agent can say to customers (e.g., greetings, service confirmations, technical explanations) [2](https://rasa.com/docs/reference/primitives/responses).
6
+ - **Actions**: Custom logic your agent can run (e.g., running network diagnostics, checking service status) [3](https://rasa.com/docs/reference/primitives/custom-actions).
7
+
8
+ **What you'll find:**
9
+ - **billing/**: Domain configuration for billing and payment features
10
+ - **network/**: Domain setup for network diagnostics and troubleshooting
11
+ - **general/**: General telecom customer service domain configuration
12
+ - `shared.yml`: Shared domain elements across all telecom services
13
+
14
+ You can organize the domain as one big file or many small ones. Rasa will automatically merge everything during training [1](https://rasa.com/docs/reference/config/domain).
@@ -0,0 +1,4 @@
1
+
2
+ responses:
3
+ utter_bot_challenge:
4
+ - text: "You got it - I’m a virtual agent. I’ll do my best to help with your internet or mobile plan."
@@ -0,0 +1,25 @@
1
+ slots:
2
+ feedback_rating:
3
+ type: categorical
4
+ values: [thumbs_up, thumbs_down]
5
+ mappings:
6
+ - type: from_llm
7
+
8
+ responses:
9
+ utter_ask_feedback_rating:
10
+ - text: "We'd love to hear about your experience! How are we doing?"
11
+ buttons:
12
+ - title: "👍 Great"
13
+ payload: "/SetSlots(feedback_rating=thumbs_up)"
14
+ - title: "👎 Could be better"
15
+ payload: "/SetSlots(feedback_rating=thumbs_down)"
16
+
17
+ utter_thankyou_positive:
18
+ - text: "That's wonderful to hear! We appreciate you taking the time to provide us with feedback. 🌟"
19
+ - text: "So glad we could help! Thanks for the positive feedback! 😊"
20
+ - text: "Amazing! We're thrilled you had a great experience. Thank you for your feedback! 🎉"
21
+
22
+ utter_thankyou_negative:
23
+ - text: "We appreciate you taking the time to provide us with feedback. We're always working to improve our service."
24
+ - text: "Thank you for your honest feedback. We'll use it to make our service better."
25
+ - text: "Thanks for letting us know. Your feedback helps us improve our agent."
@@ -0,0 +1,7 @@
1
+ responses:
2
+ utter_goodbye:
3
+ - text: "Thanks for stopping by — take care!"
4
+ - text: "Thanks for the chat. Have a great day!"
5
+ - text: "Catch you later! Feel free to reach out anytime."
6
+ - text: "Goodbye for now — we're here if you need anything."
7
+ - text: "Take care! Let us know if you have any other questions."
@@ -0,0 +1,5 @@
1
+ responses:
2
+ utter_hello:
3
+ - text: "Hi there! Nice to meet you!"
4
+ metadata:
5
+ rephrase: True
@@ -0,0 +1,26 @@
1
+ version: "3.1"
2
+ actions:
3
+ - "action_human_handoff"
4
+
5
+ slots:
6
+ confirm_human_handoff:
7
+ type: bool
8
+ mappings:
9
+ - type: "from_llm"
10
+
11
+ responses:
12
+ utter_ask_confirm_human_handoff:
13
+ - text: "Do you want to be connected to a human agent?"
14
+ buttons:
15
+ - payload: "/SetSlots(confirm_human_handoff=True)"
16
+ title: "Yes"
17
+ - payload: "/SetSlots(confirm_human_handoff=False)"
18
+ title: "No"
19
+
20
+ utter_transferring_to_human:
21
+ - text: "You will be transfered to a human agent in a few moments."
22
+
23
+ utter_human_handoff_cancelled:
24
+ - text: "Ok, I understand you don't want to be connected to a human agent. Is there something else I can help you with?"
25
+ metadata:
26
+ rephrase: True
@@ -0,0 +1,33 @@
1
+ slots:
2
+ example_questions:
3
+ type: text
4
+ initial_value: |
5
+ - My internet is slow—what can I do?
6
+ - What is a speed test?
7
+ - How to reset my router?
8
+ - Explain my April bill.
9
+ mappings:
10
+ - type: controlled
11
+ agent_name:
12
+ type: text
13
+ initial_value: "Telly"
14
+ mappings:
15
+ - type: controlled
16
+
17
+ responses:
18
+ utter_more_help_needed_handoff_pattern:
19
+ - text: "Please hold on while I connect you to our expert 📲"
20
+ utter_connect_to_human:
21
+ - text: "Let me connect you to our human support managers. They will help you further!"
22
+ utter_cannot_handle:
23
+ - text: "I’m sorry, I can’t help with that."
24
+ metadata:
25
+ rephrase: True
26
+ utter_no_relevant_answer_found:
27
+ - text: I’m sorry, I can’t help with that.
28
+ metadata:
29
+ rephrase: True
30
+ utter_greeting:
31
+ - text: "Hi there! I'm {agent_name} 👋. I can help with your internet and mobile plan questions. \n\nHere's a few things you can ask me:\n{example_questions} \n\n How can I help you today?"
32
+ metadata:
33
+ rephrase: True
@@ -0,0 +1,21 @@
1
+ slots:
2
+ reboot_router:
3
+ type: bool
4
+ mappings:
5
+ - type: from_llm
6
+
7
+ responses:
8
+
9
+ utter_explain_reboot_router:
10
+ - text: |
11
+ Please turn the router off, wait 10 seconds and turn it back on.
12
+
13
+ utter_ask_reboot_router:
14
+ - text: |
15
+ Let me know when you are done!
16
+ buttons:
17
+ - title: "Done"
18
+ payload: "/SetSlots(reboot_router=True)"
19
+ - title: "Facing a problem"
20
+ payload: "/SetSlots(reboot_router=False)"
21
+
@@ -0,0 +1,12 @@
1
+
2
+ responses:
3
+ utter_explain_reset_router:
4
+ - text: |
5
+ I will reset your router remotely to try to fix the issue.
6
+ No action is needed from your end.
7
+ It may take a minute. Please hold on ⏳
8
+ utter_image_reset_router:
9
+ - text: |
10
+ Router is reset successfully! 🎉
11
+ image: "https://www.creativefabrica.com/wp-content/uploads/2022/09/04/Wifi-router-outline-icon-Graphics-37782400-1.jpg"
12
+
@@ -0,0 +1,25 @@
1
+ slots:
2
+ how_to_run_speed_test:
3
+ type: text
4
+ mappings:
5
+ - type: from_llm
6
+
7
+ run_speed_test:
8
+ type: bool
9
+ mappings:
10
+ - type: from_llm
11
+
12
+ download_speed:
13
+ type: text
14
+ mappings:
15
+ - type: from_llm
16
+
17
+ responses:
18
+
19
+ utter_ask_download_speed:
20
+ - text: |
21
+ Run it and let me know the download speed.
22
+ utter_help_run_speed_test:
23
+ - text: |
24
+ You can use our Rasacom App, go to the Home menu and select WLAN speed test or use this link https://fast.com/
25
+
@@ -0,0 +1,75 @@
1
+ slots:
2
+ network_speed:
3
+ type: float
4
+ mappings:
5
+ - type: controlled
6
+ more_help_needed:
7
+ type: bool
8
+ mappings:
9
+ - type: from_llm
10
+
11
+ responses:
12
+
13
+ utter_acknowledge_issue:
14
+ - text: |
15
+ I see.
16
+ Let me try to identify the root cause of the issue you are facing.
17
+ utter_communicate_run_diagnosticss:
18
+ - text: |
19
+ I will run a network diagnostics for you 🛜
20
+ Wait a moment please...
21
+ image: "https://static.vecteezy.com/system/resources/previews/002/785/641/non_2x/speed-test-internet-measure-icon-illustration-free-vector.jpg"
22
+ utter_acknowledge_speed_test_not_good:
23
+ - text: |
24
+ Your network download speed is {network_speed} Mbps.
25
+ That's definitely not good.
26
+
27
+ utter_propose_reboot_router_solution:
28
+ - text: |
29
+ Let's reboot your router.
30
+ It helps resolving most issues with speed.
31
+ utter_speed_issue_resolved:
32
+ - text: |
33
+ {network_speed} Mbps, Awesome! 🚀
34
+ If the Internet gets slow again, you can always reset the router.
35
+ If that doesn't help, let me know, and we can try something else. 😊
36
+ utter_speed_issue_not_resolved:
37
+ - text: |
38
+ Your network speed is {network_speed} Mbps.
39
+ That's too low.
40
+ utter_speed_network_not_issue:
41
+ - text: |
42
+ {network_speed} Mbps sounds right. The speed seems to be in order.
43
+ utter_propose_other_solutions:
44
+ - text: |
45
+ The result of my test shows that there is no technical issues between your home and our core network.
46
+ However, if you're still experiencing slow browsing or buffering, it could be due to network congestion, too many connected devices, or Wi-Fi interference.
47
+ Try moving closer to your router or disconnecting unused devices.
48
+ utter_ask_more_help_needed:
49
+ - text: |
50
+ I can connect you to a human agent for further assistance.
51
+ Would you like me to do that now?
52
+ buttons:
53
+ - title: "Yes, please"
54
+ payload: "/SetSlots(more_help_needed=True)"
55
+ - title: "Not now"
56
+ payload: "/SetSlots(more_help_needed=False)"
57
+ utter_final_help:
58
+ - text: |
59
+ No problem! If you need help later, feel free to ask.
60
+ In the meantime, you might try checking for background apps using bandwidth or reducing the number of connected devices.
61
+ Let me know if there's anything else I can do for you!
62
+ utter_final_diagnistics_run:
63
+ - text: |
64
+ Final try 🤞
65
+ utter_fail_to_find_fix:
66
+ - text: |
67
+ I am sorry that I could not resolve the problem with your Internet speed.
68
+ Please don't worry, we will find the exact cause and remedy it.
69
+ utter_final_try_worked:
70
+ - text: |
71
+ third time is a charm
72
+ actions:
73
+ - actions_run_speed_test
74
+ - action_sleep_few_sec
75
+