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
|
@@ -160,6 +160,43 @@ FLOW_CANCELLED = {
|
|
|
160
160
|
"step_id": {"type": "string"},
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
+
AGENT_STARTED = {
|
|
164
|
+
"properties": {
|
|
165
|
+
"event": {"const": "agent_started"},
|
|
166
|
+
"agent_id": {"type": "string"},
|
|
167
|
+
"flow_id": {"type": "string"},
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
AGENT_COMPLETED = {
|
|
171
|
+
"properties": {
|
|
172
|
+
"event": {"const": "agent_completed"},
|
|
173
|
+
"agent_id": {"type": "string"},
|
|
174
|
+
"flow_id": {"type": "string"},
|
|
175
|
+
"status": {"type": "string"},
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
AGENT_INTERRUPTED = {
|
|
179
|
+
"properties": {
|
|
180
|
+
"event": {"const": "agent_interrupted"},
|
|
181
|
+
"agent_id": {"type": "string"},
|
|
182
|
+
"flow_id": {"type": "string"},
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
AGENT_RESUMED = {
|
|
186
|
+
"properties": {
|
|
187
|
+
"event": {"const": "agent_resumed"},
|
|
188
|
+
"agent_id": {"type": "string"},
|
|
189
|
+
"flow_id": {"type": "string"},
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
AGENT_CANCELLED = {
|
|
193
|
+
"properties": {
|
|
194
|
+
"event": {"const": "agent_cancelled"},
|
|
195
|
+
"agent_id": {"type": "string"},
|
|
196
|
+
"flow_id": {"type": "string"},
|
|
197
|
+
"reason": {"type": "string"},
|
|
198
|
+
}
|
|
199
|
+
}
|
|
163
200
|
DIALOGUE_STACK_UPDATED = {
|
|
164
201
|
"properties": {"event": {"const": "stack"}, "update": {"type": "string"}}
|
|
165
202
|
}
|
|
@@ -204,6 +241,11 @@ EVENT_SCHEMA = {
|
|
|
204
241
|
FLOW_RESUMED,
|
|
205
242
|
FLOW_COMPLETED,
|
|
206
243
|
FLOW_CANCELLED,
|
|
244
|
+
AGENT_STARTED,
|
|
245
|
+
AGENT_COMPLETED,
|
|
246
|
+
AGENT_INTERRUPTED,
|
|
247
|
+
AGENT_RESUMED,
|
|
248
|
+
AGENT_CANCELLED,
|
|
207
249
|
DIALOGUE_STACK_UPDATED,
|
|
208
250
|
ROUTING_SESSION_ENDED,
|
|
209
251
|
SESSION_ENDED,
|
rasa/shared/utils/yaml.py
CHANGED
|
@@ -335,7 +335,9 @@ class YamlValidationException(YamlException, ValueError):
|
|
|
335
335
|
)
|
|
336
336
|
if found_lc:
|
|
337
337
|
return line_offset
|
|
338
|
-
|
|
338
|
+
if this_line is not None:
|
|
339
|
+
return this_line + line_offset
|
|
340
|
+
return line_offset
|
|
339
341
|
return line
|
|
340
342
|
elif isinstance(current, list) and head.isdigit():
|
|
341
343
|
return (
|
rasa/studio/upload.py
CHANGED
|
@@ -7,6 +7,7 @@ from typing import Any, Dict, Iterable, List, Optional, Set, Text, Tuple, Union
|
|
|
7
7
|
import questionary
|
|
8
8
|
import requests
|
|
9
9
|
import structlog
|
|
10
|
+
from pydantic import BaseModel, Field
|
|
10
11
|
|
|
11
12
|
import rasa.cli.telemetry
|
|
12
13
|
import rasa.cli.utils
|
|
@@ -23,13 +24,9 @@ from rasa.shared.constants import (
|
|
|
23
24
|
DEFAULT_DOMAIN_PATHS,
|
|
24
25
|
)
|
|
25
26
|
from rasa.shared.core.domain import Domain
|
|
26
|
-
from rasa.shared.core.flows.yaml_flows_io import YAMLFlowsReader
|
|
27
|
+
from rasa.shared.core.flows.yaml_flows_io import YAMLFlowsReader, YamlFlowsWriter
|
|
27
28
|
from rasa.shared.exceptions import RasaException
|
|
28
|
-
from rasa.shared.importers.importer import TrainingDataImporter
|
|
29
|
-
from rasa.shared.importers.utils import (
|
|
30
|
-
CALMUserData,
|
|
31
|
-
extract_calm_import_parts_from_importer,
|
|
32
|
-
)
|
|
29
|
+
from rasa.shared.importers.importer import FlowSyncImporter, TrainingDataImporter
|
|
33
30
|
from rasa.shared.nlu.training_data.formats.rasa_yaml import (
|
|
34
31
|
RasaYAMLReader,
|
|
35
32
|
RasaYAMLWriter,
|
|
@@ -37,6 +34,7 @@ from rasa.shared.nlu.training_data.formats.rasa_yaml import (
|
|
|
37
34
|
from rasa.shared.utils.llm import collect_custom_prompts
|
|
38
35
|
from rasa.shared.utils.yaml import (
|
|
39
36
|
dump_obj_as_yaml_to_string,
|
|
37
|
+
read_yaml,
|
|
40
38
|
read_yaml_file,
|
|
41
39
|
)
|
|
42
40
|
from rasa.studio import results_logger
|
|
@@ -45,7 +43,6 @@ from rasa.studio.config import StudioConfig
|
|
|
45
43
|
from rasa.studio.results_logger import StudioResult, with_studio_error_handler
|
|
46
44
|
from rasa.studio.utils import validate_argument_paths
|
|
47
45
|
from rasa.telemetry import track_upload_to_studio_failed
|
|
48
|
-
from rasa.utils.json_utils import extract_values
|
|
49
46
|
|
|
50
47
|
structlogger = structlog.get_logger()
|
|
51
48
|
|
|
@@ -71,6 +68,16 @@ DOMAIN_KEYS = [
|
|
|
71
68
|
]
|
|
72
69
|
|
|
73
70
|
|
|
71
|
+
class CALMImportParts(BaseModel):
|
|
72
|
+
"""All pieces that will be uploaded to Rasa Studio."""
|
|
73
|
+
|
|
74
|
+
flows: Dict[str, Any]
|
|
75
|
+
domain: Dict[str, Any]
|
|
76
|
+
config: Dict[str, Any]
|
|
77
|
+
endpoints: Dict[str, Any]
|
|
78
|
+
nlu: Dict[str, Any] = Field(default_factory=dict)
|
|
79
|
+
|
|
80
|
+
|
|
74
81
|
def _get_selected_entities_and_intents(
|
|
75
82
|
args: argparse.Namespace,
|
|
76
83
|
intents_from_files: Set[Text],
|
|
@@ -108,10 +115,9 @@ def run_validation(args: argparse.Namespace) -> None:
|
|
|
108
115
|
"""
|
|
109
116
|
from rasa.validator import Validator
|
|
110
117
|
|
|
111
|
-
training_data_paths = args.data if isinstance(args.data, list) else [args.data]
|
|
112
118
|
training_data_importer = TrainingDataImporter.load_from_dict(
|
|
113
119
|
domain_path=args.domain,
|
|
114
|
-
training_data_paths=
|
|
120
|
+
training_data_paths=[args.data],
|
|
115
121
|
config_path=args.config,
|
|
116
122
|
expand_env_vars=False,
|
|
117
123
|
)
|
|
@@ -188,6 +194,11 @@ config_keys = [
|
|
|
188
194
|
]
|
|
189
195
|
|
|
190
196
|
|
|
197
|
+
def extract_values(data: Dict, keys: List[Text]) -> Dict:
|
|
198
|
+
"""Extracts values for given keys from a dictionary."""
|
|
199
|
+
return {key: data.get(key) for key in keys if data.get(key)}
|
|
200
|
+
|
|
201
|
+
|
|
191
202
|
def _get_assistant_name(config: Dict[Text, Any]) -> str:
|
|
192
203
|
config_assistant_id = config.get("assistant_id", "")
|
|
193
204
|
assistant_name = questionary.text(
|
|
@@ -226,7 +237,7 @@ def build_calm_import_parts(
|
|
|
226
237
|
config_path: Text,
|
|
227
238
|
endpoints_path: Optional[Text] = None,
|
|
228
239
|
assistant_name: Optional[Text] = None,
|
|
229
|
-
) -> Tuple[str,
|
|
240
|
+
) -> Tuple[str, CALMImportParts]:
|
|
230
241
|
"""Builds the parts of the assistant to be uploaded to Studio.
|
|
231
242
|
|
|
232
243
|
Args:
|
|
@@ -239,11 +250,9 @@ def build_calm_import_parts(
|
|
|
239
250
|
Returns:
|
|
240
251
|
The assistant name and the parts to be uploaded
|
|
241
252
|
"""
|
|
242
|
-
training_data_paths = data_path if isinstance(data_path, list) else [str(data_path)]
|
|
243
253
|
importer = TrainingDataImporter.load_from_dict(
|
|
244
254
|
domain_path=domain_path,
|
|
245
255
|
config_path=config_path,
|
|
246
|
-
training_data_paths=training_data_paths,
|
|
247
256
|
expand_env_vars=False,
|
|
248
257
|
)
|
|
249
258
|
|
|
@@ -251,10 +260,33 @@ def build_calm_import_parts(
|
|
|
251
260
|
endpoints = read_yaml_file(endpoints_path, expand_env_vars=False)
|
|
252
261
|
assistant_name = assistant_name or _get_assistant_name(config)
|
|
253
262
|
|
|
254
|
-
|
|
255
|
-
|
|
263
|
+
domain_from_files = importer.get_user_domain().as_dict()
|
|
264
|
+
domain = extract_values(domain_from_files, DOMAIN_KEYS)
|
|
265
|
+
|
|
266
|
+
flow_importer = FlowSyncImporter.load_from_dict(
|
|
267
|
+
training_data_paths=[str(data_path)], expand_env_vars=False
|
|
268
|
+
)
|
|
269
|
+
|
|
270
|
+
flows = list(flow_importer.get_user_flows())
|
|
271
|
+
flows_yaml = YamlFlowsWriter().dumps(flows)
|
|
272
|
+
flows = read_yaml(flows_yaml, expand_env_vars=False)
|
|
273
|
+
|
|
274
|
+
nlu_importer = TrainingDataImporter.load_from_dict(
|
|
275
|
+
training_data_paths=[str(data_path)], expand_env_vars=False
|
|
276
|
+
)
|
|
277
|
+
nlu_data = nlu_importer.get_nlu_data()
|
|
278
|
+
nlu_examples = nlu_data.filter_training_examples(
|
|
279
|
+
lambda ex: ex.get("intent") in nlu_data.intents
|
|
280
|
+
)
|
|
281
|
+
nlu_examples_yaml = RasaYAMLWriter().dumps(nlu_examples)
|
|
282
|
+
nlu = read_yaml(nlu_examples_yaml, expand_env_vars=False)
|
|
283
|
+
|
|
284
|
+
parts = CALMImportParts(
|
|
285
|
+
flows=flows,
|
|
286
|
+
domain=domain,
|
|
256
287
|
config=config,
|
|
257
288
|
endpoints=endpoints,
|
|
289
|
+
nlu=nlu,
|
|
258
290
|
)
|
|
259
291
|
|
|
260
292
|
return assistant_name, parts
|
|
@@ -317,10 +349,9 @@ def upload_nlu_assistant(
|
|
|
317
349
|
"rasa.studio.upload.nlu_data_read",
|
|
318
350
|
event_info="Found DM1 assistant data, parsing...",
|
|
319
351
|
)
|
|
320
|
-
training_data_paths = args.data if isinstance(args.data, list) else [args.data]
|
|
321
352
|
importer = TrainingDataImporter.load_from_dict(
|
|
322
353
|
domain_path=args.domain,
|
|
323
|
-
training_data_paths=
|
|
354
|
+
training_data_paths=[args.data],
|
|
324
355
|
config_path=args.config,
|
|
325
356
|
expand_env_vars=False,
|
|
326
357
|
)
|
rasa/telemetry.py
CHANGED
|
@@ -3,6 +3,7 @@ import contextlib
|
|
|
3
3
|
import hashlib
|
|
4
4
|
import inspect
|
|
5
5
|
import json
|
|
6
|
+
import logging
|
|
6
7
|
import multiprocessing
|
|
7
8
|
import os
|
|
8
9
|
import platform
|
|
@@ -69,7 +70,7 @@ if typing.TYPE_CHECKING:
|
|
|
69
70
|
from rasa.shared.importers.importer import TrainingDataImporter
|
|
70
71
|
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
71
72
|
|
|
72
|
-
|
|
73
|
+
logger = logging.getLogger(__name__)
|
|
73
74
|
|
|
74
75
|
SEGMENT_TRACK_ENDPOINT = "https://api.segment.io/v1/track"
|
|
75
76
|
SEGMENT_IDENTIFY_ENDPOINT = "https://api.segment.io/v1/identify"
|
|
@@ -196,10 +197,6 @@ TELEMETRY_E2E_TEST_CONVERSION_EVENT = "E2E Test Conversion Completed"
|
|
|
196
197
|
E2E_TEST_CONVERSION_FILE_TYPE = "file_type"
|
|
197
198
|
E2E_TEST_CONVERSION_TEST_CASE_COUNT = "test_case_count"
|
|
198
199
|
|
|
199
|
-
# Copilot telemetry
|
|
200
|
-
TELEMETRY_COPILOT_USER_MESSAGE_EVENT = "copilot_user_message"
|
|
201
|
-
TELEMETRY_COPILOT_BOT_MESSAGE_EVENT = "copilot_bot_message"
|
|
202
|
-
|
|
203
200
|
|
|
204
201
|
def print_telemetry_reporting_info() -> None:
|
|
205
202
|
"""Print telemetry information to std out."""
|
|
@@ -258,11 +255,7 @@ def _is_telemetry_enabled_in_configuration() -> bool:
|
|
|
258
255
|
|
|
259
256
|
return stored_config[CONFIG_TELEMETRY_ENABLED]
|
|
260
257
|
except ValueError as e:
|
|
261
|
-
|
|
262
|
-
"telemetry.is_telemetry_enabled_in_configuration.error",
|
|
263
|
-
error=str(e),
|
|
264
|
-
event_info="Could not read telemetry settings from configuration file",
|
|
265
|
-
)
|
|
258
|
+
logger.debug(f"Could not read telemetry settings from configuration file: {e}")
|
|
266
259
|
|
|
267
260
|
# seems like there is no config, we'll create one and enable telemetry
|
|
268
261
|
success = _write_default_telemetry_configuration()
|
|
@@ -279,10 +272,7 @@ def is_telemetry_enabled() -> bool:
|
|
|
279
272
|
from rasa.utils import licensing
|
|
280
273
|
|
|
281
274
|
if licensing.is_champion_server_license():
|
|
282
|
-
|
|
283
|
-
"telemetry.enabled.developer_license",
|
|
284
|
-
event_info="Telemetry is enabled for developer licenses.",
|
|
285
|
-
)
|
|
275
|
+
logger.debug("Telemetry is enabled for developer licenses.")
|
|
286
276
|
return True
|
|
287
277
|
|
|
288
278
|
telemetry_environ = os.environ.get(TELEMETRY_ENABLED_ENVIRONMENT_VARIABLE)
|
|
@@ -318,13 +308,9 @@ def initialize_telemetry() -> bool:
|
|
|
318
308
|
|
|
319
309
|
return telemetry_environ.lower() == "true"
|
|
320
310
|
except Exception as e: # skipcq:PYL-W0703
|
|
321
|
-
|
|
322
|
-
"telemetry.
|
|
323
|
-
|
|
324
|
-
event_info=(
|
|
325
|
-
"Failed to initialize telemetry reporting. "
|
|
326
|
-
"Telemetry reporting will be disabled."
|
|
327
|
-
),
|
|
311
|
+
logger.exception(
|
|
312
|
+
f"Failed to initialize telemetry reporting: {e}."
|
|
313
|
+
f"Telemetry reporting will be disabled."
|
|
328
314
|
)
|
|
329
315
|
return False
|
|
330
316
|
|
|
@@ -495,10 +481,7 @@ def print_telemetry_payload(payload: Dict[Text, Any]) -> None:
|
|
|
495
481
|
payload: payload to be delivered to segment.
|
|
496
482
|
"""
|
|
497
483
|
payload_json = json.dumps(payload, indent=2)
|
|
498
|
-
|
|
499
|
-
"telemetry.print_telemetry_payload.debug",
|
|
500
|
-
event_info=f"Telemetry payload: {payload_json}",
|
|
501
|
-
)
|
|
484
|
+
logger.debug(f"Telemetry payload: {payload_json}")
|
|
502
485
|
|
|
503
486
|
|
|
504
487
|
def _get_telemetry_write_key() -> Optional[Text]:
|
|
@@ -552,24 +535,10 @@ def _send_request(url: Text, payload: Dict[Text, Any]) -> None:
|
|
|
552
535
|
if not write_key:
|
|
553
536
|
# If RASA_TELEMETRY_WRITE_KEY is empty or `None`, telemetry has not
|
|
554
537
|
# been enabled for this build (e.g. because it is running from source)
|
|
555
|
-
|
|
556
|
-
"telemetry.send_request.no_telemetry_key",
|
|
557
|
-
event_info="Skipping request to external service: telemetry key not set.",
|
|
558
|
-
)
|
|
538
|
+
logger.debug("Skipping request to external service: telemetry key not set.")
|
|
559
539
|
return
|
|
560
540
|
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
def send_segment_request(url: Text, payload: Dict[Text, Any], write_key: Text) -> None:
|
|
565
|
-
"""Send a request to the Segment API.
|
|
566
|
-
|
|
567
|
-
Args:
|
|
568
|
-
url: URL of the Segment API endpoint
|
|
569
|
-
payload: payload to send to the Segment API
|
|
570
|
-
write_key: write key for the Segment API
|
|
571
|
-
"""
|
|
572
|
-
headers = segment_request_header(write_key)
|
|
541
|
+
headers = rasa.telemetry.segment_request_header(write_key)
|
|
573
542
|
|
|
574
543
|
resp = requests.post(
|
|
575
544
|
url=url,
|
|
@@ -579,22 +548,15 @@ def send_segment_request(url: Text, payload: Dict[Text, Any], write_key: Text) -
|
|
|
579
548
|
)
|
|
580
549
|
# handle different failure cases
|
|
581
550
|
if resp.status_code != 200:
|
|
582
|
-
|
|
583
|
-
"telemetry.
|
|
584
|
-
|
|
585
|
-
f"Segment telemetry request returned a {resp.status_code} "
|
|
586
|
-
f"response. Body: {resp.text}"
|
|
587
|
-
),
|
|
551
|
+
logger.debug(
|
|
552
|
+
f"Segment telemetry request returned a {resp.status_code} response. "
|
|
553
|
+
f"Body: {resp.text}"
|
|
588
554
|
)
|
|
589
555
|
else:
|
|
590
556
|
data = resp.json()
|
|
591
557
|
if not data.get("success"):
|
|
592
|
-
|
|
593
|
-
"telemetry.
|
|
594
|
-
event_info=(
|
|
595
|
-
f"Segment telemetry request returned a failure. "
|
|
596
|
-
f"Response: {data}"
|
|
597
|
-
),
|
|
558
|
+
logger.debug(
|
|
559
|
+
f"Segment telemetry request returned a failure. Response: {data}"
|
|
598
560
|
)
|
|
599
561
|
|
|
600
562
|
|
|
@@ -647,15 +609,6 @@ def with_default_context_fields(
|
|
|
647
609
|
return {**_default_context_fields(), **context}
|
|
648
610
|
|
|
649
611
|
|
|
650
|
-
def get_deployment_stack() -> Text:
|
|
651
|
-
"""Return the deployment stack.
|
|
652
|
-
|
|
653
|
-
Returns:
|
|
654
|
-
The deployment stack.
|
|
655
|
-
"""
|
|
656
|
-
return os.environ.get("DEPLOYMENT_STACK", "")
|
|
657
|
-
|
|
658
|
-
|
|
659
612
|
def _default_context_fields() -> Dict[Text, Any]:
|
|
660
613
|
"""Return a dictionary that contains the default context values.
|
|
661
614
|
|
|
@@ -679,7 +632,6 @@ def _default_context_fields() -> Dict[Text, Any]:
|
|
|
679
632
|
"cpu": multiprocessing.cpu_count(),
|
|
680
633
|
"docker": _is_docker(),
|
|
681
634
|
"license_hash": get_license_hash(),
|
|
682
|
-
"deployment_stack": get_deployment_stack(),
|
|
683
635
|
"company": property_of_active_license(
|
|
684
636
|
lambda active_license: active_license.company
|
|
685
637
|
),
|
|
@@ -711,10 +663,7 @@ def _track(
|
|
|
711
663
|
telemetry_id = get_telemetry_id()
|
|
712
664
|
|
|
713
665
|
if not telemetry_id:
|
|
714
|
-
|
|
715
|
-
"telemetry.track.no_id_found",
|
|
716
|
-
event_info="Will not report telemetry events as no ID was found.",
|
|
717
|
-
)
|
|
666
|
+
logger.debug("Will not report telemetry events as no ID was found.")
|
|
718
667
|
return
|
|
719
668
|
|
|
720
669
|
if not properties:
|
|
@@ -732,11 +681,7 @@ def _track(
|
|
|
732
681
|
with_default_context_fields(context),
|
|
733
682
|
)
|
|
734
683
|
except Exception as e: # skipcq:PYL-W0703
|
|
735
|
-
|
|
736
|
-
"telemetry.track.error",
|
|
737
|
-
error=str(e),
|
|
738
|
-
event_info="Skipping telemetry reporting",
|
|
739
|
-
)
|
|
684
|
+
logger.debug(f"Skipping telemetry reporting: {e}")
|
|
740
685
|
|
|
741
686
|
|
|
742
687
|
def _identify(
|
|
@@ -757,10 +702,7 @@ def _identify(
|
|
|
757
702
|
telemetry_id = get_telemetry_id()
|
|
758
703
|
|
|
759
704
|
if not telemetry_id:
|
|
760
|
-
|
|
761
|
-
"telemetry.identify.no_id_found",
|
|
762
|
-
event_info="Will not report telemetry events as no ID was found.",
|
|
763
|
-
)
|
|
705
|
+
logger.debug("Will not report telemetry events as no ID was found.")
|
|
764
706
|
return
|
|
765
707
|
|
|
766
708
|
if not traits:
|
|
@@ -768,11 +710,7 @@ def _identify(
|
|
|
768
710
|
|
|
769
711
|
_send_traits(telemetry_id, traits, with_default_context_fields(context))
|
|
770
712
|
except Exception as e:
|
|
771
|
-
|
|
772
|
-
"telemetry.identify.error",
|
|
773
|
-
error=str(e),
|
|
774
|
-
event_info="Skipping telemetry reporting",
|
|
775
|
-
)
|
|
713
|
+
logger.debug(f"Skipping telemetry reporting: {e}")
|
|
776
714
|
|
|
777
715
|
|
|
778
716
|
def _send_traits(
|
|
@@ -930,16 +868,13 @@ def strip_sensitive_data_from_sentry_event(
|
|
|
930
868
|
|
|
931
869
|
|
|
932
870
|
@ensure_telemetry_enabled
|
|
933
|
-
def initialize_error_reporting(
|
|
871
|
+
def initialize_error_reporting() -> None:
|
|
934
872
|
"""Sets up automated error reporting.
|
|
935
873
|
|
|
936
874
|
Exceptions are reported to sentry. We avoid sending any metadata (local
|
|
937
875
|
variables, paths, ...) to make sure we don't compromise any data. Only the
|
|
938
876
|
exception and its stacktrace is logged and only if the exception origins
|
|
939
877
|
from the `rasa` package.
|
|
940
|
-
|
|
941
|
-
Args:
|
|
942
|
-
private_mode: If True, try to send as little data as possible.
|
|
943
878
|
"""
|
|
944
879
|
import sentry_sdk
|
|
945
880
|
from sentry_sdk import configure_scope
|
|
@@ -957,18 +892,11 @@ def initialize_error_reporting(private_mode: bool = True) -> None:
|
|
|
957
892
|
|
|
958
893
|
telemetry_id = get_telemetry_id()
|
|
959
894
|
|
|
960
|
-
# in hello rasa we use a different project, so we need to be able
|
|
961
|
-
# to set the whole url. since we can't change the behavior of sentry in pro
|
|
962
|
-
# we have two kinds of keys, full urls and jsut the key within the fixed rasa
|
|
963
|
-
# pro project.
|
|
964
|
-
if not key.startswith("https://"):
|
|
965
|
-
key = f"https://{key}.ingest.sentry.io/2801673"
|
|
966
|
-
|
|
967
895
|
# this is a very defensive configuration, avoiding as many integrations as
|
|
968
896
|
# possible. it also submits very little data (exception with error message
|
|
969
897
|
# and line numbers).
|
|
970
898
|
sentry_sdk.init(
|
|
971
|
-
key,
|
|
899
|
+
f"https://{key}.ingest.sentry.io/2801673",
|
|
972
900
|
before_send=before_send,
|
|
973
901
|
integrations=[
|
|
974
902
|
ExcepthookIntegration(),
|
|
@@ -988,7 +916,7 @@ def initialize_error_reporting(private_mode: bool = True) -> None:
|
|
|
988
916
|
OSError,
|
|
989
917
|
],
|
|
990
918
|
in_app_include=["rasa"], # only submit errors in this package
|
|
991
|
-
include_local_variables=
|
|
919
|
+
include_local_variables=False, # don't submit local variables
|
|
992
920
|
release=f"rasa-{rasa.__version__}",
|
|
993
921
|
default_integrations=False,
|
|
994
922
|
environment="development" if in_continuous_integration() else "production",
|
|
@@ -1009,7 +937,6 @@ def initialize_error_reporting(private_mode: bool = True) -> None:
|
|
|
1009
937
|
# os is a nested dict, hence we report it separately
|
|
1010
938
|
scope.set_context("Operating System", default_context.pop("os"))
|
|
1011
939
|
scope.set_context("Environment", default_context)
|
|
1012
|
-
structlogger.debug("telemetry.sentry.initialized")
|
|
1013
940
|
|
|
1014
941
|
|
|
1015
942
|
@contextlib.contextmanager
|
|
@@ -1499,7 +1426,6 @@ def track_shell_started(model_type: Text, assistant_id: Text) -> None:
|
|
|
1499
1426
|
|
|
1500
1427
|
Args:
|
|
1501
1428
|
model_type: Type of the model, core / nlu or rasa.
|
|
1502
|
-
assistant_id: ID of the assistant being inspected.
|
|
1503
1429
|
"""
|
|
1504
1430
|
_track(
|
|
1505
1431
|
TELEMETRY_SHELL_STARTED_EVENT,
|
|
@@ -2071,7 +1997,7 @@ def _extract_stream_pii(event_broker: Optional["EventBroker"]) -> bool:
|
|
|
2071
1997
|
def track_privacy_enabled(
|
|
2072
1998
|
privacy_config: "PrivacyConfig", event_broker: Optional["EventBroker"]
|
|
2073
1999
|
) -> None:
|
|
2074
|
-
"""Track when PII management capability is enabled
|
|
2000
|
+
"""Track when PII management capability is enabled"""
|
|
2075
2001
|
stream_pii = _extract_stream_pii(event_broker)
|
|
2076
2002
|
privacy_properties = _extract_privacy_enabled_event_properties(
|
|
2077
2003
|
privacy_config, stream_pii
|
|
@@ -53,6 +53,7 @@ from rasa.engine.graph import GraphNode
|
|
|
53
53
|
from rasa.engine.training.graph_trainer import GraphTrainer
|
|
54
54
|
from rasa.shared.core.domain import Domain
|
|
55
55
|
from rasa.shared.core.flows import FlowsList
|
|
56
|
+
from rasa.shared.core.slots import Slot
|
|
56
57
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
57
58
|
from rasa.shared.nlu.constants import SET_SLOT_COMMAND
|
|
58
59
|
from rasa.shared.nlu.training_data.message import Message
|
|
@@ -443,7 +444,7 @@ def instrument(
|
|
|
443
444
|
tracer_provider.get_tracer(lock_store_class.__module__),
|
|
444
445
|
attribute_extractors.extract_attrs_for_lock_store,
|
|
445
446
|
)
|
|
446
|
-
lock_store_class.lock = contextlib.asynccontextmanager(traced_lock_method) # type: ignore[
|
|
447
|
+
lock_store_class.lock = contextlib.asynccontextmanager(traced_lock_method) # type: ignore[method-assign]
|
|
447
448
|
|
|
448
449
|
logger.debug(f"Instrumented '{lock_store_class.__name__}.lock'.")
|
|
449
450
|
|
|
@@ -790,7 +791,7 @@ def _instrument_nlu_command_adapter_predict_commands(
|
|
|
790
791
|
|
|
791
792
|
return wrapper
|
|
792
793
|
|
|
793
|
-
nlu_command_adapter_class.predict_commands = ( # type: ignore[
|
|
794
|
+
nlu_command_adapter_class.predict_commands = ( # type: ignore[method-assign]
|
|
794
795
|
tracing_nlu_command_adapter_predict_commands_wrapper(
|
|
795
796
|
nlu_command_adapter_class.predict_commands
|
|
796
797
|
)
|
|
@@ -839,7 +840,7 @@ def _instrument_multi_step_llm_command_generator_parse_commands(
|
|
|
839
840
|
|
|
840
841
|
return wrapper
|
|
841
842
|
|
|
842
|
-
multi_step_llm_command_generator_class.parse_commands = ( # type: ignore[
|
|
843
|
+
multi_step_llm_command_generator_class.parse_commands = ( # type: ignore[method-assign]
|
|
843
844
|
tracing_multi_step_llm_command_generator_parse_commands_wrapper(
|
|
844
845
|
multi_step_llm_command_generator_class.parse_commands
|
|
845
846
|
)
|
|
@@ -873,7 +874,7 @@ def _instrument_information_retrieval_search(
|
|
|
873
874
|
|
|
874
875
|
return wrapper
|
|
875
876
|
|
|
876
|
-
vector_store_class.search = tracing_information_retrieval_search_wrapper( # type: ignore[
|
|
877
|
+
vector_store_class.search = tracing_information_retrieval_search_wrapper( # type: ignore[method-assign]
|
|
877
878
|
vector_store_class.search
|
|
878
879
|
)
|
|
879
880
|
|
|
@@ -1013,7 +1014,7 @@ def _instrument_get_tracker(
|
|
|
1013
1014
|
|
|
1014
1015
|
return wrapper
|
|
1015
1016
|
|
|
1016
|
-
processor_class.get_tracker = tracing_get_tracker_wrapper( # type: ignore[
|
|
1017
|
+
processor_class.get_tracker = tracing_get_tracker_wrapper( # type: ignore[method-assign]
|
|
1017
1018
|
processor_class.get_tracker
|
|
1018
1019
|
)
|
|
1019
1020
|
|
|
@@ -1088,13 +1089,16 @@ def _instrument_advance_flows_until_next_action(
|
|
|
1088
1089
|
) -> None:
|
|
1089
1090
|
def tracing_advance_flows_until_next_action_wrapper(fn: Callable) -> Callable:
|
|
1090
1091
|
@functools.wraps(fn)
|
|
1091
|
-
def wrapper(
|
|
1092
|
+
async def wrapper(
|
|
1092
1093
|
tracker: DialogueStateTracker,
|
|
1093
1094
|
available_actions: List[str],
|
|
1094
1095
|
flows: FlowsList,
|
|
1096
|
+
slots: List[Slot],
|
|
1095
1097
|
) -> FlowActionPrediction:
|
|
1096
1098
|
with tracer.start_as_current_span(f"{module_name}.{fn.__name__}") as span:
|
|
1097
|
-
prediction: FlowActionPrediction = fn(
|
|
1099
|
+
prediction: FlowActionPrediction = await fn(
|
|
1100
|
+
tracker, available_actions, flows, slots
|
|
1101
|
+
)
|
|
1098
1102
|
|
|
1099
1103
|
span.set_attributes(
|
|
1100
1104
|
{
|
|
@@ -1223,7 +1227,7 @@ def _instrument_run_action(
|
|
|
1223
1227
|
|
|
1224
1228
|
return wrapper
|
|
1225
1229
|
|
|
1226
|
-
processor_class._run_action = tracing_run_action_wrapper( # type: ignore[
|
|
1230
|
+
processor_class._run_action = tracing_run_action_wrapper( # type: ignore[method-assign]
|
|
1227
1231
|
processor_class._run_action
|
|
1228
1232
|
)
|
|
1229
1233
|
|
|
@@ -1282,7 +1286,7 @@ def _instrument_endpoint_config(
|
|
|
1282
1286
|
|
|
1283
1287
|
return wrapper
|
|
1284
1288
|
|
|
1285
|
-
endpoint_config_class.request = tracing_endpoint_config_wrapper( # type: ignore[
|
|
1289
|
+
endpoint_config_class.request = tracing_endpoint_config_wrapper( # type: ignore[method-assign]
|
|
1286
1290
|
endpoint_config_class.request
|
|
1287
1291
|
)
|
|
1288
1292
|
|
|
@@ -1314,7 +1318,7 @@ def _instrument_grpc_custom_action_executor(
|
|
|
1314
1318
|
|
|
1315
1319
|
return wrapper
|
|
1316
1320
|
|
|
1317
|
-
grpc_custom_action_executor_class.run = tracing_grpc_custom_action_executor_wrapper( # type: ignore[
|
|
1321
|
+
grpc_custom_action_executor_class.run = tracing_grpc_custom_action_executor_wrapper( # type: ignore[method-assign]
|
|
1318
1322
|
grpc_custom_action_executor_class.run
|
|
1319
1323
|
)
|
|
1320
1324
|
|
|
@@ -37,7 +37,7 @@ def _instrument_select_response_examples(
|
|
|
37
37
|
|
|
38
38
|
return wrapper
|
|
39
39
|
|
|
40
|
-
policy_class.select_response_examples = tracing_select_response_examples_wrapper( # type: ignore[
|
|
40
|
+
policy_class.select_response_examples = tracing_select_response_examples_wrapper( # type: ignore[method-assign]
|
|
41
41
|
policy_class.select_response_examples
|
|
42
42
|
)
|
|
43
43
|
|
|
@@ -72,7 +72,7 @@ def _instrument_select_few_shot_conversations(
|
|
|
72
72
|
|
|
73
73
|
return wrapper
|
|
74
74
|
|
|
75
|
-
policy_class.select_few_shot_conversations = ( # type: ignore[
|
|
75
|
+
policy_class.select_few_shot_conversations = ( # type: ignore[method-assign]
|
|
76
76
|
tracing_select_few_shot_conversations_wrapper(
|
|
77
77
|
policy_class.select_few_shot_conversations
|
|
78
78
|
)
|
|
@@ -104,7 +104,7 @@ def _instrument_extract_ai_responses(
|
|
|
104
104
|
|
|
105
105
|
return wrapper
|
|
106
106
|
|
|
107
|
-
policy_class.extract_ai_responses = tracing_extract_ai_responses_wrapper( # type: ignore[
|
|
107
|
+
policy_class.extract_ai_responses = tracing_extract_ai_responses_wrapper( # type: ignore[method-assign]
|
|
108
108
|
policy_class.extract_ai_responses
|
|
109
109
|
)
|
|
110
110
|
|
|
@@ -137,7 +137,7 @@ def _instrument_generate_answer(
|
|
|
137
137
|
|
|
138
138
|
return wrapper
|
|
139
139
|
|
|
140
|
-
policy_class.generate_answer = tracing_generate_answer_wrapper( # type: ignore[
|
|
140
|
+
policy_class.generate_answer = tracing_generate_answer_wrapper( # type: ignore[method-assign]
|
|
141
141
|
policy_class.generate_answer
|
|
142
142
|
)
|
|
143
143
|
|