rasa-pro 3.14.0a15__py3-none-any.whl → 3.14.0a17__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 (331) hide show
  1. rasa/builder/config.py +1 -0
  2. rasa/builder/copilot/constants.py +3 -0
  3. rasa/builder/copilot/copilot.py +127 -31
  4. rasa/builder/copilot/models.py +34 -0
  5. rasa/builder/copilot/prompts/copilot_system_prompt.jinja2 +183 -188
  6. rasa/builder/copilot/prompts/latest_user_message_context_prompt.jinja2 +61 -0
  7. rasa/builder/copilot/telemetry.py +46 -20
  8. rasa/builder/document_retrieval/models.py +3 -3
  9. rasa/builder/jobs.py +15 -5
  10. rasa/builder/main.py +14 -5
  11. rasa/builder/models.py +7 -7
  12. rasa/builder/project_generator.py +128 -23
  13. rasa/builder/service.py +42 -27
  14. rasa/builder/template_cache.py +183 -9
  15. rasa/cli/project_templates/basic/README.md +23 -0
  16. rasa/cli/project_templates/basic/actions/actions.md +10 -0
  17. rasa/cli/project_templates/basic/config.yml +4 -4
  18. rasa/cli/project_templates/basic/data/data.md +5 -6
  19. rasa/cli/project_templates/basic/domain/domain.md +7 -5
  20. rasa/cli/project_templates/basic/domain/general/show_faqs.yml +1 -1
  21. rasa/cli/project_templates/basic/endpoints.yml +1 -1
  22. rasa/cli/project_templates/finance/README.md +26 -0
  23. rasa/cli/project_templates/finance/actions/__init__.py +0 -46
  24. rasa/cli/project_templates/finance/actions/accounts/check_balance.py +18 -0
  25. rasa/cli/project_templates/finance/actions/actions.md +15 -0
  26. rasa/cli/project_templates/finance/actions/{transfers/action_process_immediate_payment.py → cards/check_that_card_exists.py} +6 -3
  27. rasa/cli/project_templates/finance/actions/cards/list_cards.py +22 -0
  28. rasa/cli/project_templates/finance/actions/contacts/__init__.py +0 -0
  29. rasa/cli/project_templates/finance/actions/contacts/add_contact.py +30 -0
  30. rasa/cli/project_templates/finance/actions/contacts/list_contacts.py +22 -0
  31. rasa/cli/project_templates/finance/actions/contacts/remove_contact.py +35 -0
  32. rasa/cli/project_templates/finance/actions/db.py +117 -0
  33. rasa/cli/project_templates/finance/actions/transfers/check_transfer_funds.py +27 -0
  34. rasa/cli/project_templates/finance/actions/transfers/check_transfer_limit.py +36 -0
  35. rasa/cli/project_templates/finance/actions/transfers/execute_recurrent_payment.py +20 -0
  36. rasa/cli/project_templates/finance/actions/transfers/execute_transfer.py +45 -0
  37. rasa/cli/project_templates/finance/actions/transfers/list_transactions.py +32 -0
  38. rasa/cli/project_templates/finance/config.yml +6 -0
  39. rasa/cli/project_templates/finance/credentials.yml +7 -6
  40. rasa/cli/project_templates/finance/data/accounts/check_balance.yml +3 -4
  41. rasa/cli/project_templates/finance/data/accounts/download_statements.yml +26 -0
  42. rasa/cli/project_templates/finance/data/bills/bill_pay_reminder.yml +25 -0
  43. rasa/cli/project_templates/finance/data/cards/activate_card.yml +35 -0
  44. rasa/cli/project_templates/finance/data/cards/block_card.yml +37 -58
  45. rasa/cli/project_templates/finance/data/cards/list_cards.yml +14 -0
  46. rasa/cli/project_templates/finance/data/cards/replace_card.yml +16 -0
  47. rasa/cli/project_templates/finance/data/cards/replace_eligible_card.yml +29 -0
  48. rasa/cli/project_templates/finance/data/contacts/add_contact.yml +33 -0
  49. rasa/cli/project_templates/finance/data/contacts/list_contacts.yml +14 -0
  50. rasa/cli/project_templates/finance/data/contacts/remove_contact.yml +31 -0
  51. rasa/cli/project_templates/finance/data/data.md +14 -0
  52. rasa/cli/project_templates/finance/data/general/agent_details.yml +6 -0
  53. rasa/cli/project_templates/finance/data/general/hello.yml +1 -2
  54. rasa/cli/project_templates/finance/data/general/help.yml +2 -2
  55. rasa/cli/project_templates/finance/data/general/human_handoff.yml +1 -1
  56. rasa/cli/project_templates/finance/data/transfers/check_transfer_limit.yml +18 -0
  57. rasa/cli/project_templates/finance/data/transfers/list_transactions.yml +46 -0
  58. rasa/cli/project_templates/finance/data/transfers/move_money_between_accounts.yml +51 -0
  59. rasa/cli/project_templates/finance/data/transfers/transfer_money.yml +29 -62
  60. rasa/cli/project_templates/finance/data/transfers/transfer_money_to_a_third_party.yml +175 -0
  61. rasa/cli/project_templates/finance/db/cards.json +18 -0
  62. rasa/cli/project_templates/finance/db/contacts.json +10 -0
  63. rasa/cli/project_templates/finance/db/my_account.json +6 -0
  64. rasa/cli/project_templates/finance/db/transactions.json +22 -0
  65. rasa/cli/project_templates/finance/docs/docs.md +8 -0
  66. rasa/cli/project_templates/finance/docs/fenlo_banking_faq/account_features/budgeting_analytics.txt +22 -0
  67. rasa/cli/project_templates/finance/docs/fenlo_banking_faq/account_features/multi_currency_accounts.txt +19 -0
  68. rasa/cli/project_templates/finance/docs/fenlo_banking_faq/account_features/premium_benefits.txt +19 -0
  69. rasa/cli/project_templates/finance/docs/fenlo_banking_faq/card_management/contactless_limits.txt +16 -0
  70. rasa/cli/project_templates/finance/docs/fenlo_banking_faq/card_management/freeze_unfreeze_card.txt +16 -0
  71. rasa/cli/project_templates/finance/docs/fenlo_banking_faq/card_management/lost_stolen_card.txt +19 -0
  72. rasa/cli/project_templates/finance/docs/fenlo_banking_faq/money_transfers/instant_payments.txt +19 -0
  73. rasa/cli/project_templates/finance/docs/fenlo_banking_faq/money_transfers/international_transfers.txt +19 -0
  74. rasa/cli/project_templates/finance/docs/fenlo_banking_faq/security_fraud/fraud_protection.txt +22 -0
  75. rasa/cli/project_templates/finance/docs/fenlo_banking_faq/security_fraud/secure_payments.txt +22 -0
  76. rasa/cli/project_templates/finance/domain/_system/patterns/pattern_session_start.yml +11 -0
  77. rasa/cli/project_templates/finance/domain/accounts/check_balance.yml +9 -5
  78. rasa/cli/project_templates/finance/domain/accounts/download_statements.yml +40 -0
  79. rasa/cli/project_templates/finance/domain/bills/bill_pay_reminder.yml +49 -0
  80. rasa/cli/project_templates/finance/domain/cards/activate_card.yml +24 -0
  81. rasa/cli/project_templates/finance/domain/cards/block_card.yml +33 -90
  82. rasa/cli/project_templates/finance/domain/cards/list_cards.yml +16 -0
  83. rasa/cli/project_templates/finance/domain/cards/replace_card.yml +43 -0
  84. rasa/cli/project_templates/finance/domain/cards/shared.yml +15 -0
  85. rasa/cli/project_templates/finance/domain/contacts/add_contact.yml +37 -0
  86. rasa/cli/project_templates/finance/domain/contacts/list_contacts.yml +16 -0
  87. rasa/cli/project_templates/finance/domain/contacts/remove_contact.yml +32 -0
  88. rasa/cli/project_templates/finance/domain/domain.md +18 -0
  89. rasa/cli/project_templates/finance/domain/general/_shared.yml +53 -0
  90. rasa/cli/project_templates/finance/domain/general/agent_details.yml +31 -0
  91. rasa/cli/project_templates/finance/domain/general/cannot_handle.yml +5 -2
  92. rasa/cli/project_templates/finance/domain/general/feedback.yml +0 -3
  93. rasa/cli/project_templates/finance/domain/general/human_handoff.yml +7 -3
  94. rasa/cli/project_templates/finance/domain/general/welcome.yml +5 -2
  95. rasa/cli/project_templates/finance/domain/transfers/check_transfer_limit.yml +32 -0
  96. rasa/cli/project_templates/finance/domain/transfers/list_transactions.yml +44 -0
  97. rasa/cli/project_templates/finance/domain/transfers/shared.yml +17 -0
  98. rasa/cli/project_templates/finance/domain/transfers/transfer_money.yml +203 -61
  99. rasa/cli/project_templates/finance/endpoints.yml +4 -3
  100. rasa/cli/project_templates/finance/prompts/rephraser_demo_personality_prompt.jinja2 +31 -12
  101. rasa/cli/project_templates/telco/README.md +25 -0
  102. rasa/cli/project_templates/telco/actions/actions.md +12 -0
  103. rasa/cli/project_templates/telco/config.yml +4 -4
  104. rasa/cli/project_templates/telco/data/data.md +11 -0
  105. rasa/cli/project_templates/telco/data/general/human_handoff.yml +1 -1
  106. rasa/cli/project_templates/telco/docs/docs.md +3 -0
  107. rasa/cli/project_templates/telco/domain/domain.md +13 -0
  108. rasa/cli/project_templates/telco/domain/general/human_handoff.yml +3 -6
  109. rasa/cli/project_templates/telco/endpoints.yml +1 -1
  110. rasa/cli/project_templates/telco/prompts/rephraser_demo_personality_prompt.jinja2 +1 -1
  111. rasa/cli/project_templates/telco/tests/e2e_test_cases/billing/understand_bill.yml +67 -0
  112. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/bot_challenge.yml +8 -0
  113. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/feedback.yml +46 -0
  114. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/goodbye.yml +9 -0
  115. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/hello.yml +8 -0
  116. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/human_handoff.yml +35 -0
  117. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/patterns.yml +23 -0
  118. rasa/cli/project_templates/telco/tests/e2e_test_cases/network/solve_internet_issue.yml +57 -0
  119. rasa/core/brokers/broker.py +1 -1
  120. rasa/core/brokers/kafka.py +52 -8
  121. rasa/core/channels/development_inspector.py +1 -21
  122. rasa/core/channels/hangouts.py +2 -2
  123. rasa/core/channels/inspector/dist/assets/{arc-c24d8d79.js → arc-35222594.js} +1 -1
  124. rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-1b6b9f26.js → blockDiagram-38ab4fdb-a0efbfd3.js} +1 -1
  125. rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-da91d0f9.js → c4Diagram-3d4e48cf-0584c0f2.js} +1 -1
  126. rasa/core/channels/inspector/dist/assets/channel-8e08bed9.js +1 -0
  127. rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-6067f302.js → classDiagram-70f12bd4-39f40dbe.js} +1 -1
  128. rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-705d024a.js → classDiagram-v2-f2320105-1ad755f3.js} +1 -1
  129. rasa/core/channels/inspector/dist/assets/clone-78c82dea.js +1 -0
  130. rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-3751dffe.js → createText-2e5e7dd3-b0f4f0fe.js} +1 -1
  131. rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-7b25b4af.js → edges-e0da2a9e-9039bff9.js} +1 -1
  132. rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-eb7deea8.js → erDiagram-9861fffd-65c9b127.js} +1 -1
  133. rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-67235ff6.js → flowDb-956e92f1-4f08b38e.js} +1 -1
  134. rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-34c3a16a.js → flowDiagram-66a62f08-e95c362a.js} +1 -1
  135. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-2b08f601.js +1 -0
  136. rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-f1a93631.js → flowchart-elk-definition-4a651766-703c3015.js} +1 -1
  137. rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-a68cbad1.js → ganttDiagram-c361ad54-699328ea.js} +1 -1
  138. rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-0b1e4a1d.js → gitGraphDiagram-72cf32ee-04cf4b05.js} +1 -1
  139. rasa/core/channels/inspector/dist/assets/{graph-f3c1d212.js → graph-ee94449e.js} +1 -1
  140. rasa/core/channels/inspector/dist/assets/{index-3862675e-34cbca30.js → index-3862675e-940162b4.js} +1 -1
  141. rasa/core/channels/inspector/dist/assets/{index-051c5a6e.js → index-c941dcb3.js} +41 -40
  142. rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-e69960a1.js → infoDiagram-f8f76790-c79c2866.js} +1 -1
  143. rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-8dd3296a.js → journeyDiagram-49397b02-84489d30.js} +1 -1
  144. rasa/core/channels/inspector/dist/assets/{layout-e93126bc.js → layout-a9aa9858.js} +1 -1
  145. rasa/core/channels/inspector/dist/assets/{line-15eb1e26.js → line-eb73cf26.js} +1 -1
  146. rasa/core/channels/inspector/dist/assets/{linear-fec95d33.js → linear-b3399f9a.js} +1 -1
  147. rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-2557813e.js → mindmap-definition-fc14e90a-b095bf1a.js} +1 -1
  148. rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-40d756b1.js → pieDiagram-8a3498a8-07644b66.js} +1 -1
  149. rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-a48cbdcd.js → quadrantDiagram-120e2f19-573a3f9c.js} +1 -1
  150. rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-dc778150.js → requirementDiagram-deff3bca-d457e1e1.js} +1 -1
  151. rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-10026b94.js → sankeyDiagram-04a897e0-9d26e1a2.js} +1 -1
  152. rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-3b2ed10a.js → sequenceDiagram-704730f1-3a9cde10.js} +1 -1
  153. rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-c5f3b3fb.js → stateDiagram-587899a1-4f3e8cec.js} +1 -1
  154. rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-e503656b.js → stateDiagram-v2-d93cdb3a-e617e5bf.js} +1 -1
  155. rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-a683ce56.js → styles-6aaf32cf-eab30d2f.js} +1 -1
  156. rasa/core/channels/inspector/dist/assets/{styles-9a916d00-02bcdcee.js → styles-9a916d00-09994be2.js} +1 -1
  157. rasa/core/channels/inspector/dist/assets/{styles-c10674c1-8e90dbb9.js → styles-c10674c1-b7110364.js} +1 -1
  158. rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-7c23fc1e.js → svgDrawCommon-08f97a94-3ebc92ad.js} +1 -1
  159. rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-c42faec8.js → timeline-definition-85554ec2-7d13d2f2.js} +1 -1
  160. rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-5e3bb0ea.js → xychartDiagram-e933f94c-488385e1.js} +1 -1
  161. rasa/core/channels/inspector/dist/index.html +1 -1
  162. rasa/core/channels/inspector/src/App.tsx +0 -7
  163. rasa/core/channels/inspector/src/components/DialogueInformation.tsx +9 -1
  164. rasa/core/channels/inspector/src/components/LatencyDisplay.tsx +63 -35
  165. rasa/core/channels/inspector/src/helpers/audio/audiostream.ts +14 -0
  166. rasa/core/channels/inspector/src/types.ts +32 -7
  167. rasa/core/channels/studio_chat.py +21 -40
  168. rasa/core/channels/voice_stream/asr/asr_event.py +1 -1
  169. rasa/core/channels/voice_stream/asr/azure.py +6 -3
  170. rasa/core/channels/voice_stream/asr/deepgram.py +1 -1
  171. rasa/core/channels/voice_stream/audiocodes.py +3 -0
  172. rasa/core/channels/voice_stream/browser_audio.py +53 -3
  173. rasa/core/channels/voice_stream/genesys.py +2 -1
  174. rasa/core/channels/voice_stream/jambonz.py +9 -1
  175. rasa/core/channels/voice_stream/twilio_media_streams.py +16 -0
  176. rasa/core/channels/voice_stream/voice_channel.py +61 -0
  177. rasa/core/constants.py +6 -0
  178. rasa/core/iam_credentials_providers/__init__.py +0 -0
  179. rasa/core/iam_credentials_providers/aws_iam_credentials_providers.py +141 -0
  180. rasa/core/iam_credentials_providers/credentials_provider_protocol.py +89 -0
  181. rasa/core/lock_store.py +41 -7
  182. rasa/core/processor.py +32 -0
  183. rasa/core/redis_connection_factory.py +411 -0
  184. rasa/core/tracker_stores/redis_tracker_store.py +32 -14
  185. rasa/core/tracker_stores/sql_tracker_store.py +57 -1
  186. rasa/model_manager/socket_bridge.py +1 -2
  187. rasa/shared/core/constants.py +1 -0
  188. rasa/shared/core/events.py +2 -0
  189. rasa/shared/nlu/training_data/schemas/responses.yml +3 -0
  190. rasa/version.py +1 -1
  191. {rasa_pro-3.14.0a15.dist-info → rasa_pro-3.14.0a17.dist-info}/METADATA +14 -14
  192. {rasa_pro-3.14.0a15.dist-info → rasa_pro-3.14.0a17.dist-info}/RECORD +200 -249
  193. rasa/cli/project_templates/finance/actions/accounts/action_ask_account.py +0 -47
  194. rasa/cli/project_templates/finance/actions/accounts/action_check_balance.py +0 -40
  195. rasa/cli/project_templates/finance/actions/action_session_start.py +0 -74
  196. rasa/cli/project_templates/finance/actions/cards/action_ask_card.py +0 -48
  197. rasa/cli/project_templates/finance/actions/cards/action_check_card_existence.py +0 -36
  198. rasa/cli/project_templates/finance/actions/cards/action_update_card_status.py +0 -54
  199. rasa/cli/project_templates/finance/actions/database.py +0 -277
  200. rasa/cli/project_templates/finance/actions/transfers/action_add_payee.py +0 -52
  201. rasa/cli/project_templates/finance/actions/transfers/action_ask_account_from.py +0 -51
  202. rasa/cli/project_templates/finance/actions/transfers/action_check_payee_existence.py +0 -40
  203. rasa/cli/project_templates/finance/actions/transfers/action_check_sufficient_funds.py +0 -40
  204. rasa/cli/project_templates/finance/actions/transfers/action_list_payees.py +0 -46
  205. rasa/cli/project_templates/finance/actions/transfers/action_remove_payee.py +0 -49
  206. rasa/cli/project_templates/finance/actions/transfers/action_schedule_payment.py +0 -19
  207. rasa/cli/project_templates/finance/actions/transfers/action_validate_payment_date.py +0 -36
  208. rasa/cli/project_templates/finance/csvs/accounts.csv +0 -8
  209. rasa/cli/project_templates/finance/csvs/advisors.csv +0 -7
  210. rasa/cli/project_templates/finance/csvs/appointments.csv +0 -211
  211. rasa/cli/project_templates/finance/csvs/branches.csv +0 -10
  212. rasa/cli/project_templates/finance/csvs/cards.csv +0 -11
  213. rasa/cli/project_templates/finance/csvs/payees.csv +0 -11
  214. rasa/cli/project_templates/finance/csvs/transactions.csv +0 -71
  215. rasa/cli/project_templates/finance/csvs/users.csv +0 -4
  216. rasa/cli/project_templates/finance/data/cards/select_card.yml +0 -12
  217. rasa/cli/project_templates/finance/data/general/bot_identity.yml +0 -6
  218. rasa/cli/project_templates/finance/data/system/patterns/pattern_chitchat.yml +0 -5
  219. rasa/cli/project_templates/finance/data/system/source/accounts.json +0 -51
  220. rasa/cli/project_templates/finance/data/system/source/advisors.json +0 -44
  221. rasa/cli/project_templates/finance/data/system/source/appointments.json +0 -1474
  222. rasa/cli/project_templates/finance/data/system/source/branches.json +0 -47
  223. rasa/cli/project_templates/finance/data/system/source/cards.json +0 -72
  224. rasa/cli/project_templates/finance/data/system/source/payees.json +0 -74
  225. rasa/cli/project_templates/finance/data/system/source/transactions.json +0 -492
  226. rasa/cli/project_templates/finance/data/system/source/users.json +0 -29
  227. rasa/cli/project_templates/finance/data/transfers/add_payee.yml +0 -29
  228. rasa/cli/project_templates/finance/data/transfers/list_payees.yml +0 -5
  229. rasa/cli/project_templates/finance/data/transfers/remove_payee.yml +0 -21
  230. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/consequences_of_blocking_card.txt +0 -8
  231. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/reasons_to_block_card.txt +0 -8
  232. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/recovering_from_card_fraud.txt +0 -8
  233. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/tips_for_card_security.txt +0 -8
  234. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/what_to_do_if_card_is_lost.txt +0 -8
  235. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/account_balance_security.txt +0 -7
  236. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/common_balance_inquiries.txt +0 -8
  237. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/methods_to_check_balance.txt +0 -8
  238. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/understanding_balance_updates.txt +0 -8
  239. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/what_to_do_if_balance_is_incorrect.txt +0 -8
  240. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/benefits_of_authorised_payees.txt +0 -8
  241. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/common_issues_with_payees.txt +0 -8
  242. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/general_payee_information.txt +0 -8
  243. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/payee_management_tips.txt +0 -8
  244. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/understanding_payee_types.txt +0 -8
  245. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/common_transfer_errors.txt +0 -8
  246. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/fees_for_transfers.txt +0 -8
  247. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/general_transfer_information.txt +0 -8
  248. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/security_tips_for_transfers.txt +0 -8
  249. rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/transfer_processing_times.txt +0 -8
  250. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part1.txt +0 -50
  251. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part10.txt +0 -50
  252. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part11.txt +0 -48
  253. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part12.txt +0 -50
  254. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part13.txt +0 -50
  255. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part14.txt +0 -47
  256. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part15.txt +0 -50
  257. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part16.txt +0 -50
  258. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part17.txt +0 -47
  259. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part18.txt +0 -50
  260. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part19.txt +0 -50
  261. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part2.txt +0 -50
  262. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part20.txt +0 -47
  263. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part21.txt +0 -50
  264. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part22.txt +0 -50
  265. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part23.txt +0 -47
  266. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part24.txt +0 -50
  267. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part25.txt +0 -50
  268. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part26.txt +0 -47
  269. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part27.txt +0 -50
  270. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part28.txt +0 -50
  271. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part29.txt +0 -47
  272. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part3.txt +0 -47
  273. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part30.txt +0 -50
  274. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part31.txt +0 -50
  275. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part32.txt +0 -47
  276. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part33.txt +0 -50
  277. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part34.txt +0 -50
  278. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part35.txt +0 -47
  279. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part36.txt +0 -50
  280. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part37.txt +0 -50
  281. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part38.txt +0 -47
  282. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part39.txt +0 -50
  283. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part4.txt +0 -50
  284. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part40.txt +0 -50
  285. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part41.txt +0 -47
  286. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part42.txt +0 -50
  287. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part43.txt +0 -50
  288. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part44.txt +0 -47
  289. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part45.txt +0 -50
  290. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part46.txt +0 -50
  291. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part47.txt +0 -47
  292. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part48.txt +0 -50
  293. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part49.txt +0 -50
  294. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part5.txt +0 -50
  295. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part50.txt +0 -47
  296. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part51.txt +0 -50
  297. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part52.txt +0 -50
  298. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part53.txt +0 -47
  299. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part54.txt +0 -50
  300. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part55.txt +0 -50
  301. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part56.txt +0 -47
  302. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part57.txt +0 -50
  303. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part58.txt +0 -50
  304. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part59.txt +0 -47
  305. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part6.txt +0 -47
  306. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part60.txt +0 -50
  307. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part61.txt +0 -50
  308. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part7.txt +0 -50
  309. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part8.txt +0 -50
  310. rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part9.txt +0 -47
  311. rasa/cli/project_templates/finance/domain/cards/select_card.yml +0 -12
  312. rasa/cli/project_templates/finance/domain/general/assistant_details.yml +0 -12
  313. rasa/cli/project_templates/finance/domain/general/bot_identity.yml +0 -5
  314. rasa/cli/project_templates/finance/domain/general/defaults.yml +0 -24
  315. rasa/cli/project_templates/finance/domain/general/goodbye.yml +0 -7
  316. rasa/cli/project_templates/finance/domain/general/help.yml +0 -5
  317. rasa/cli/project_templates/finance/domain/general/utils.yml +0 -13
  318. rasa/cli/project_templates/finance/domain/transfers/add_payee.yml +0 -47
  319. rasa/cli/project_templates/finance/domain/transfers/list_payees.yml +0 -4
  320. rasa/cli/project_templates/finance/domain/transfers/remove_payee.yml +0 -16
  321. rasa/core/channels/inspector/dist/assets/channel-d2444dfd.js +0 -1
  322. rasa/core/channels/inspector/dist/assets/clone-281a0990.js +0 -1
  323. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-aa4cca3b.js +0 -1
  324. /rasa/cli/project_templates/telco/domain/billing/{domain_undertand_bill.yml → understand_bill.yml} +0 -0
  325. /rasa/cli/project_templates/telco/domain/network/{domain_reboot_router.yml → reboot_router.yml} +0 -0
  326. /rasa/cli/project_templates/telco/domain/network/{domain_reset_router.yml → reset_router.yml} +0 -0
  327. /rasa/cli/project_templates/telco/domain/network/{domain_run_speed_test.yml → run_speed_test.yml} +0 -0
  328. /rasa/cli/project_templates/telco/domain/network/{domain_solve_internet_issue.yml → solve_internet_issue.yml} +0 -0
  329. {rasa_pro-3.14.0a15.dist-info → rasa_pro-3.14.0a17.dist-info}/NOTICE +0 -0
  330. {rasa_pro-3.14.0a15.dist-info → rasa_pro-3.14.0a17.dist-info}/WHEEL +0 -0
  331. {rasa_pro-3.14.0a15.dist-info → rasa_pro-3.14.0a17.dist-info}/entry_points.txt +0 -0
rasa/builder/config.py CHANGED
@@ -39,6 +39,7 @@ VALIDATION_MAX_HISTORY = None # Could be configured if needed
39
39
  COPILOT_CONTROLLED_RESPONSE_MAX_TOKENS = 20
40
40
  COPILOT_HANDLER_ROLLING_BUFFER_SIZE = 20
41
41
  COPILOT_ASSISTANT_TRACKER_MAX_TURNS = 10
42
+ COPILOT_DOCUMENTATION_SEARCH_QUERY_HISTORY_MESSAGES = 5
42
43
 
43
44
  # Guardrail Configuration
44
45
  LAKERA_BASE_URL = os.getenv("LAKERA_BASE_URL", "https://api.lakera.ai/v2").rstrip("/")
@@ -3,6 +3,9 @@ from typing import Literal
3
3
  # A dot-path for importlib to the copilot prompt
4
4
  COPILOT_PROMPTS_DIR = "builder.copilot.prompts"
5
5
  COPILOT_PROMPTS_FILE = "copilot_system_prompt.jinja2"
6
+ COPILOT_LAST_USER_MESSAGE_CONTEXT_PROMPT_FILE = (
7
+ "latest_user_message_context_prompt.jinja2"
8
+ )
6
9
 
7
10
  # A dot-path for importlib to the rasa internal messages templates
8
11
  COPILOT_MESSAGE_TEMPLATES_DIR = "builder.copilot.templated_messages"
@@ -1,4 +1,5 @@
1
1
  import asyncio
2
+ import copy
2
3
  import importlib
3
4
  import json
4
5
  from contextlib import asynccontextmanager
@@ -10,7 +11,9 @@ from jinja2 import Template
10
11
  from typing_extensions import AsyncGenerator
11
12
 
12
13
  from rasa.builder import config
14
+ from rasa.builder.config import COPILOT_DOCUMENTATION_SEARCH_QUERY_HISTORY_MESSAGES
13
15
  from rasa.builder.copilot.constants import (
16
+ COPILOT_LAST_USER_MESSAGE_CONTEXT_PROMPT_FILE,
14
17
  COPILOT_PROMPTS_DIR,
15
18
  COPILOT_PROMPTS_FILE,
16
19
  ROLE_COPILOT,
@@ -20,8 +23,11 @@ from rasa.builder.copilot.constants import (
20
23
  )
21
24
  from rasa.builder.copilot.exceptions import CopilotStreamError
22
25
  from rasa.builder.copilot.models import (
26
+ CopilotChatMessage,
23
27
  CopilotContext,
28
+ CopilotGenerationContext,
24
29
  ResponseCategory,
30
+ TextContent,
25
31
  UsageStatistics,
26
32
  )
27
33
  from rasa.builder.document_retrieval.inkeep_document_retrieval import (
@@ -48,6 +54,12 @@ class Copilot:
48
54
  COPILOT_PROMPTS_FILE,
49
55
  )
50
56
  )
57
+ self._last_user_message_context_prompt_template = Template(
58
+ importlib.resources.read_text(
59
+ f"{PACKAGE_NAME}.{COPILOT_PROMPTS_DIR}",
60
+ COPILOT_LAST_USER_MESSAGE_CONTEXT_PROMPT_FILE,
61
+ )
62
+ )
51
63
 
52
64
  # The final stream chunk includes usage statistics.
53
65
  self.usage_statistics = UsageStatistics()
@@ -102,7 +114,7 @@ class Copilot:
102
114
  async def generate_response(
103
115
  self,
104
116
  context: CopilotContext,
105
- ) -> tuple[AsyncGenerator[str, None], list[Document], str]:
117
+ ) -> tuple[AsyncGenerator[str, None], CopilotGenerationContext]:
106
118
  """Generate a response from the copilot.
107
119
 
108
120
  This method performs document retrieval and response generation as a single
@@ -114,22 +126,27 @@ class Copilot:
114
126
  context: The context of the copilot.
115
127
 
116
128
  Returns:
117
- A tuple containing the async response stream, relevant documents used
118
- as supporting evidence for the generated response, and the prompt used.
129
+ A tuple containing the async response stream and a
130
+ CopilotGenerationContext object with relevant documents, and all the
131
+ messages used to generate the response.
119
132
 
120
133
  Raises:
121
134
  CopilotStreamError: If the stream fails.
122
135
  Exception: If an unexpected error occurs.
123
136
  """
124
137
  relevant_documents = await self.search_rasa_documentation(context)
125
- system_message = await self._create_system_message(context, relevant_documents)
126
- chat_history = self._create_chat_history_messages(context)
127
- messages = [system_message, *chat_history]
138
+ messages = await self._build_messages(context, relevant_documents)
139
+
140
+ support_evidence = CopilotGenerationContext(
141
+ relevant_documents=relevant_documents,
142
+ system_message=messages[0],
143
+ chat_history=messages[1:-1],
144
+ last_user_message=messages[-1],
145
+ )
128
146
 
129
147
  return (
130
148
  self._stream_response(messages),
131
- relevant_documents,
132
- system_message.get("content", ""),
149
+ support_evidence,
133
150
  )
134
151
 
135
152
  async def _stream_response(
@@ -174,60 +191,139 @@ class Copilot:
174
191
  )
175
192
  raise
176
193
 
177
- async def _create_system_message(
194
+ async def _build_messages(
178
195
  self,
179
196
  context: CopilotContext,
180
197
  relevant_documents: List[Document],
181
- ) -> Dict[str, Any]:
182
- """Render the correct Jinja template based on desired output_type."""
183
- # Format relevant documentation
184
- documents = [doc.model_dump() for doc in relevant_documents]
185
-
186
- # Format conversation history
187
- conversation = self._format_conversation_history(context.tracker_context)
198
+ ) -> List[Dict[str, Any]]:
199
+ """Build the complete message list for the OpenAI API.
188
200
 
189
- # Format current state
190
- current_state = self._format_current_state(context.tracker_context)
201
+ Args:
202
+ context: The context of the copilot.
203
+ relevant_documents: The relevant documents to use in the context.
191
204
 
192
- # Render template
193
- rendered_prompt = self._system_message_prompt_template.render(
194
- current_conversation=conversation,
195
- current_state=current_state,
196
- assistant_logs=context.assistant_logs,
197
- assistant_files=context.assistant_files,
198
- documentation_results=documents,
205
+ Returns:
206
+ A list of messages in OpenAI format.
207
+ """
208
+ # Split chat history into past messages and latest message
209
+ past_messages = [
210
+ message
211
+ for message in context.copilot_chat_history[:-1]
212
+ if message.response_category != ResponseCategory.GUARDRAILS_POLICY_VIOLATION
213
+ ]
214
+ latest_message = context.copilot_chat_history[-1]
215
+
216
+ # Create the system message
217
+ system_message = await self._create_system_message()
218
+ # Create the chat history messages (excludes the last message)
219
+ chat_history = self._create_chat_history_messages(past_messages)
220
+ # Create the last message and add the context to it
221
+ latest_message_with_context = self._create_last_user_message_with_context(
222
+ latest_message, context, relevant_documents
199
223
  )
224
+ return [system_message, *chat_history, latest_message_with_context]
225
+
226
+ async def _create_system_message(self) -> Dict[str, Any]:
227
+ """Render the correct Jinja template based on desired output_type."""
228
+ rendered_prompt = self._system_message_prompt_template.render()
200
229
  return {"role": ROLE_SYSTEM, "content": rendered_prompt}
201
230
 
202
231
  def _create_chat_history_messages(
203
232
  self,
204
- context: CopilotContext,
233
+ past_messages: List["CopilotChatMessage"],
205
234
  ) -> List[Dict[str, Any]]:
206
235
  """Create the chat history messages for the copilot.
207
236
 
208
237
  Filter out messages with response_category of GUARDRAILS_POLICY_VIOLATION.
209
238
  This will filter out all the user messages that were flagged by guardrails, but
210
239
  also the copilot messages that were produced by guardrails.
240
+
241
+ Args:
242
+ past_messages: List of past messages (excluding the latest message).
243
+
244
+ Returns:
245
+ List of messages in OpenAI format.
211
246
  """
212
- # Filter out messages with response_category of GUARDRAILS_POLICY_VIOLATION.
213
- # This will filter out all the user messages flagged by guardrails, but also the
214
- # copilot messages that were produced.
215
247
  return [
216
248
  message.to_openai_format()
217
- for message in context.copilot_chat_history
249
+ for message in past_messages
218
250
  if message.response_category != ResponseCategory.GUARDRAILS_POLICY_VIOLATION
219
251
  ]
220
252
 
253
+ def _create_last_user_message_with_context(
254
+ self,
255
+ latest_message: "CopilotChatMessage",
256
+ context: CopilotContext,
257
+ relevant_documents: List[Document],
258
+ ) -> Dict[str, Any]:
259
+ """Create the last user message with context.
260
+
261
+ The last user message is the last message in the copilot chat history.
262
+ We add the context prompt with the current conversation, state, assistant logs,
263
+ assistant files, and relevant documents as a text content block to the beginning
264
+ of the message.
265
+
266
+ Args:
267
+ context: The context of the copilot.
268
+ relevant_documents: The relevant documents to use in the context.
269
+
270
+ Returns:
271
+ The last user message with context in the OpenAI format.
272
+ """
273
+ last_user_message = copy.deepcopy(latest_message)
274
+ context_prompt = self._render_last_user_message_context_prompt(
275
+ context, relevant_documents
276
+ )
277
+ last_user_message.content.insert(
278
+ 0, TextContent(type="text", text=context_prompt)
279
+ )
280
+ return {
281
+ "role": ROLE_USER,
282
+ "content": [
283
+ {"type": "text", "text": content.text}
284
+ for content in last_user_message.content
285
+ if isinstance(content, TextContent)
286
+ ],
287
+ }
288
+
289
+ def _render_last_user_message_context_prompt(
290
+ self,
291
+ context: CopilotContext,
292
+ relevant_documents: List[Document],
293
+ ) -> str:
294
+ # Format relevant documentation
295
+ documents = [doc.model_dump() for doc in relevant_documents]
296
+ # Format conversation history
297
+ conversation = self._format_conversation_history(context.tracker_context)
298
+ # Format current state
299
+ current_state = self._format_current_state(context.tracker_context)
300
+
301
+ rendered_prompt = self._last_user_message_context_prompt_template.render(
302
+ current_conversation=conversation,
303
+ current_state=current_state,
304
+ assistant_logs=context.assistant_logs,
305
+ assistant_files=context.assistant_files,
306
+ documentation_results=documents,
307
+ )
308
+ return rendered_prompt
309
+
221
310
  @staticmethod
222
311
  def _create_documentation_search_query(context: CopilotContext) -> str:
223
312
  """Format chat messages between user and copilot for documentation search."""
313
+
224
314
  result = ""
225
315
  role_to_prefix = {
226
316
  ROLE_USER: "User",
227
317
  ROLE_COPILOT: "Assistant",
228
318
  ROLE_COPILOT_INTERNAL: "Copilot Internal Request",
229
319
  }
230
- for message in context.copilot_chat_history:
320
+
321
+ # Only use the last N messages for documentation search
322
+ messages_to_include = context.copilot_chat_history[
323
+ -COPILOT_DOCUMENTATION_SEARCH_QUERY_HISTORY_MESSAGES:
324
+ ]
325
+
326
+ for message in messages_to_include:
231
327
  prefix = role_to_prefix[message.role]
232
328
  text = message.get_text_content().strip()
233
329
  if text:
@@ -13,6 +13,7 @@ from rasa.builder.copilot.constants import (
13
13
  ROLE_COPILOT_INTERNAL,
14
14
  ROLE_USER,
15
15
  )
16
+ from rasa.builder.document_retrieval.models import Document
16
17
  from rasa.builder.models import ServerSentEvent
17
18
  from rasa.builder.shared.tracker_context import TrackerContext
18
19
 
@@ -464,3 +465,36 @@ class SigningContext(BaseModel):
464
465
  """Signing is enabled if a non-empty secret is present."""
465
466
  secret = (self.secret or "").strip()
466
467
  return bool(secret)
468
+
469
+
470
+ class CopilotGenerationContext(BaseModel):
471
+ """Container for copilot generation context and supporting evidence.
472
+
473
+ This class organizes the context and supporting evidence information used by the
474
+ copilot's generate_response method, providing a cleaner interface than returning
475
+ a tuple for the non-streaming data.
476
+ """
477
+
478
+ relevant_documents: List["Document"] = Field(
479
+ ...,
480
+ description=(
481
+ "The relevant documents used as supporting evidence for the respons."
482
+ ),
483
+ )
484
+ system_message: Dict[str, Any] = Field(
485
+ ..., description="The system message with instructions."
486
+ )
487
+ chat_history: List[Dict[str, Any]] = Field(
488
+ ...,
489
+ description=(
490
+ "The chat history messages (excluding the last message) used as a context."
491
+ ),
492
+ )
493
+ last_user_message: Optional[Dict[str, Any]] = Field(
494
+ None, description="The last user message with context that was processed."
495
+ )
496
+
497
+ class Config:
498
+ """Config for CopilotGenerationContext."""
499
+
500
+ arbitrary_types_allowed = True