rasa-pro 3.14.0.dev5__py3-none-any.whl → 3.14.0.dev7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rasa-pro might be problematic. Click here for more details.
- rasa/agents/agent_factory.py +122 -0
- rasa/agents/agent_manager.py +163 -0
- rasa/agents/constants.py +40 -0
- rasa/agents/core/agent_protocol.py +107 -0
- rasa/agents/core/types.py +70 -0
- rasa/agents/exceptions.py +38 -0
- rasa/agents/protocol/__init__.py +5 -0
- rasa/agents/protocol/a2a/a2a_agent.py +662 -0
- rasa/agents/protocol/mcp/mcp_base_agent.py +685 -0
- rasa/agents/protocol/mcp/mcp_open_agent.py +290 -0
- rasa/agents/protocol/mcp/mcp_task_agent.py +484 -0
- rasa/agents/schemas/__init__.py +12 -0
- rasa/agents/schemas/agent_input.py +38 -0
- rasa/agents/schemas/agent_output.py +26 -0
- rasa/agents/schemas/agent_tool_result.py +67 -0
- rasa/agents/schemas/agent_tool_schema.py +134 -0
- rasa/agents/templates/mcp_open_agent_prompt_template.jinja2 +15 -0
- rasa/agents/templates/mcp_task_agent_prompt_template.jinja2 +17 -0
- rasa/agents/utils.py +77 -0
- rasa/agents/validation.py +484 -0
- rasa/api.py +14 -6
- rasa/cli/arguments/default_arguments.py +12 -0
- rasa/cli/arguments/run.py +2 -0
- rasa/cli/arguments/train.py +2 -0
- rasa/cli/dialogue_understanding_test.py +4 -0
- rasa/cli/e2e_test.py +4 -0
- rasa/cli/inspect.py +3 -0
- rasa/cli/interactive.py +2 -0
- rasa/cli/llm_fine_tuning.py +5 -0
- rasa/cli/project_templates/tutorial/config.yml +1 -2
- rasa/cli/run.py +4 -0
- rasa/cli/scaffold.py +2 -46
- rasa/cli/shell.py +3 -0
- rasa/cli/train.py +2 -0
- rasa/cli/utils.py +85 -1
- rasa/constants.py +6 -0
- rasa/core/actions/action.py +52 -10
- rasa/core/agent.py +19 -1
- rasa/core/available_agents.py +220 -0
- rasa/core/available_endpoints.py +30 -0
- rasa/core/channels/channel.py +3 -4
- rasa/core/channels/development_inspector.py +4 -4
- rasa/core/channels/hangouts.py +2 -2
- rasa/core/channels/inspector/dist/assets/{arc-18042c22.js → arc-cce7e0a8.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-fdd6bcfa.js → blockDiagram-38ab4fdb-e2a49be7.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-f5ae6786.js → c4Diagram-3d4e48cf-3def7895.js} +1 -1
- rasa/core/channels/inspector/dist/assets/channel-858c2c20.js +1 -0
- rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-81efba3e.js → classDiagram-70f12bd4-e66fe4df.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-3b6b6a92.js → classDiagram-v2-f2320105-eb874aaa.js} +1 -1
- rasa/core/channels/inspector/dist/assets/clone-4b80996c.js +1 -0
- rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-31422447.js → createText-2e5e7dd3-cf934643.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-518a90db.js → edges-e0da2a9e-8fdf9155.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-a6d3c25a.js → erDiagram-9861fffd-6106fb96.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-e048c2be.js → flowDb-956e92f1-4c2bb040.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-c7474c91.js → flowDiagram-66a62f08-f0ff96af.js} +1 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-16f09b7a.js +1 -0
- rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-cb4d8723.js → flowchart-elk-definition-4a651766-a21707ec.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-346636a2.js → ganttDiagram-c361ad54-c165acb1.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-7c508874.js → gitGraphDiagram-72cf32ee-b0564cf1.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{graph-14702d8a.js → graph-e557e67a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-3862675e-f18b534b.js → index-3862675e-1ce60e9e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/index-996fe816.js +1353 -0
- rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-64154b83.js → infoDiagram-f8f76790-893569e2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-833a5f95.js → journeyDiagram-49397b02-c29c864f.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{layout-5a3b2123.js → layout-649a5eae.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{line-2272a8c7.js → line-0e5685ed.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{linear-35bcf273.js → linear-eaa320bd.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-92dcb0e9.js → mindmap-definition-fc14e90a-f35df9e6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-94dbc900.js → pieDiagram-8a3498a8-78339e96.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-8b7a9c33.js → quadrantDiagram-120e2f19-9b5f2f14.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-6f7eab81.js → requirementDiagram-deff3bca-d05ddb3a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-f43e581d.js → sankeyDiagram-04a897e0-d9be5dfd.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-0bcbefc3.js → sequenceDiagram-704730f1-0f1c4348.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-b8a74083.js → stateDiagram-587899a1-9ddf63b3.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-2070218f.js → stateDiagram-v2-d93cdb3a-bc2b81ed.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-f1d54e34.js → styles-6aaf32cf-0a287936.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-9a916d00-980de489.js → styles-9a916d00-e3941990.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-c10674c1-3c03abde.js → styles-c10674c1-ce4eca24.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-46ba068f.js → svgDrawCommon-08f97a94-d822b1a8.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-901f5e3d.js → timeline-definition-85554ec2-e144c7a7.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-acbc628a.js → xychartDiagram-e933f94c-ab7f4e14.js} +1 -1
- rasa/core/channels/inspector/dist/index.html +2 -2
- rasa/core/channels/inspector/index.html +1 -1
- rasa/core/channels/inspector/src/App.tsx +37 -12
- rasa/core/channels/inspector/src/components/DialogueAgentStack.tsx +108 -0
- rasa/core/channels/inspector/src/components/{DialogueStack.tsx → DialogueHistoryStack.tsx} +3 -2
- rasa/core/channels/inspector/src/components/DialogueInformation.tsx +3 -12
- rasa/core/channels/inspector/src/helpers/formatters.test.ts +4 -0
- rasa/core/channels/inspector/src/helpers/formatters.ts +24 -3
- rasa/core/channels/inspector/src/helpers/utils.test.ts +127 -0
- rasa/core/channels/inspector/src/helpers/utils.ts +66 -1
- rasa/core/channels/inspector/src/theme/base/styles.ts +19 -1
- rasa/core/channels/inspector/src/types.ts +21 -0
- rasa/core/channels/socketio.py +51 -212
- rasa/core/channels/studio_chat.py +29 -49
- rasa/core/channels/voice_stream/genesys.py +1 -1
- rasa/core/channels/voice_stream/voice_channel.py +3 -5
- rasa/core/constants.py +4 -0
- rasa/core/policies/enterprise_search_policy.py +11 -6
- rasa/core/policies/flow_policy.py +4 -4
- rasa/core/policies/flows/flow_executor.py +519 -73
- rasa/core/policies/flows/mcp_tool_executor.py +277 -0
- rasa/core/policies/intentless_policy.py +1 -1
- rasa/core/policies/unexpected_intent_policy.py +1 -0
- rasa/core/processor.py +18 -15
- rasa/core/run.py +11 -14
- rasa/core/tracker_stores/tracker_store.py +3 -7
- rasa/core/train.py +1 -1
- rasa/core/training/interactive.py +16 -16
- rasa/core/training/story_conflict.py +5 -5
- rasa/core/utils.py +21 -1
- rasa/dialogue_understanding/commands/__init__.py +8 -0
- rasa/dialogue_understanding/commands/cancel_flow_command.py +19 -5
- rasa/dialogue_understanding/commands/chit_chat_answer_command.py +11 -0
- rasa/dialogue_understanding/commands/clarify_command.py +10 -0
- rasa/dialogue_understanding/commands/continue_agent_command.py +91 -0
- rasa/dialogue_understanding/commands/knowledge_answer_command.py +11 -0
- rasa/dialogue_understanding/commands/restart_agent_command.py +162 -0
- rasa/dialogue_understanding/commands/start_flow_command.py +68 -7
- rasa/dialogue_understanding/commands/utils.py +124 -2
- rasa/dialogue_understanding/generator/command_parser.py +4 -0
- rasa/dialogue_understanding/generator/flow_retrieval.py +9 -10
- rasa/dialogue_understanding/generator/llm_based_command_generator.py +50 -12
- rasa/dialogue_understanding/generator/llm_command_generator.py +1 -1
- rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +1 -1
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_claude_3_5_sonnet_20240620_template.jinja2 +61 -0
- rasa/{cli/project_templates/telco/prompts/command-generator.jinja2 → dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_gpt_4o_2024_11_20_template.jinja2} +7 -3
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_claude_3_5_sonnet_20240620_template.jinja2 +81 -0
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_gpt_4o_2024_11_20_template.jinja2 +81 -0
- rasa/dialogue_understanding/generator/single_step/compact_llm_command_generator.py +7 -6
- rasa/dialogue_understanding/generator/single_step/search_ready_llm_command_generator.py +7 -6
- rasa/dialogue_understanding/generator/single_step/single_step_based_llm_command_generator.py +41 -2
- rasa/dialogue_understanding/patterns/clarify.py +3 -14
- rasa/dialogue_understanding/patterns/continue_interrupted.py +239 -6
- rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +46 -8
- rasa/dialogue_understanding/processor/command_processor.py +31 -15
- rasa/dialogue_understanding/stack/dialogue_stack.py +123 -2
- rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +57 -0
- rasa/dialogue_understanding/stack/utils.py +57 -3
- rasa/dialogue_understanding/utils.py +24 -4
- rasa/dialogue_understanding_test/du_test_runner.py +7 -2
- rasa/e2e_test/e2e_test_runner.py +12 -2
- rasa/engine/caching.py +2 -2
- rasa/engine/recipes/default_components.py +10 -18
- rasa/engine/storage/local_model_storage.py +2 -45
- rasa/graph_components/validators/default_recipe_validator.py +134 -134
- rasa/hooks.py +5 -5
- rasa/llm_fine_tuning/utils.py +2 -2
- rasa/model_manager/model_api.py +5 -4
- rasa/model_manager/runner_service.py +1 -1
- rasa/model_manager/socket_bridge.py +14 -20
- rasa/model_manager/trainer_service.py +9 -12
- rasa/model_manager/utils.py +29 -1
- rasa/model_manager/warm_rasa_process.py +1 -1
- rasa/model_training.py +8 -6
- rasa/nlu/extractors/extractor.py +2 -1
- rasa/plugin.py +8 -8
- rasa/privacy/privacy_manager.py +11 -2
- rasa/server.py +14 -2
- rasa/shared/agents/utils.py +35 -0
- rasa/shared/constants.py +8 -0
- rasa/shared/core/constants.py +11 -1
- rasa/shared/core/domain.py +11 -58
- rasa/shared/core/events.py +327 -0
- rasa/shared/core/flows/flow_step.py +1 -7
- rasa/shared/core/flows/flows_list.py +15 -5
- rasa/shared/core/flows/flows_yaml_schema.json +112 -186
- rasa/shared/core/flows/steps/call.py +53 -5
- rasa/shared/core/flows/validation.py +177 -7
- rasa/shared/core/flows/yaml_flows_io.py +9 -17
- rasa/shared/core/slots.py +2 -6
- rasa/shared/core/trackers.py +5 -2
- rasa/shared/exceptions.py +4 -0
- rasa/shared/importers/importer.py +0 -6
- rasa/shared/importers/rasa.py +1 -1
- rasa/shared/importers/utils.py +10 -80
- rasa/shared/providers/_utils.py +44 -60
- rasa/shared/providers/embedding/default_litellm_embedding_client.py +0 -2
- rasa/shared/providers/llm/_base_litellm_client.py +39 -7
- rasa/shared/providers/llm/default_litellm_llm_client.py +0 -2
- rasa/shared/providers/llm/litellm_router_llm_client.py +8 -4
- rasa/shared/providers/llm/llm_client.py +7 -3
- rasa/shared/providers/llm/llm_response.py +66 -0
- rasa/shared/providers/llm/self_hosted_llm_client.py +8 -4
- rasa/shared/utils/health_check/health_check.py +7 -3
- rasa/shared/utils/llm.py +28 -5
- rasa/shared/utils/mcp/server_connection.py +186 -0
- rasa/shared/utils/schemas/events.py +42 -0
- rasa/shared/utils/yaml.py +3 -1
- rasa/studio/upload.py +47 -16
- rasa/telemetry.py +23 -97
- rasa/tracing/instrumentation/instrumentation.py +14 -10
- rasa/tracing/instrumentation/intentless_policy_instrumentation.py +4 -4
- rasa/utils/common.py +79 -0
- rasa/utils/io.py +9 -27
- rasa/utils/json_utils.py +1 -6
- rasa/utils/log_utils.py +2 -6
- rasa/utils/ml_utils.py +1 -1
- rasa/utils/tensorflow/rasa_layers.py +1 -1
- rasa/utils/train_utils.py +15 -15
- rasa/validator.py +19 -21
- rasa/version.py +1 -1
- {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev7.dist-info}/METADATA +14 -17
- {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev7.dist-info}/RECORD +214 -442
- rasa/builder/README.md +0 -120
- rasa/builder/auth.py +0 -176
- rasa/builder/config.py +0 -115
- rasa/builder/copilot/constants.py +0 -25
- rasa/builder/copilot/copilot.py +0 -372
- rasa/builder/copilot/copilot_response_handler.py +0 -487
- rasa/builder/copilot/copilot_templated_message_provider.py +0 -58
- rasa/builder/copilot/exceptions.py +0 -20
- rasa/builder/copilot/models.py +0 -431
- rasa/builder/copilot/prompts/copilot_system_prompt.jinja2 +0 -726
- rasa/builder/copilot/telemetry.py +0 -195
- rasa/builder/copilot/templated_messages/copilot_internal_messages_templates.yml +0 -16
- rasa/builder/copilot/templated_messages/copilot_templated_responses.yml +0 -26
- rasa/builder/document_retrieval/constants.py +0 -15
- rasa/builder/document_retrieval/inkeep-rag-response-schema.json +0 -64
- rasa/builder/document_retrieval/inkeep_document_retrieval.py +0 -238
- rasa/builder/document_retrieval/models.py +0 -62
- rasa/builder/download.py +0 -140
- rasa/builder/exceptions.py +0 -55
- rasa/builder/guardrails/__init__.py +0 -1
- rasa/builder/guardrails/constants.py +0 -3
- rasa/builder/guardrails/exceptions.py +0 -4
- rasa/builder/guardrails/lakera.py +0 -206
- rasa/builder/guardrails/models.py +0 -199
- rasa/builder/guardrails/utils.py +0 -305
- rasa/builder/job_manager.py +0 -87
- rasa/builder/jobs.py +0 -234
- rasa/builder/llm_service.py +0 -246
- rasa/builder/logging_utils.py +0 -209
- rasa/builder/main.py +0 -174
- rasa/builder/models.py +0 -197
- rasa/builder/project_generator.py +0 -450
- rasa/builder/project_info.py +0 -72
- rasa/builder/scrape_rasa_docs.py +0 -97
- rasa/builder/service.py +0 -1142
- rasa/builder/shared/tracker_context.py +0 -212
- rasa/builder/skill_to_bot_prompt.jinja2 +0 -164
- rasa/builder/training_service.py +0 -132
- rasa/builder/validation_service.py +0 -93
- rasa/cli/project_templates/basic/actions/action_api.py +0 -15
- rasa/cli/project_templates/basic/actions/action_human_handoff.py +0 -44
- rasa/cli/project_templates/basic/config.yml +0 -23
- rasa/cli/project_templates/basic/credentials.yml +0 -34
- rasa/cli/project_templates/basic/data/general/feedback.yml +0 -20
- rasa/cli/project_templates/basic/data/general/goodbye.yml +0 -6
- rasa/cli/project_templates/basic/data/general/hello.yml +0 -7
- rasa/cli/project_templates/basic/data/general/help.yml +0 -6
- rasa/cli/project_templates/basic/data/general/human_handoff.yml +0 -16
- rasa/cli/project_templates/basic/data/general/welcome.yml +0 -9
- rasa/cli/project_templates/basic/data/system/pattern_completed.yml +0 -7
- rasa/cli/project_templates/basic/data/system/pattern_correction.yml +0 -7
- rasa/cli/project_templates/basic/data/system/pattern_search.yml +0 -8
- rasa/cli/project_templates/basic/data/system/pattern_session_start.yml +0 -8
- rasa/cli/project_templates/basic/docs/rasa_assistant_qa.txt +0 -65
- rasa/cli/project_templates/basic/docs/template.txt +0 -7
- rasa/cli/project_templates/basic/domain/general/assistant_details.yml +0 -12
- rasa/cli/project_templates/basic/domain/general/bot_identity.yml +0 -5
- rasa/cli/project_templates/basic/domain/general/cannot_handle.yml +0 -5
- rasa/cli/project_templates/basic/domain/general/feedback.yml +0 -28
- rasa/cli/project_templates/basic/domain/general/goodbye.yml +0 -7
- rasa/cli/project_templates/basic/domain/general/help.yml +0 -5
- rasa/cli/project_templates/basic/domain/general/human_handoff_domain.yml +0 -35
- rasa/cli/project_templates/basic/domain/general/utils.yml +0 -13
- rasa/cli/project_templates/basic/domain/general/welcome.yml +0 -7
- rasa/cli/project_templates/basic/endpoints.yml +0 -73
- rasa/cli/project_templates/basic/prompts/rephraser_demo_personality_prompt.jinja2 +0 -19
- rasa/cli/project_templates/finance/actions/__init__.py +0 -46
- rasa/cli/project_templates/finance/actions/accounts/action_ask_account.py +0 -47
- rasa/cli/project_templates/finance/actions/accounts/action_check_balance.py +0 -40
- rasa/cli/project_templates/finance/actions/action_session_start.py +0 -74
- rasa/cli/project_templates/finance/actions/cards/action_ask_card.py +0 -48
- rasa/cli/project_templates/finance/actions/cards/action_check_card_existence.py +0 -36
- rasa/cli/project_templates/finance/actions/cards/action_update_card_status.py +0 -54
- rasa/cli/project_templates/finance/actions/database.py +0 -277
- rasa/cli/project_templates/finance/actions/transfers/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/transfers/action_add_payee.py +0 -52
- rasa/cli/project_templates/finance/actions/transfers/action_ask_account_from.py +0 -51
- rasa/cli/project_templates/finance/actions/transfers/action_check_payee_existence.py +0 -40
- rasa/cli/project_templates/finance/actions/transfers/action_check_sufficient_funds.py +0 -40
- rasa/cli/project_templates/finance/actions/transfers/action_list_payees.py +0 -46
- rasa/cli/project_templates/finance/actions/transfers/action_process_immediate_payment.py +0 -18
- rasa/cli/project_templates/finance/actions/transfers/action_remove_payee.py +0 -49
- rasa/cli/project_templates/finance/actions/transfers/action_schedule_payment.py +0 -19
- rasa/cli/project_templates/finance/actions/transfers/action_validate_payment_date.py +0 -36
- rasa/cli/project_templates/finance/config.yml +0 -21
- rasa/cli/project_templates/finance/credentials.yml +0 -32
- rasa/cli/project_templates/finance/csvs/accounts.csv +0 -8
- rasa/cli/project_templates/finance/csvs/advisors.csv +0 -7
- rasa/cli/project_templates/finance/csvs/appointments.csv +0 -211
- rasa/cli/project_templates/finance/csvs/branches.csv +0 -10
- rasa/cli/project_templates/finance/csvs/cards.csv +0 -11
- rasa/cli/project_templates/finance/csvs/payees.csv +0 -11
- rasa/cli/project_templates/finance/csvs/transactions.csv +0 -71
- rasa/cli/project_templates/finance/csvs/users.csv +0 -4
- rasa/cli/project_templates/finance/data/accounts/check_balance.yml +0 -10
- rasa/cli/project_templates/finance/data/cards/block_card.yml +0 -66
- rasa/cli/project_templates/finance/data/cards/select_card.yml +0 -12
- rasa/cli/project_templates/finance/data/general/bot_identity.yml +0 -6
- rasa/cli/project_templates/finance/data/general/feedback.yml +0 -20
- rasa/cli/project_templates/finance/data/general/goodbye.yml +0 -6
- rasa/cli/project_templates/finance/data/general/hello.yml +0 -7
- rasa/cli/project_templates/finance/data/general/help.yml +0 -9
- rasa/cli/project_templates/finance/data/general/human_handoff.yml +0 -16
- rasa/cli/project_templates/finance/data/general/welcome.yml +0 -9
- rasa/cli/project_templates/finance/data/system/patterns/pattern_chitchat.yml +0 -5
- rasa/cli/project_templates/finance/data/system/patterns/pattern_completed.yml +0 -7
- rasa/cli/project_templates/finance/data/system/patterns/pattern_correction.yml +0 -7
- rasa/cli/project_templates/finance/data/system/patterns/pattern_search.yml +0 -8
- rasa/cli/project_templates/finance/data/system/patterns/pattern_session_start.yml +0 -8
- rasa/cli/project_templates/finance/data/system/source/accounts.json +0 -51
- rasa/cli/project_templates/finance/data/system/source/advisors.json +0 -44
- rasa/cli/project_templates/finance/data/system/source/appointments.json +0 -1474
- rasa/cli/project_templates/finance/data/system/source/branches.json +0 -47
- rasa/cli/project_templates/finance/data/system/source/cards.json +0 -72
- rasa/cli/project_templates/finance/data/system/source/payees.json +0 -74
- rasa/cli/project_templates/finance/data/system/source/transactions.json +0 -492
- rasa/cli/project_templates/finance/data/system/source/users.json +0 -29
- rasa/cli/project_templates/finance/data/transfers/add_payee.yml +0 -29
- rasa/cli/project_templates/finance/data/transfers/list_payees.yml +0 -5
- rasa/cli/project_templates/finance/data/transfers/remove_payee.yml +0 -21
- rasa/cli/project_templates/finance/data/transfers/transfer_money.yml +0 -67
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/consequences_of_blocking_card.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/reasons_to_block_card.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/recovering_from_card_fraud.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/tips_for_card_security.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/what_to_do_if_card_is_lost.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/account_balance_security.txt +0 -7
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/common_balance_inquiries.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/methods_to_check_balance.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/understanding_balance_updates.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/what_to_do_if_balance_is_incorrect.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/benefits_of_authorised_payees.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/common_issues_with_payees.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/general_payee_information.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/payee_management_tips.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/understanding_payee_types.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/common_transfer_errors.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/fees_for_transfers.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/general_transfer_information.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/security_tips_for_transfers.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/transfer_processing_times.txt +0 -8
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part1.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part10.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part11.txt +0 -48
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part12.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part13.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part14.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part15.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part16.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part17.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part18.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part19.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part2.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part20.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part21.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part22.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part23.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part24.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part25.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part26.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part27.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part28.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part29.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part3.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part30.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part31.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part32.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part33.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part34.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part35.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part36.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part37.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part38.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part39.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part4.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part40.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part41.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part42.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part43.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part44.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part45.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part46.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part47.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part48.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part49.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part5.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part50.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part51.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part52.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part53.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part54.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part55.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part56.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part57.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part58.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part59.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part6.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part60.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part61.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part7.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part8.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part9.txt +0 -47
- rasa/cli/project_templates/finance/domain/accounts/check_balance.yml +0 -11
- rasa/cli/project_templates/finance/domain/cards/block_card.yml +0 -101
- rasa/cli/project_templates/finance/domain/cards/select_card.yml +0 -12
- rasa/cli/project_templates/finance/domain/general/assistant_details.yml +0 -12
- rasa/cli/project_templates/finance/domain/general/bot_identity.yml +0 -5
- rasa/cli/project_templates/finance/domain/general/cannot_handle.yml +0 -5
- rasa/cli/project_templates/finance/domain/general/defaults.yml +0 -24
- rasa/cli/project_templates/finance/domain/general/feedback.yml +0 -28
- rasa/cli/project_templates/finance/domain/general/goodbye.yml +0 -7
- rasa/cli/project_templates/finance/domain/general/help.yml +0 -5
- rasa/cli/project_templates/finance/domain/general/human_handoff.yml +0 -30
- rasa/cli/project_templates/finance/domain/general/utils.yml +0 -13
- rasa/cli/project_templates/finance/domain/general/welcome.yml +0 -8
- rasa/cli/project_templates/finance/domain/transfers/add_payee.yml +0 -47
- rasa/cli/project_templates/finance/domain/transfers/list_payees.yml +0 -4
- rasa/cli/project_templates/finance/domain/transfers/remove_payee.yml +0 -16
- rasa/cli/project_templates/finance/domain/transfers/transfer_money.yml +0 -79
- rasa/cli/project_templates/finance/endpoints.yml +0 -63
- rasa/cli/project_templates/finance/prompts/rephraser_demo_personality_prompt.jinja2 +0 -19
- rasa/cli/project_templates/telco/actions/__init__.py +0 -0
- rasa/cli/project_templates/telco/actions/actions_billing.py +0 -204
- rasa/cli/project_templates/telco/actions/actions_get_data_from_db.py +0 -48
- rasa/cli/project_templates/telco/actions/actions_run_diagnostics.py +0 -28
- rasa/cli/project_templates/telco/actions/actions_session_start.py +0 -18
- rasa/cli/project_templates/telco/config.yml +0 -25
- rasa/cli/project_templates/telco/credentials.yml +0 -33
- rasa/cli/project_templates/telco/csvs/billing.csv +0 -10
- rasa/cli/project_templates/telco/csvs/customers.csv +0 -5
- rasa/cli/project_templates/telco/data/flows/flow_global.yml +0 -5
- rasa/cli/project_templates/telco/data/flows/flow_reboot_router.yml +0 -8
- rasa/cli/project_templates/telco/data/flows/flow_reset_router.yml +0 -7
- rasa/cli/project_templates/telco/data/flows/flow_solve_internet_issue.yml +0 -73
- rasa/cli/project_templates/telco/data/flows/flow_undertand_bill.yml +0 -45
- rasa/cli/project_templates/telco/data/patterns/pattern_completed.yml +0 -7
- rasa/cli/project_templates/telco/data/patterns/pattern_human_handoff.yml +0 -6
- rasa/cli/project_templates/telco/data/patterns/pattern_search.yml +0 -7
- rasa/cli/project_templates/telco/data/patterns/pattern_session_start.yml +0 -9
- rasa/cli/project_templates/telco/docs/reset_vs_rboot_router.txt +0 -1
- rasa/cli/project_templates/telco/docs/restart_router.txt +0 -6
- rasa/cli/project_templates/telco/docs/run_speed_test.txt +0 -6
- rasa/cli/project_templates/telco/domain/domain_global.yml +0 -29
- rasa/cli/project_templates/telco/domain/domain_patterns.yml +0 -17
- rasa/cli/project_templates/telco/domain/domain_reboot_router.yml +0 -20
- rasa/cli/project_templates/telco/domain/domain_reset_router.yml +0 -11
- rasa/cli/project_templates/telco/domain/domain_run_speed_test.yml +0 -24
- rasa/cli/project_templates/telco/domain/domain_solve_internet_issue.yml +0 -74
- rasa/cli/project_templates/telco/domain/domain_undertand_bill.yml +0 -102
- rasa/cli/project_templates/telco/endpoints.yml +0 -60
- rasa/cli/project_templates/telco/tests/e2e_results_failed.yml +0 -62
- rasa/cli/project_templates/telco/tests/e2e_results_passed.yml +0 -130
- rasa/cli/project_templates/telco/tests/e2e_test_cases/billing_test_cases.yml +0 -68
- rasa/cli/project_templates/telco/tests/e2e_test_cases/global_test_cases.yml +0 -13
- rasa/cli/project_templates/telco/tests/e2e_test_cases/internet_slow_test_case.yml +0 -47
- rasa/cli/project_templates/telco/tests/e2e_test_cases/out_of_scope_test_case.yml +0 -21
- rasa/cli/project_templates/telco/tests/e2e_test_cases/patterns_test_cases.yml +0 -15
- rasa/core/channels/constants.py +0 -3
- rasa/core/channels/inspector/dist/assets/channel-b9b536fc.js +0 -1
- rasa/core/channels/inspector/dist/assets/clone-78d2ddcf.js +0 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-8b09c060.js +0 -1
- rasa/core/channels/inspector/dist/assets/index-4d4bdf3a.js +0 -1335
- rasa/utils/openapi.py +0 -144
- /rasa/{builder → agents}/__init__.py +0 -0
- /rasa/{builder/copilot → agents/core}/__init__.py +0 -0
- /rasa/{builder/copilot/prompts → agents/protocol/a2a}/__init__.py +0 -0
- /rasa/{builder/copilot/templated_messages → agents/protocol/mcp}/__init__.py +0 -0
- /rasa/{builder/document_retrieval → agents/templates}/__init__.py +0 -0
- /rasa/{cli/project_templates/finance/actions/accounts → shared/agents}/__init__.py +0 -0
- /rasa/{cli/project_templates/finance/actions/cards → shared/utils/mcp}/__init__.py +0 -0
- {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev7.dist-info}/NOTICE +0 -0
- {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev7.dist-info}/WHEEL +0 -0
- {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev7.dist-info}/entry_points.txt +0 -0
|
@@ -157,8 +157,8 @@ def warmup() -> None:
|
|
|
157
157
|
import pandas # noqa: F401
|
|
158
158
|
import presidio_analyzer # noqa: F401
|
|
159
159
|
import spacy # noqa: F401
|
|
160
|
-
import tensorflow # noqa: F401
|
|
161
160
|
|
|
161
|
+
# import tensorflow
|
|
162
162
|
import rasa.validator # noqa: F401
|
|
163
163
|
except ImportError:
|
|
164
164
|
pass
|
rasa/model_training.py
CHANGED
|
@@ -145,22 +145,23 @@ def _check_unresolved_slots(domain: Domain, stories: StoryGraph) -> None:
|
|
|
145
145
|
|
|
146
146
|
|
|
147
147
|
async def train(
|
|
148
|
-
domain:
|
|
149
|
-
config:
|
|
150
|
-
training_files: Optional[Union[
|
|
151
|
-
output:
|
|
148
|
+
domain: str,
|
|
149
|
+
config: str,
|
|
150
|
+
training_files: Optional[Union[str, List[str]]],
|
|
151
|
+
output: str = rasa.shared.constants.DEFAULT_MODELS_PATH,
|
|
152
152
|
dry_run: bool = False,
|
|
153
153
|
force_training: bool = False,
|
|
154
|
-
fixed_model_name: Optional[
|
|
154
|
+
fixed_model_name: Optional[str] = None,
|
|
155
155
|
persist_nlu_training_data: bool = False,
|
|
156
156
|
core_additional_arguments: Optional[Dict] = None,
|
|
157
157
|
nlu_additional_arguments: Optional[Dict] = None,
|
|
158
|
-
model_to_finetune: Optional[
|
|
158
|
+
model_to_finetune: Optional[str] = None,
|
|
159
159
|
finetuning_epoch_fraction: float = 1.0,
|
|
160
160
|
remote_storage: Optional[StorageType] = None,
|
|
161
161
|
file_importer: Optional[TrainingDataImporter] = None,
|
|
162
162
|
keep_local_model_copy: bool = False,
|
|
163
163
|
remote_root_only: bool = False,
|
|
164
|
+
sub_agents: Optional[str] = None,
|
|
164
165
|
) -> TrainingResult:
|
|
165
166
|
"""Trains a Rasa model (Core and NLU).
|
|
166
167
|
|
|
@@ -190,6 +191,7 @@ async def train(
|
|
|
190
191
|
remote storage is configured.
|
|
191
192
|
remote_root_only: If `True`, the model will be stored in the root of the
|
|
192
193
|
remote model storage.
|
|
194
|
+
sub_agents: Path to sub-agents directory.
|
|
193
195
|
|
|
194
196
|
Returns:
|
|
195
197
|
An instance of `TrainingResult`.
|
rasa/nlu/extractors/extractor.py
CHANGED
|
@@ -2,7 +2,8 @@ import abc
|
|
|
2
2
|
from typing import Any, Dict, List, NamedTuple, Optional, Text, Tuple
|
|
3
3
|
|
|
4
4
|
import rasa.shared.utils.io
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
# import rasa.utils.train_utils
|
|
6
7
|
from rasa.nlu.constants import (
|
|
7
8
|
ENTITY_ATTRIBUTE_CONFIDENCE_GROUP,
|
|
8
9
|
ENTITY_ATTRIBUTE_CONFIDENCE_ROLE,
|
rasa/plugin.py
CHANGED
|
@@ -37,7 +37,7 @@ def init_hooks(manager: pluggy.PluginManager) -> None:
|
|
|
37
37
|
manager.register(hooks)
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
@hookspec
|
|
40
|
+
@hookspec
|
|
41
41
|
def refine_cli(
|
|
42
42
|
subparsers: SubParsersAction,
|
|
43
43
|
parent_parsers: List[argparse.ArgumentParser],
|
|
@@ -45,22 +45,22 @@ def refine_cli(
|
|
|
45
45
|
"""Customizable hook for adding CLI commands."""
|
|
46
46
|
|
|
47
47
|
|
|
48
|
-
@hookspec
|
|
48
|
+
@hookspec
|
|
49
49
|
def configure_commandline(cmdline_arguments: argparse.Namespace) -> Optional[Text]:
|
|
50
50
|
"""Hook specification for configuring plugin CLI."""
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
@hookspec
|
|
53
|
+
@hookspec
|
|
54
54
|
def init_telemetry(endpoints_file: Optional[Text]) -> None:
|
|
55
55
|
"""Hook specification for initialising plugin telemetry."""
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
@hookspec
|
|
58
|
+
@hookspec
|
|
59
59
|
def init_managers(endpoints_file: Optional[Text]) -> None:
|
|
60
60
|
"""Hook specification for initialising managers."""
|
|
61
61
|
|
|
62
62
|
|
|
63
|
-
@hookspec(firstresult=True)
|
|
63
|
+
@hookspec(firstresult=True)
|
|
64
64
|
def create_tracker_store( # type: ignore[empty-body]
|
|
65
65
|
endpoint_config: Union["TrackerStore", "EndpointConfig"],
|
|
66
66
|
domain: "Domain",
|
|
@@ -69,7 +69,7 @@ def create_tracker_store( # type: ignore[empty-body]
|
|
|
69
69
|
"""Hook specification for wrapping with AuthRetryTrackerStore."""
|
|
70
70
|
|
|
71
71
|
|
|
72
|
-
@hookspec
|
|
72
|
+
@hookspec
|
|
73
73
|
def after_server_stop() -> None:
|
|
74
74
|
"""Hook specification for stopping the server.
|
|
75
75
|
|
|
@@ -78,11 +78,11 @@ def after_server_stop() -> None:
|
|
|
78
78
|
"""
|
|
79
79
|
|
|
80
80
|
|
|
81
|
-
@hookspec
|
|
81
|
+
@hookspec
|
|
82
82
|
def after_new_user_message(tracker: "DialogueStateTracker") -> None:
|
|
83
83
|
"""Hook specification for after a new user message is received."""
|
|
84
84
|
|
|
85
85
|
|
|
86
|
-
@hookspec
|
|
86
|
+
@hookspec
|
|
87
87
|
def after_action_executed(tracker: "DialogueStateTracker") -> None:
|
|
88
88
|
"""Hook specification for after an action is executed."""
|
rasa/privacy/privacy_manager.py
CHANGED
|
@@ -264,10 +264,19 @@ class BackgroundPrivacyManager:
|
|
|
264
264
|
)
|
|
265
265
|
return None
|
|
266
266
|
|
|
267
|
-
|
|
267
|
+
latest_user_message_event = tracker.get_last_event_for(
|
|
268
268
|
UserUttered, event_verbosity=EventVerbosity.ALL
|
|
269
269
|
)
|
|
270
|
-
if
|
|
270
|
+
if latest_user_message_event is None or not isinstance(
|
|
271
|
+
latest_user_message_event, UserUttered
|
|
272
|
+
):
|
|
273
|
+
structlogger.debug(
|
|
274
|
+
"rasa.privacy_manager.no_user_message.skipping_processing",
|
|
275
|
+
)
|
|
276
|
+
return None
|
|
277
|
+
|
|
278
|
+
latest_user_message: UserUttered = latest_user_message_event
|
|
279
|
+
if not latest_user_message.text:
|
|
271
280
|
structlogger.debug(
|
|
272
281
|
"rasa.privacy_manager.no_user_message.skipping_processing",
|
|
273
282
|
)
|
rasa/server.py
CHANGED
|
@@ -44,6 +44,7 @@ import rasa.utils.endpoints
|
|
|
44
44
|
import rasa.utils.io
|
|
45
45
|
from rasa.constants import MINIMUM_COMPATIBLE_VERSION
|
|
46
46
|
from rasa.core.agent import Agent
|
|
47
|
+
from rasa.core.available_agents import AvailableAgents
|
|
47
48
|
from rasa.core.available_endpoints import AvailableEndpoints
|
|
48
49
|
from rasa.core.channels.channel import (
|
|
49
50
|
CollectingOutputChannel,
|
|
@@ -243,7 +244,7 @@ def requires_auth(
|
|
|
243
244
|
@wraps(f)
|
|
244
245
|
async def decorated(
|
|
245
246
|
request: Request, *args: Any, **kwargs: Any
|
|
246
|
-
) -> response.HTTPResponse:
|
|
247
|
+
) -> Union[response.HTTPResponse, Coroutine[Any, Any, response.HTTPResponse]]:
|
|
247
248
|
provided = request.args.get("token", None)
|
|
248
249
|
|
|
249
250
|
# noinspection PyProtectedMember
|
|
@@ -676,7 +677,9 @@ def inject_temp_dir(f: Callable[..., Coroutine]) -> Callable:
|
|
|
676
677
|
"""
|
|
677
678
|
|
|
678
679
|
@wraps(f)
|
|
679
|
-
async def decorated_function(
|
|
680
|
+
async def decorated_function(
|
|
681
|
+
*args: Any, **kwargs: Any
|
|
682
|
+
) -> Union[HTTPResponse, Coroutine[Any, Any, HTTPResponse]]:
|
|
680
683
|
with TempDirectoryPath(get_temp_dir_name()) as directory:
|
|
681
684
|
# Decorated request handles need to have a parameter `temporary_directory`
|
|
682
685
|
return await f(*args, temporary_directory=Path(directory), **kwargs)
|
|
@@ -693,6 +696,7 @@ def create_app(
|
|
|
693
696
|
jwt_private_key: Optional[Text] = None,
|
|
694
697
|
jwt_method: Text = "HS256",
|
|
695
698
|
endpoints: Optional[AvailableEndpoints] = None,
|
|
699
|
+
sub_agents: Optional[AvailableAgents] = None,
|
|
696
700
|
is_inspector_enabled: bool = False,
|
|
697
701
|
) -> Sanic:
|
|
698
702
|
"""Class representing a Rasa HTTP server."""
|
|
@@ -728,6 +732,7 @@ def create_app(
|
|
|
728
732
|
user_id="username",
|
|
729
733
|
)
|
|
730
734
|
|
|
735
|
+
app.ctx.sub_agents = sub_agents
|
|
731
736
|
app.ctx.agent = agent
|
|
732
737
|
# Initialize shared object of type unsigned int for tracking
|
|
733
738
|
# the number of active training processes
|
|
@@ -1463,6 +1468,13 @@ def create_app(
|
|
|
1463
1468
|
flows = await processor.get_flows()
|
|
1464
1469
|
return response.json(flows.as_json_list())
|
|
1465
1470
|
|
|
1471
|
+
@app.get("/sub-agents")
|
|
1472
|
+
@requires_auth(app, auth_token)
|
|
1473
|
+
async def get_sub_agents(request: Request) -> HTTPResponse:
|
|
1474
|
+
"""Get all the sub-agents currently stored by the agent."""
|
|
1475
|
+
sub_agents = app.ctx.sub_agents
|
|
1476
|
+
return response.json(sub_agents.as_json_list())
|
|
1477
|
+
|
|
1466
1478
|
@app.get("/domain")
|
|
1467
1479
|
@requires_auth(app, auth_token)
|
|
1468
1480
|
@ensure_loaded_agent(app)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from rasa.agents.core.types import AgentIdentifier, ProtocolType
|
|
4
|
+
from rasa.core.available_agents import AgentConfig, ProtocolConfig
|
|
5
|
+
from rasa.shared.core.flows.steps import CallFlowStep
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def make_agent_identifier(
|
|
9
|
+
agent_name: str, protocol_type: ProtocolType
|
|
10
|
+
) -> AgentIdentifier:
|
|
11
|
+
"""Make an agent identifier."""
|
|
12
|
+
return AgentIdentifier(agent_name, protocol_type)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def get_protocol_type(
|
|
16
|
+
step: CallFlowStep, agent_config: Optional[AgentConfig]
|
|
17
|
+
) -> ProtocolType:
|
|
18
|
+
"""Get the protocol type for an agent.
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
step: The step that is calling the agent.
|
|
22
|
+
agent_config: The agent configuration.
|
|
23
|
+
|
|
24
|
+
Returns:
|
|
25
|
+
The protocol type for the agent.
|
|
26
|
+
"""
|
|
27
|
+
if step.exit_if:
|
|
28
|
+
protocol_type = ProtocolType.MCP_TASK
|
|
29
|
+
else:
|
|
30
|
+
protocol_type = (
|
|
31
|
+
ProtocolType.A2A
|
|
32
|
+
if agent_config and agent_config.agent.protocol == ProtocolConfig.A2A
|
|
33
|
+
else ProtocolType.MCP_OPEN
|
|
34
|
+
)
|
|
35
|
+
return protocol_type
|
rasa/shared/constants.py
CHANGED
|
@@ -249,6 +249,9 @@ _VALIDATE_ENVIRONMENT_MISSING_KEYS_KEY = "missing_keys"
|
|
|
249
249
|
LLM_API_HEALTH_CHECK_ENV_VAR = "LLM_API_HEALTH_CHECK"
|
|
250
250
|
LLM_API_HEALTH_CHECK_DEFAULT_VALUE = "false"
|
|
251
251
|
|
|
252
|
+
MCP_API_HEALTH_CHECK_ENV_VAR = "MCP_API_HEALTH_CHECK"
|
|
253
|
+
MCP_API_HEALTH_CHECK_DEFAULT_VALUE = "false"
|
|
254
|
+
|
|
252
255
|
AWS_REGION_NAME_CONFIG_KEY = "aws_region_name"
|
|
253
256
|
AWS_ACCESS_KEY_ID_CONFIG_KEY = "aws_access_key_id"
|
|
254
257
|
AWS_SECRET_ACCESS_KEY_CONFIG_KEY = "aws_secret_access_key"
|
|
@@ -345,6 +348,8 @@ PAYLOAD = "payload"
|
|
|
345
348
|
# Used for LLM command generation
|
|
346
349
|
ROLE_USER = "user"
|
|
347
350
|
ROLE_SYSTEM = "system"
|
|
351
|
+
ROLE_ASSISTANT = "assistant"
|
|
352
|
+
ROLE_TOOL = "tool"
|
|
348
353
|
|
|
349
354
|
# Used for key values in ValidateSlotPatternFlowStackFrame
|
|
350
355
|
REFILL_UTTER = "refill_utter"
|
|
@@ -359,3 +364,6 @@ FAQ_INPUT_DATA_QUESTION_LINE_PREFIX = "Q:"
|
|
|
359
364
|
FAQ_INPUT_DATA_ANSWER_LINE_PREFIX = "A:"
|
|
360
365
|
FAQ_DOCUMENT_ENTRY_SEPARATOR = "\n\n"
|
|
361
366
|
FAQ_DOCUMENT_LINE_SEPARATOR = "\n"
|
|
367
|
+
|
|
368
|
+
# Constants for the MCP server
|
|
369
|
+
KEY_TOOL_CALLS = "tool_calls"
|
rasa/shared/core/constants.py
CHANGED
|
@@ -30,6 +30,7 @@ LOOP_NAME = "name"
|
|
|
30
30
|
ACTION_LISTEN_NAME = "action_listen"
|
|
31
31
|
ACTION_RESTART_NAME = "action_restart"
|
|
32
32
|
ACTION_SEND_TEXT_NAME = "action_send_text"
|
|
33
|
+
ACTION_AGENT_REQUEST_USER_INPUT_NAME = "action_agent_request_user_input"
|
|
33
34
|
ACTION_SESSION_START_NAME = "action_session_start"
|
|
34
35
|
ACTION_DEFAULT_FALLBACK_NAME = "action_default_fallback"
|
|
35
36
|
ACTION_DEACTIVATE_LOOP_NAME = "action_deactivate_loop"
|
|
@@ -53,9 +54,16 @@ ACTION_RESET_ROUTING = "action_reset_routing"
|
|
|
53
54
|
ACTION_HANGUP = "action_hangup"
|
|
54
55
|
ACTION_REPEAT_BOT_MESSAGES = "action_repeat_bot_messages"
|
|
55
56
|
|
|
57
|
+
# pattern continue interrupted flows
|
|
58
|
+
ACTION_CONTINUE_INTERRUPTED_FLOW = "action_continue_interrupted_flow"
|
|
59
|
+
ACTION_CANCEL_INTERRUPTED_FLOWS = "action_cancel_interrupted_flows"
|
|
60
|
+
|
|
61
|
+
|
|
56
62
|
ACTION_METADATA_EXECUTION_SUCCESS = "execution_success"
|
|
57
63
|
ACTION_METADATA_EXECUTION_ERROR_MESSAGE = "execution_error_message"
|
|
58
64
|
|
|
65
|
+
ACTION_METADATA_MESSAGE_KEY = "message"
|
|
66
|
+
ACTION_METADATA_TEXT_KEY = "text"
|
|
59
67
|
|
|
60
68
|
DEFAULT_ACTION_NAMES = [
|
|
61
69
|
ACTION_LISTEN_NAME,
|
|
@@ -70,6 +78,7 @@ DEFAULT_ACTION_NAMES = [
|
|
|
70
78
|
ACTION_UNLIKELY_INTENT_NAME,
|
|
71
79
|
ACTION_BACK_NAME,
|
|
72
80
|
ACTION_SEND_TEXT_NAME,
|
|
81
|
+
ACTION_AGENT_REQUEST_USER_INPUT_NAME,
|
|
73
82
|
RULE_SNIPPET_ACTION_NAME,
|
|
74
83
|
ACTION_EXTRACT_SLOTS,
|
|
75
84
|
ACTION_CANCEL_FLOW,
|
|
@@ -82,6 +91,8 @@ DEFAULT_ACTION_NAMES = [
|
|
|
82
91
|
ACTION_RESET_ROUTING,
|
|
83
92
|
ACTION_HANGUP,
|
|
84
93
|
ACTION_REPEAT_BOT_MESSAGES,
|
|
94
|
+
ACTION_CONTINUE_INTERRUPTED_FLOW,
|
|
95
|
+
ACTION_CANCEL_INTERRUPTED_FLOWS,
|
|
85
96
|
]
|
|
86
97
|
|
|
87
98
|
ACTION_SHOULD_SEND_DOMAIN = "send_domain"
|
|
@@ -136,7 +147,6 @@ DEFAULT_SLOT_NAMES = {
|
|
|
136
147
|
FLOW_HASHES_SLOT,
|
|
137
148
|
}
|
|
138
149
|
|
|
139
|
-
|
|
140
150
|
SLOT_MAPPINGS = "mappings"
|
|
141
151
|
MAPPING_CONDITIONS = "conditions"
|
|
142
152
|
KEY_MAPPING_TYPE = "type"
|
rasa/shared/core/domain.py
CHANGED
|
@@ -98,8 +98,6 @@ IS_RETRIEVAL_INTENT_KEY = "is_retrieval_intent"
|
|
|
98
98
|
ENTITY_ROLES_KEY = "roles"
|
|
99
99
|
ENTITY_GROUPS_KEY = "groups"
|
|
100
100
|
ENTITY_FEATURIZATION_KEY = "influence_conversation"
|
|
101
|
-
STORE_ENTITIES_AS_SLOTS_KEY = "store_entities_as_slots"
|
|
102
|
-
DOMAIN_CONFIG_KEY = "config"
|
|
103
101
|
|
|
104
102
|
KEY_SLOTS = "slots"
|
|
105
103
|
KEY_INTENTS = "intents"
|
|
@@ -148,8 +146,6 @@ MERGE_FUNC_MAPPING: Dict[Text, Callable[..., Any]] = {
|
|
|
148
146
|
KEY_FORMS: rasa.shared.utils.common.merge_dicts,
|
|
149
147
|
}
|
|
150
148
|
|
|
151
|
-
DEFAULT_STORE_ENTITIES_AS_SLOTS = True
|
|
152
|
-
|
|
153
149
|
DICT_DATA_KEYS = [
|
|
154
150
|
key
|
|
155
151
|
for key, value in MERGE_FUNC_MAPPING.items()
|
|
@@ -322,7 +318,7 @@ class Domain:
|
|
|
322
318
|
actions = cls._collect_action_names(domain_actions)
|
|
323
319
|
|
|
324
320
|
additional_arguments = {
|
|
325
|
-
**data.get(
|
|
321
|
+
**data.get("config", {}),
|
|
326
322
|
"actions_which_explicitly_need_domain": (
|
|
327
323
|
cls._collect_actions_which_explicitly_need_domain(domain_actions)
|
|
328
324
|
),
|
|
@@ -472,9 +468,9 @@ class Domain:
|
|
|
472
468
|
return domain_dict
|
|
473
469
|
|
|
474
470
|
if override:
|
|
475
|
-
config = domain_dict.get(
|
|
471
|
+
config = domain_dict.get("config", {})
|
|
476
472
|
for key, val in config.items():
|
|
477
|
-
combined[
|
|
473
|
+
combined["config"][key] = val
|
|
478
474
|
|
|
479
475
|
if (
|
|
480
476
|
override
|
|
@@ -514,8 +510,8 @@ class Domain:
|
|
|
514
510
|
def partial_merge(self, other: Domain) -> Domain:
|
|
515
511
|
"""Returns a new Domain with intersection-based merging.
|
|
516
512
|
|
|
517
|
-
|
|
518
|
-
|
|
513
|
+
- For each domain section only overwrite items that already exist in self.
|
|
514
|
+
- Brand-new items in `other` are ignored.
|
|
519
515
|
|
|
520
516
|
Args:
|
|
521
517
|
other: The domain to merge with.
|
|
@@ -549,7 +545,7 @@ class Domain:
|
|
|
549
545
|
def difference(self, other: Domain) -> Domain:
|
|
550
546
|
"""Returns a new Domain containing items in `self` that are NOT in `other`.
|
|
551
547
|
|
|
552
|
-
|
|
548
|
+
Simple using equality checks for dict/list items.
|
|
553
549
|
|
|
554
550
|
Args:
|
|
555
551
|
other: The domain to compare with.
|
|
@@ -602,16 +598,9 @@ class Domain:
|
|
|
602
598
|
) -> Dict:
|
|
603
599
|
# add the config, session_config and training data version defaults
|
|
604
600
|
# if not included in the original domain dict
|
|
605
|
-
if
|
|
606
|
-
DOMAIN_CONFIG_KEY not in data
|
|
607
|
-
and store_entities_as_slots != DEFAULT_STORE_ENTITIES_AS_SLOTS
|
|
608
|
-
):
|
|
601
|
+
if "config" not in data and not store_entities_as_slots:
|
|
609
602
|
data.update(
|
|
610
|
-
{
|
|
611
|
-
DOMAIN_CONFIG_KEY: {
|
|
612
|
-
STORE_ENTITIES_AS_SLOTS_KEY: store_entities_as_slots
|
|
613
|
-
}
|
|
614
|
-
}
|
|
603
|
+
{"config": {"store_entities_as_slots": store_entities_as_slots}}
|
|
615
604
|
)
|
|
616
605
|
|
|
617
606
|
if SESSION_CONFIG_KEY not in data:
|
|
@@ -948,7 +937,7 @@ class Domain:
|
|
|
948
937
|
forms: Union[Dict[Text, Any], List[Text]],
|
|
949
938
|
data: Dict,
|
|
950
939
|
action_texts: Optional[List[Text]] = None,
|
|
951
|
-
store_entities_as_slots: bool =
|
|
940
|
+
store_entities_as_slots: bool = True,
|
|
952
941
|
session_config: SessionConfig = SessionConfig.default(),
|
|
953
942
|
**kwargs: Any,
|
|
954
943
|
) -> None:
|
|
@@ -1722,45 +1711,9 @@ class Domain:
|
|
|
1722
1711
|
else:
|
|
1723
1712
|
return True
|
|
1724
1713
|
|
|
1725
|
-
def
|
|
1726
|
-
"""Check if the domain uses a custom session config."""
|
|
1727
|
-
return self._data.get(SESSION_CONFIG_KEY) != SessionConfig.default().as_dict()
|
|
1728
|
-
|
|
1729
|
-
def _uses_custom_domain_config(self) -> bool:
|
|
1730
|
-
"""Check if the domain uses a custom domain config."""
|
|
1731
|
-
return self._data.get(DOMAIN_CONFIG_KEY) != {
|
|
1732
|
-
STORE_ENTITIES_AS_SLOTS_KEY: DEFAULT_STORE_ENTITIES_AS_SLOTS
|
|
1733
|
-
}
|
|
1734
|
-
|
|
1735
|
-
def _cleaned_json_data(self) -> Dict[Text, Any]:
|
|
1736
|
-
"""Remove default values from the domain data.
|
|
1737
|
-
|
|
1738
|
-
Only retains data that was customized by the user.
|
|
1739
|
-
|
|
1740
|
-
Returns:
|
|
1741
|
-
A cleaned dictionary version of the domain.
|
|
1742
|
-
"""
|
|
1743
|
-
cleaned_data = copy.deepcopy(self._data)
|
|
1744
|
-
|
|
1745
|
-
# Remove default config if it only contains store_entities_as_slots: False
|
|
1746
|
-
if DOMAIN_CONFIG_KEY in cleaned_data and not self._uses_custom_domain_config():
|
|
1747
|
-
del cleaned_data[DOMAIN_CONFIG_KEY]
|
|
1748
|
-
|
|
1749
|
-
# Remove default session config if it matches the default values
|
|
1750
|
-
if (
|
|
1751
|
-
SESSION_CONFIG_KEY in cleaned_data
|
|
1752
|
-
and not self._uses_custom_session_config()
|
|
1753
|
-
):
|
|
1754
|
-
del cleaned_data[SESSION_CONFIG_KEY]
|
|
1755
|
-
|
|
1756
|
-
return cleaned_data
|
|
1757
|
-
|
|
1758
|
-
def as_dict(self, should_clean_json: bool = False) -> Dict[Text, Any]:
|
|
1714
|
+
def as_dict(self) -> Dict[Text, Any]:
|
|
1759
1715
|
"""Return serialized `Domain`."""
|
|
1760
|
-
|
|
1761
|
-
return self._cleaned_json_data()
|
|
1762
|
-
else:
|
|
1763
|
-
return self._data
|
|
1716
|
+
return self._data
|
|
1764
1717
|
|
|
1765
1718
|
@staticmethod
|
|
1766
1719
|
def get_responses_with_multilines(
|