codemie-test-harness 0.1.218__tar.gz → 0.1.221__tar.gz
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 codemie-test-harness might be problematic. Click here for more details.
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/PKG-INFO +2 -2
- codemie_test_harness-0.1.221/codemie_test_harness/tests/assistant/test_sub_assistants.py +371 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/notification/test_assistant_notification_tools.py +5 -6
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/conftest.py +2 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/llm/assistants/test_llm.py +56 -12
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/notification_tools_test_data.py +2 -4
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/pm_tools_test_data.py +1 -1
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/assistant_utils.py +4 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +2 -4
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +2 -2
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +3 -4
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/pyproject.toml +2 -2
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/README.md +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/.env +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/cli.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/commands/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/commands/assistant_cmd.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/commands/config_cmd.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/commands/marks_cmd.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/commands/run_cmd.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/commands/workflow_cmd.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/constants.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/marks_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/runner.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/pytest.ini +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/datasource/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/datasource/test_code_datasource.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/datasource/test_confluence_datasource.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/datasource/test_file_indexing.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/datasource/test_google_datasource.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/datasource/test_jira_datasource.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/default_integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/test_assistants.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/access_management/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/access_management/test_keycloak_tool.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/ado/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_wiki_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_work_item_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/cloud/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/cloud/test_cloud_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/codebase/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/codebase/test_codebase_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/datamanagement/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/filemanagement/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/filemanagement/test_assistant_with_file_management_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/git/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/git/test_assistant_with_git_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/mcp/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/mcp/test_cli_mcp_server.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/mcp/test_mcp_servers.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/notification/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/openapi/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/openapi/test_assistant_with_open_api_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/plugin/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_development_plugin.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/plugin/test_assistant_with_plugin_and_mcp_servers.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/plugin/test_single_assistant_dual_time_plugins.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/project_management/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/project_management/test_assistant_pm_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/report_portal/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/report_portal/test_assistant_report_portal_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/research/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/research/test_assistant_research_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/servicenow/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/servicenow/test_servicenow_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/vcs/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/conversations/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/conversations/test_conversations_endpoints.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/e2e/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/e2e/test_e2e.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/enums/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/enums/environment.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/enums/integrations.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/enums/model_types.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/enums/tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/project/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/project/test_default_integrations.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/project/test_project_integrations.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/user/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/user/test_default_integrations.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/user/test_user_integrations.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/llm/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/llm/assistants/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/llm/assistants/test_lite_llm.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/providers/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/providers/test_providers_endpoints.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/scheduler/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/scheduler/test_scheduler_service.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/search/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/search/test_search_assistant.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/search/test_search_datasource.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/search/test_search_integration.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/search/test_search_workflow.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_assistant_service.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_datasource_service.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_integration_service.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_llm_service.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_task_service.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_user_service.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_workflow_execution_service.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_workflow_service.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/swagger/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/swagger/test_swagger_endpoint.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/ado_test_plan_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/ado_wiki_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/ado_work_item_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/assistant_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/cloud_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/codebase_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/data_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/ado_test_plan_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/ado_wiki_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/ado_work_item_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/cloud_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/codebase_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/data_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/direct_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/file_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/keycloak_tool_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/open_api_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/project_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/report_portal_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/research_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/servicenow_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/vcs_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/file_management_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/file_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/large-files/large_file.txt +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/provider_payload.json +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.csv +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.docx +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.gif +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.ini +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.jpeg +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.jpg +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.json +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.pdf +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.png +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.pptx +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.txt +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.vtt +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.xlsx +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.xml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test_extended.docx +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test_extended.xlsx +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/git_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/google_datasource_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/index_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/integrations_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/keycloak_tool_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/llm_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/mcp_server_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/notification_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/open_api_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/openapi.json +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/output_schema_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/plugin_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/project_management_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/report_portal_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/research_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/servicenow_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/vcs_tools_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_assistant_id.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_assistant_in_state.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_data_source.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_state.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_tool.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_yaml.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_yaml_format.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_assistant_id.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_assistant_tools_name.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_backoff_factor.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_initial_interval.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_max_attempts.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_retry_max_interval.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_id.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_expression.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_otherwise.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_then.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases_condition.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases_state_id.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_default.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_backoff_factor.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_initial_interval.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_attempts.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_interval.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_system_prompt.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_tools_id.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow/invalid_config/missing_required_tools_name.yaml +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow_validation_messages.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/assistants/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/assistants/test_create_assistant.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/assistants/test_edit_assistant.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/chats/conftest.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/chats/test_chat_configuration.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/chats/test_chat_functionality.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/conftest.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/datasource/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/datasource/test_create_datasource.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/datasource/test_datasource_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/datasource/test_edit_datasource.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/datasource/test_view_datasource.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/integrations/test_create_integration.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/assistants/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/assistants/assistant_mcp_server.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/assistants/assistant_sidebar.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/assistants/assistant_view_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/assistants/assistants_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/assistants/create_edit_assistant_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/assistants/generate_with_ai_modal.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/base_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/chats/chat_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/chats/chats_sidebar.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/chats/configuration_panel.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/chats/configure_and_test_panel.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/execution_history_row.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/integration_row.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/menu.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/pop_up.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/project_selector.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/workflow_card.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/workflow_execution_history_item.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/workflow_execution_state.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/workflow_sidebar.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/workflow_state_card.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/datasources/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/datasources/create_edit_datasource_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/datasources/datasource_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/datasources/datasource_sidebar.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/datasources/view_datasource_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/integrations/create_integration_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/integrations/integrations_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/login_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/workflows/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/workflows/base_workflow_form_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/workflows/create_workflow_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/workflows/edit_workflow_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_details_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_executions_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_template_details.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/workflows/workflow_templates_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/workflows/workflows_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/test_data/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/test_data/assistant_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/test_data/chat_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/test_data/datasource_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/test_data/integration_test_data.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/workflows/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/workflows/test_create_workflow.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/workflows/test_edit_workflow.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/workflows/test_workflow_details.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/workflows/test_workflow_executions_page.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/workflows/test_workflow_templates.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/workflows/test_workflows.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/aws_parameters_store.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/base_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/client_factory.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/confluence_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/constants.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/conversation_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/credentials_manager.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/datasource_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/env_resolver.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/env_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/file_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/gitbud_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/http_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/integration_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/jira_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/json_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/llm_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/logger_util.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/notification_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/provider_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/pytest_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/search_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/similarity_check.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/user_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/webhook_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/workflow_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/yaml_utils.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/webhook/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/webhook/test_webhook_service.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/access_management/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/access_management/test_workflow_with_assistant_with_keycloak_tool.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/ado/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/cloud/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/codebase/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/data_management/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/file_management/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/git/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/mcp/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/notification/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/open_api/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/plugin/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/project_management/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/report_portal/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/report_portal/test_workflow_with_assistant_with_report_portal_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/research/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/servicenow/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/vcs/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/config_validation/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/config_validation/test_config_validation.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_access_management_tool.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_elastic.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools_sql.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_report_portal_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/test_workflows.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/access_management/test_workflow_with_keycloak_tool.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/git/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/notification/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/report_portal/test_workflow_with_report_portal_tool.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/research/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/__init__.py +0 -0
- {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: codemie-test-harness
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.221
|
|
4
4
|
Summary: Autotest for CodeMie backend and UI
|
|
5
5
|
Author: Anton Yeromin
|
|
6
6
|
Author-email: anton_yeromin@epam.com
|
|
@@ -13,7 +13,7 @@ Requires-Dist: aws-assume-role-lib (>=2.10.0,<3.0.0)
|
|
|
13
13
|
Requires-Dist: boto3 (>=1.39.8,<2.0.0)
|
|
14
14
|
Requires-Dist: click (>=8.1.7,<9.0.0)
|
|
15
15
|
Requires-Dist: codemie-plugins (>=0.1.123,<0.2.0)
|
|
16
|
-
Requires-Dist: codemie-sdk-python (==0.1.
|
|
16
|
+
Requires-Dist: codemie-sdk-python (==0.1.221)
|
|
17
17
|
Requires-Dist: pytest (>=8.4.1,<9.0.0)
|
|
18
18
|
Requires-Dist: pytest-playwright (>=0.7.0,<0.8.0)
|
|
19
19
|
Requires-Dist: pytest-repeat (>=0.9.3,<0.10.0)
|
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Tests for assistant functionality with sub-assistants.
|
|
3
|
+
|
|
4
|
+
This module tests the ability to create assistants with sub-assistants,
|
|
5
|
+
delegate tasks between parent and child assistants, and manage hierarchical
|
|
6
|
+
assistant structures.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import pytest
|
|
10
|
+
from codemie_sdk.models.assistant import (
|
|
11
|
+
AssistantUpdateRequest,
|
|
12
|
+
)
|
|
13
|
+
from hamcrest import (
|
|
14
|
+
assert_that,
|
|
15
|
+
equal_to,
|
|
16
|
+
has_items,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
from codemie_test_harness.tests import PROJECT
|
|
20
|
+
from codemie_test_harness.tests.enums.tools import (
|
|
21
|
+
ProjectManagementTool,
|
|
22
|
+
GitTool,
|
|
23
|
+
FileManagementTool,
|
|
24
|
+
Toolkit,
|
|
25
|
+
)
|
|
26
|
+
from codemie_test_harness.tests.test_data.file_management_tools_test_data import (
|
|
27
|
+
CODE_INTERPRETER_TOOL_TASK,
|
|
28
|
+
RESPONSE_FOR_CODE_INTERPRETER,
|
|
29
|
+
)
|
|
30
|
+
from codemie_test_harness.tests.test_data.git_tools_test_data import (
|
|
31
|
+
list_branches_set_active_branch_test_data,
|
|
32
|
+
)
|
|
33
|
+
from codemie_test_harness.tests.test_data.pm_tools_test_data import (
|
|
34
|
+
JIRA_TOOL_PROMPT,
|
|
35
|
+
RESPONSE_FOR_JIRA_TOOL,
|
|
36
|
+
)
|
|
37
|
+
from codemie_test_harness.tests.utils.base_utils import assert_error_details
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@pytest.mark.assistant
|
|
41
|
+
@pytest.mark.sub_assistant
|
|
42
|
+
@pytest.mark.api
|
|
43
|
+
@pytest.mark.smoke
|
|
44
|
+
def test_create_assistant_with_single_sub_assistant(assistant, assistant_utils):
|
|
45
|
+
"""
|
|
46
|
+
Test creating an assistant with a single sub-assistant.
|
|
47
|
+
|
|
48
|
+
Verifies that:
|
|
49
|
+
- Parent assistant can be created with a sub-assistant reference
|
|
50
|
+
- Sub-assistant is properly linked to parent assistant
|
|
51
|
+
- The assistant_ids field contains the sub-assistant ID
|
|
52
|
+
"""
|
|
53
|
+
# Create sub-assistant first
|
|
54
|
+
sub_assistant = assistant(
|
|
55
|
+
system_prompt="You are a specialized sub-assistant for calculations",
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
# Create parent assistant with sub-assistant
|
|
59
|
+
parent_assistant = assistant(
|
|
60
|
+
system_prompt="You are a parent assistant that delegates to sub-assistants",
|
|
61
|
+
sub_assistants_ids=[sub_assistant.id],
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
# Verify parent has sub-assistant
|
|
65
|
+
assert_that(
|
|
66
|
+
assistant_utils.get_assistant_by_id(parent_assistant.id).assistant_ids,
|
|
67
|
+
has_items(sub_assistant.id),
|
|
68
|
+
"Parent assistant should contain sub-assistant ID",
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
@pytest.mark.assistant
|
|
73
|
+
@pytest.mark.sub_assistant
|
|
74
|
+
@pytest.mark.api
|
|
75
|
+
@pytest.mark.smoke
|
|
76
|
+
def test_create_assistant_with_multiple_sub_assistants(assistant, assistant_utils):
|
|
77
|
+
"""
|
|
78
|
+
Test creating an assistant with multiple sub-assistants.
|
|
79
|
+
|
|
80
|
+
Verifies that:
|
|
81
|
+
- Parent assistant can reference multiple sub-assistants
|
|
82
|
+
- All sub-assistant IDs are properly stored
|
|
83
|
+
- Multiple sub-assistants can coexist
|
|
84
|
+
"""
|
|
85
|
+
# Create multiple sub-assistants
|
|
86
|
+
sub_assistant_1 = assistant(
|
|
87
|
+
system_prompt="You are a specialized sub-assistant for math",
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
sub_assistant_2 = assistant(
|
|
91
|
+
system_prompt="You are a specialized sub-assistant for text analysis",
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
sub_assistant_3 = assistant(
|
|
95
|
+
system_prompt="You are a specialized sub-assistant for data processing",
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
# Create parent assistant with multiple sub-assistants
|
|
99
|
+
parent_assistant = assistant(
|
|
100
|
+
system_prompt="You are a parent assistant coordinating multiple sub-assistants",
|
|
101
|
+
sub_assistants_ids=[sub_assistant_1.id, sub_assistant_2.id, sub_assistant_3.id],
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
# Verify parent has all sub-assistants
|
|
105
|
+
parent_assistant = assistant_utils.get_assistant_by_id(parent_assistant.id)
|
|
106
|
+
assert_that(
|
|
107
|
+
len(parent_assistant.assistant_ids),
|
|
108
|
+
equal_to(3),
|
|
109
|
+
"Parent assistant should have 3 sub-assistants",
|
|
110
|
+
)
|
|
111
|
+
assert_that(
|
|
112
|
+
parent_assistant.assistant_ids,
|
|
113
|
+
has_items(sub_assistant_1.id, sub_assistant_2.id, sub_assistant_3.id),
|
|
114
|
+
"Parent assistant should contain all sub-assistant IDs",
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
@pytest.mark.assistant
|
|
119
|
+
@pytest.mark.sub_assistant
|
|
120
|
+
@pytest.mark.api
|
|
121
|
+
def test_update_assistant_to_add_sub_assistant(assistant, assistant_utils):
|
|
122
|
+
"""
|
|
123
|
+
Test updating an existing assistant to add a sub-assistant.
|
|
124
|
+
|
|
125
|
+
Verifies that:
|
|
126
|
+
- Existing assistant can be updated to include sub-assistants
|
|
127
|
+
- Sub-assistant list can be modified after creation
|
|
128
|
+
"""
|
|
129
|
+
# Create assistants
|
|
130
|
+
sub_assistant = assistant(
|
|
131
|
+
system_prompt="You are a specialized sub-assistant",
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
parent_assistant = assistant(
|
|
135
|
+
system_prompt="You are a parent assistant",
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
# Verify parent initially has no sub-assistants
|
|
139
|
+
parent_assistant = assistant_utils.get_assistant_by_id(parent_assistant.id)
|
|
140
|
+
assert_that(
|
|
141
|
+
len(parent_assistant.assistant_ids),
|
|
142
|
+
equal_to(0),
|
|
143
|
+
"Parent should initially have no sub-assistants",
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
# Update parent to include sub-assistant
|
|
147
|
+
update_request = AssistantUpdateRequest(
|
|
148
|
+
name=parent_assistant.name,
|
|
149
|
+
description=parent_assistant.description,
|
|
150
|
+
shared=False,
|
|
151
|
+
system_prompt=parent_assistant.system_prompt,
|
|
152
|
+
project=PROJECT,
|
|
153
|
+
llm_model_type=parent_assistant.llm_model_type,
|
|
154
|
+
assistant_ids=[sub_assistant.id],
|
|
155
|
+
)
|
|
156
|
+
|
|
157
|
+
assistant_utils.update_assistant(parent_assistant.id, update_request)
|
|
158
|
+
|
|
159
|
+
# Verify sub-assistant was added
|
|
160
|
+
updated_parent = assistant_utils.get_assistant_by_id(parent_assistant.id)
|
|
161
|
+
assert_that(
|
|
162
|
+
updated_parent["assistant_ids"],
|
|
163
|
+
has_items(sub_assistant.id),
|
|
164
|
+
"Parent assistant should now contain sub-assistant ID",
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
@pytest.mark.assistant
|
|
169
|
+
@pytest.mark.sub_assistant
|
|
170
|
+
@pytest.mark.api
|
|
171
|
+
def test_update_assistant_to_remove_sub_assistant(assistant, assistant_utils):
|
|
172
|
+
"""
|
|
173
|
+
Test updating an assistant to remove a sub-assistant.
|
|
174
|
+
|
|
175
|
+
Verifies that:
|
|
176
|
+
- Sub-assistants can be removed from parent assistant
|
|
177
|
+
- Sub-assistant list can be cleared via update
|
|
178
|
+
"""
|
|
179
|
+
# Create sub-assistant
|
|
180
|
+
sub_assistant = assistant(
|
|
181
|
+
system_prompt="You are a specialized sub-assistant",
|
|
182
|
+
)
|
|
183
|
+
|
|
184
|
+
# Create parent with sub-assistant
|
|
185
|
+
parent_assistant = assistant(
|
|
186
|
+
system_prompt="You are a parent assistant",
|
|
187
|
+
sub_assistants_ids=[sub_assistant.id],
|
|
188
|
+
)
|
|
189
|
+
|
|
190
|
+
# Verify sub-assistant was added
|
|
191
|
+
parent_assistant = assistant_utils.get_assistant_by_id(parent_assistant.id)
|
|
192
|
+
assert_that(
|
|
193
|
+
len(parent_assistant.assistant_ids),
|
|
194
|
+
equal_to(1),
|
|
195
|
+
"Parent should have one sub-assistant",
|
|
196
|
+
)
|
|
197
|
+
|
|
198
|
+
# Remove sub-assistant
|
|
199
|
+
update_request = AssistantUpdateRequest(
|
|
200
|
+
name=parent_assistant.name,
|
|
201
|
+
slug=parent_assistant.slug,
|
|
202
|
+
description=parent_assistant.description,
|
|
203
|
+
shared=False,
|
|
204
|
+
system_prompt=parent_assistant.system_prompt,
|
|
205
|
+
project=PROJECT,
|
|
206
|
+
llm_model_type=parent_assistant.llm_model_type,
|
|
207
|
+
assistant_ids=[],
|
|
208
|
+
)
|
|
209
|
+
assistant_utils.update_assistant(parent_assistant.id, update_request)
|
|
210
|
+
|
|
211
|
+
# Verify sub-assistant was removed
|
|
212
|
+
updated_parent = assistant_utils.get_assistant_by_id(parent_assistant.id)
|
|
213
|
+
assert_that(
|
|
214
|
+
len(updated_parent["assistant_ids"]),
|
|
215
|
+
equal_to(0),
|
|
216
|
+
"Parent should have no sub-assistants after removal",
|
|
217
|
+
)
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
@pytest.mark.assistant
|
|
221
|
+
@pytest.mark.sub_assistant
|
|
222
|
+
@pytest.mark.api
|
|
223
|
+
def test_nested_sub_assistants_not_allowed(assistant, assistant_utils):
|
|
224
|
+
"""
|
|
225
|
+
Test that nested sub-assistant hierarchies are not allowed.
|
|
226
|
+
|
|
227
|
+
Verifies that:
|
|
228
|
+
- System prevents or rejects nested sub-assistant structures
|
|
229
|
+
- An assistant that is already a sub-assistant cannot be added as a parent
|
|
230
|
+
- Only flat (single-level) sub-assistant relationships are supported
|
|
231
|
+
"""
|
|
232
|
+
|
|
233
|
+
assistant_c = assistant(
|
|
234
|
+
system_prompt="You are assistant C",
|
|
235
|
+
)
|
|
236
|
+
|
|
237
|
+
# First, make C a sub-assistant of B (B -> C)
|
|
238
|
+
assistant_b = assistant(
|
|
239
|
+
system_prompt="You are assistant B", sub_assistants_ids=[assistant_c.id]
|
|
240
|
+
)
|
|
241
|
+
|
|
242
|
+
# Verify B has C as sub-assistant
|
|
243
|
+
assistant_b = assistant_utils.get_assistant_by_id(assistant_b.id)
|
|
244
|
+
assert_that(
|
|
245
|
+
assistant_b["assistant_ids"],
|
|
246
|
+
has_items(assistant_c.id),
|
|
247
|
+
"Assistant B should have C as sub-assistant",
|
|
248
|
+
)
|
|
249
|
+
|
|
250
|
+
# Now try to create assistant with sub-assistant B (which has sub-assistant)
|
|
251
|
+
with pytest.raises(Exception) as exec_info:
|
|
252
|
+
assistant_utils.send_create_assistant_request(
|
|
253
|
+
system_prompt="You are assistant A",
|
|
254
|
+
assistant_ids=[assistant_b.id],
|
|
255
|
+
)
|
|
256
|
+
assert_error_details(
|
|
257
|
+
exec_info.value.response,
|
|
258
|
+
400,
|
|
259
|
+
f"Nested assistants not supported. Inner assistants ({assistant_b.name}) cannot contain their own inner assistants",
|
|
260
|
+
)
|
|
261
|
+
|
|
262
|
+
assistant_a = assistant(
|
|
263
|
+
system_prompt="You are assistant A",
|
|
264
|
+
)
|
|
265
|
+
|
|
266
|
+
assistant_a = assistant_utils.get_assistant_by_id(assistant_a.id)
|
|
267
|
+
|
|
268
|
+
update_a = AssistantUpdateRequest(
|
|
269
|
+
name=assistant_a.name,
|
|
270
|
+
description=assistant_a.description,
|
|
271
|
+
shared=False,
|
|
272
|
+
system_prompt=assistant_a.system_prompt,
|
|
273
|
+
project=PROJECT,
|
|
274
|
+
llm_model_type=assistant_a.llm_model_type,
|
|
275
|
+
assistant_ids=[assistant_b.id], # Try to add B (which has C) as sub-assistant
|
|
276
|
+
)
|
|
277
|
+
|
|
278
|
+
with pytest.raises(Exception) as exec_info:
|
|
279
|
+
assistant_utils.update_assistant(assistant_a.id, update_a)
|
|
280
|
+
assert_error_details(
|
|
281
|
+
exec_info.value.response,
|
|
282
|
+
400,
|
|
283
|
+
f"Nested assistants not supported. Inner assistants ({assistant_b.name}) cannot contain their own inner assistants",
|
|
284
|
+
)
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
@pytest.mark.assistant
|
|
288
|
+
@pytest.mark.sub_assistant
|
|
289
|
+
@pytest.mark.api
|
|
290
|
+
def test_chat_with_assistant_having_different_sub_assistants(
|
|
291
|
+
assistant,
|
|
292
|
+
assistant_utils,
|
|
293
|
+
similarity_check,
|
|
294
|
+
jira_integration,
|
|
295
|
+
gitlab_integration,
|
|
296
|
+
code_datasource,
|
|
297
|
+
code_context,
|
|
298
|
+
):
|
|
299
|
+
"""
|
|
300
|
+
Test chatting with an assistant that has sub-assistants with different tools.
|
|
301
|
+
|
|
302
|
+
Verifies that:
|
|
303
|
+
- Parent assistant can delegate to sub-assistants with different capabilities
|
|
304
|
+
- Sub-assistants with Jira, Git, and Code-executor tools work correctly
|
|
305
|
+
- Chat functionality properly routes requests to appropriate sub-assistants
|
|
306
|
+
"""
|
|
307
|
+
|
|
308
|
+
# 1. Create sub-assistant with Jira tool
|
|
309
|
+
jira_assistant = assistant(
|
|
310
|
+
Toolkit.PROJECT_MANAGEMENT,
|
|
311
|
+
ProjectManagementTool.JIRA,
|
|
312
|
+
description="Jira expert. Helps with searching and managing Jira issues.",
|
|
313
|
+
settings=jira_integration,
|
|
314
|
+
system_prompt="You are a Jira specialist assistant. You help with searching and managing Jira issues.",
|
|
315
|
+
)
|
|
316
|
+
|
|
317
|
+
# 2. Create sub-assistant with Git tool
|
|
318
|
+
git_assistant = assistant(
|
|
319
|
+
Toolkit.GIT,
|
|
320
|
+
GitTool.LIST_BRANCHES_IN_REPO,
|
|
321
|
+
description="Git expert. Helps with Git repository operations.",
|
|
322
|
+
settings=gitlab_integration,
|
|
323
|
+
context=code_context(code_datasource),
|
|
324
|
+
system_prompt="You are a Git specialist assistant. You help with Git repository operations.",
|
|
325
|
+
)
|
|
326
|
+
|
|
327
|
+
# 3. Create sub-assistant with Code-executor tool (Python REPL)
|
|
328
|
+
code_executor_assistant = assistant(
|
|
329
|
+
Toolkit.FILE_MANAGEMENT,
|
|
330
|
+
FileManagementTool.PYTHON_CODE_INTERPRETER,
|
|
331
|
+
description="Python code execution expert. Helps with running Python code.",
|
|
332
|
+
system_prompt="You are a Python code execution specialist. You help with running Python code.",
|
|
333
|
+
)
|
|
334
|
+
|
|
335
|
+
# 4. Create parent assistant with all sub-assistants
|
|
336
|
+
parent_assistant = assistant(
|
|
337
|
+
system_prompt=(
|
|
338
|
+
"You are a coordinator assistant that delegates tasks to specialized sub-assistants. "
|
|
339
|
+
"You have access to sub-assistants for Jira operations, Git operations, and Python code execution. "
|
|
340
|
+
f"Use {jira_assistant.name} for Jira related requests."
|
|
341
|
+
f"Use {git_assistant.name} for Git related requests."
|
|
342
|
+
f"Use {code_executor_assistant.name} for Code execution requests."
|
|
343
|
+
),
|
|
344
|
+
sub_assistants_ids=[
|
|
345
|
+
jira_assistant.id,
|
|
346
|
+
git_assistant.id,
|
|
347
|
+
code_executor_assistant.id,
|
|
348
|
+
],
|
|
349
|
+
)
|
|
350
|
+
|
|
351
|
+
# 5. Send a chat request to parent assistant asking Jira-related question
|
|
352
|
+
response = assistant_utils.ask_assistant(
|
|
353
|
+
parent_assistant, JIRA_TOOL_PROMPT, minimal_response=True
|
|
354
|
+
)
|
|
355
|
+
similarity_check.check_similarity(response, RESPONSE_FOR_JIRA_TOOL)
|
|
356
|
+
|
|
357
|
+
# 6. Send a chat request to parent assistant asking Git-related question
|
|
358
|
+
git_tool_prompt = list_branches_set_active_branch_test_data[0][2]
|
|
359
|
+
git_tool_answer = list_branches_set_active_branch_test_data[0][3]
|
|
360
|
+
response = assistant_utils.ask_assistant(
|
|
361
|
+
parent_assistant, git_tool_prompt, minimal_response=True
|
|
362
|
+
)
|
|
363
|
+
|
|
364
|
+
similarity_check.check_similarity(response, git_tool_answer)
|
|
365
|
+
|
|
366
|
+
# 7. Send a chat request to parent assistant asking Code-executor question
|
|
367
|
+
response = assistant_utils.ask_assistant(
|
|
368
|
+
parent_assistant, CODE_INTERPRETER_TOOL_TASK, minimal_response=True
|
|
369
|
+
)
|
|
370
|
+
|
|
371
|
+
similarity_check.check_similarity(response, RESPONSE_FOR_CODE_INTERPRETER)
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import pytest
|
|
2
|
+
from codemie_sdk.models.integration import CredentialTypes
|
|
2
3
|
from hamcrest import assert_that, equal_to
|
|
3
4
|
|
|
4
|
-
from codemie_sdk.models.integration import CredentialTypes
|
|
5
5
|
from codemie_test_harness.tests.enums.tools import Toolkit, NotificationTool
|
|
6
|
-
from codemie_test_harness.tests.utils.credentials_manager import CredentialsManager
|
|
7
|
-
from codemie_test_harness.tests.enums.environment import Environment
|
|
8
|
-
from codemie_test_harness.tests.utils.env_resolver import get_environment
|
|
9
|
-
from codemie_test_harness.tests.utils.base_utils import assert_tool_triggered
|
|
10
6
|
from codemie_test_harness.tests.test_data.notification_tools_test_data import (
|
|
11
7
|
EMAIL_TOOL_PROMPT,
|
|
12
8
|
EMAIL_RESPONSE,
|
|
@@ -15,6 +11,9 @@ from codemie_test_harness.tests.test_data.notification_tools_test_data import (
|
|
|
15
11
|
TELEGRAM_TOOL_PROMPT,
|
|
16
12
|
TELEGRAM_RESPONSE,
|
|
17
13
|
)
|
|
14
|
+
from codemie_test_harness.tests.utils.base_utils import assert_tool_triggered
|
|
15
|
+
from codemie_test_harness.tests.utils.credentials_manager import CredentialsManager
|
|
16
|
+
from codemie_test_harness.tests.utils.env_resolver import EnvironmentResolver
|
|
18
17
|
|
|
19
18
|
|
|
20
19
|
@pytest.mark.assistant
|
|
@@ -22,7 +21,7 @@ from codemie_test_harness.tests.test_data.notification_tools_test_data import (
|
|
|
22
21
|
@pytest.mark.email
|
|
23
22
|
@pytest.mark.api
|
|
24
23
|
@pytest.mark.skipif(
|
|
25
|
-
|
|
24
|
+
EnvironmentResolver.is_localhost(),
|
|
26
25
|
reason="Skipping this test on local environment",
|
|
27
26
|
)
|
|
28
27
|
def test_assistant_with_email_tool(
|
{codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/conftest.py
RENAMED
|
@@ -595,6 +595,7 @@ def assistant(default_llm, assistant_utils, conversation_utils):
|
|
|
595
595
|
project_name: str = None,
|
|
596
596
|
description: str = None,
|
|
597
597
|
system_prompt="You are a helpful integration test assistant",
|
|
598
|
+
sub_assistants_ids: List[str] = None,
|
|
598
599
|
):
|
|
599
600
|
nonlocal created_assistant
|
|
600
601
|
# Correctly handle empty `tool_names`
|
|
@@ -622,6 +623,7 @@ def assistant(default_llm, assistant_utils, conversation_utils):
|
|
|
622
623
|
system_prompt=system_prompt,
|
|
623
624
|
project_name=project_name,
|
|
624
625
|
description=description,
|
|
626
|
+
assistant_ids=sub_assistants_ids if sub_assistants_ids else [],
|
|
625
627
|
)
|
|
626
628
|
return created_assistant
|
|
627
629
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
from typing import Sequence
|
|
2
|
+
|
|
1
3
|
import pytest
|
|
2
4
|
from codemie_sdk.models.assistant import ToolKitDetails, ToolDetails
|
|
3
5
|
from hamcrest import assert_that, has_item
|
|
6
|
+
|
|
4
7
|
from codemie_test_harness.tests.enums.model_types import ModelTypes
|
|
5
8
|
from codemie_test_harness.tests.enums.tools import Toolkit, FileManagementTool
|
|
6
9
|
from codemie_test_harness.tests.test_data.llm_test_data import MODEL_RESPONSES
|
|
@@ -8,6 +11,13 @@ from codemie_test_harness.tests.utils.client_factory import get_client
|
|
|
8
11
|
from codemie_test_harness.tests.utils.env_resolver import get_environment
|
|
9
12
|
from codemie_test_harness.tests.utils.pytest_utils import check_mark
|
|
10
13
|
|
|
14
|
+
SIMPLE_GREETING_PROMPT = "Just say one word: 'Hello'"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def get_model_names(llm_utils) -> Sequence[str]:
|
|
18
|
+
"""Get list of available model names."""
|
|
19
|
+
return [row.base_name for row in llm_utils.list_llm_models()]
|
|
20
|
+
|
|
11
21
|
|
|
12
22
|
def pytest_generate_tests(metafunc):
|
|
13
23
|
if "model_type" in metafunc.fixturenames:
|
|
@@ -41,7 +51,7 @@ def test_assistant_with_different_models(
|
|
|
41
51
|
llm_utils, assistant_utils, model_type, similarity_check, filesystem_integration
|
|
42
52
|
):
|
|
43
53
|
assert_that(
|
|
44
|
-
|
|
54
|
+
get_model_names(llm_utils),
|
|
45
55
|
has_item(model_type),
|
|
46
56
|
f"{model_type} is missing in backend response",
|
|
47
57
|
)
|
|
@@ -56,8 +66,8 @@ def test_assistant_with_different_models(
|
|
|
56
66
|
settings=filesystem_integration,
|
|
57
67
|
)
|
|
58
68
|
|
|
59
|
-
|
|
60
|
-
response = assistant_utils.ask_assistant(
|
|
69
|
+
_assistant = assistant_utils.create_assistant(model_type, toolkits=[tool])
|
|
70
|
+
response = assistant_utils.ask_assistant(_assistant, SIMPLE_GREETING_PROMPT)
|
|
61
71
|
|
|
62
72
|
if model_type in [ModelTypes.DEEPSEEK_R1, ModelTypes.RLAB_QWQ_32B]:
|
|
63
73
|
response = "\n".join(response.split("\n")[-3:])
|
|
@@ -73,12 +83,12 @@ def test_assistant_with_different_models_with_top_p_parameter(
|
|
|
73
83
|
llm_utils, assistant_utils, model_type, similarity_check
|
|
74
84
|
):
|
|
75
85
|
assert_that(
|
|
76
|
-
|
|
86
|
+
get_model_names(llm_utils),
|
|
77
87
|
has_item(model_type),
|
|
78
88
|
f"{model_type} is missing in backend response",
|
|
79
89
|
)
|
|
80
|
-
|
|
81
|
-
response = assistant_utils.ask_assistant(
|
|
90
|
+
_assistant = assistant_utils.create_assistant(model_type, top_p=0.5)
|
|
91
|
+
response = assistant_utils.ask_assistant(_assistant, SIMPLE_GREETING_PROMPT)
|
|
82
92
|
|
|
83
93
|
if model_type in [ModelTypes.DEEPSEEK_R1, ModelTypes.RLAB_QWQ_32B]:
|
|
84
94
|
response = "\n".join(response.split("\n")[-3:])
|
|
@@ -94,12 +104,12 @@ def test_assistant_with_different_models_with_temperature_parameter(
|
|
|
94
104
|
llm_utils, assistant_utils, model_type, similarity_check
|
|
95
105
|
):
|
|
96
106
|
assert_that(
|
|
97
|
-
|
|
107
|
+
get_model_names(llm_utils),
|
|
98
108
|
has_item(model_type),
|
|
99
109
|
f"{model_type} is missing in backend response",
|
|
100
110
|
)
|
|
101
|
-
|
|
102
|
-
response = assistant_utils.ask_assistant(
|
|
111
|
+
_assistant = assistant_utils.create_assistant(model_type, temperature=0.5)
|
|
112
|
+
response = assistant_utils.ask_assistant(_assistant, SIMPLE_GREETING_PROMPT)
|
|
103
113
|
|
|
104
114
|
if model_type in [ModelTypes.DEEPSEEK_R1, ModelTypes.RLAB_QWQ_32B]:
|
|
105
115
|
response = "\n".join(response.split("\n")[-3:])
|
|
@@ -121,15 +131,49 @@ def test_assistant_with_different_models_with_datasource_attached(
|
|
|
121
131
|
file_datasource,
|
|
122
132
|
):
|
|
123
133
|
assert_that(
|
|
124
|
-
|
|
134
|
+
get_model_names(llm_utils),
|
|
125
135
|
has_item(model_type),
|
|
126
136
|
f"{model_type} is missing in backend response",
|
|
127
137
|
)
|
|
128
138
|
|
|
129
|
-
|
|
139
|
+
_assistant = assistant_utils.create_assistant(
|
|
130
140
|
model_type, context=[kb_context(file_datasource)]
|
|
131
141
|
)
|
|
132
|
-
response = assistant_utils.ask_assistant(
|
|
142
|
+
response = assistant_utils.ask_assistant(_assistant, SIMPLE_GREETING_PROMPT)
|
|
143
|
+
|
|
144
|
+
if model_type in [ModelTypes.DEEPSEEK_R1, ModelTypes.RLAB_QWQ_32B]:
|
|
145
|
+
response = "\n".join(response.split("\n")[-3:])
|
|
146
|
+
similarity_check.check_similarity(response, "Hello")
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
@pytest.mark.assistant
|
|
150
|
+
@pytest.mark.llm
|
|
151
|
+
@pytest.mark.sub_assistant
|
|
152
|
+
@pytest.mark.api
|
|
153
|
+
@pytest.mark.smoke
|
|
154
|
+
def test_assistant_with_different_models_with_sub_assistant(
|
|
155
|
+
llm_utils, assistant_utils, model_type, similarity_check
|
|
156
|
+
):
|
|
157
|
+
assert_that(
|
|
158
|
+
get_model_names(llm_utils),
|
|
159
|
+
has_item(model_type),
|
|
160
|
+
f"{model_type} is missing in backend response",
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
# Create sub-assistant with default model
|
|
164
|
+
sub_assistant = assistant_utils.create_assistant(
|
|
165
|
+
system_prompt="You are a specialized sub-assistant.",
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
# Create parent assistant with the parametrized model that delegates to sub-assistant
|
|
169
|
+
parent_assistant = assistant_utils.create_assistant(
|
|
170
|
+
llm_model_type=model_type,
|
|
171
|
+
system_prompt="You are a coordinator assistant.",
|
|
172
|
+
assistant_ids=[sub_assistant.id],
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
# Test parent assistant that should delegate to sub-assistant
|
|
176
|
+
response = assistant_utils.ask_assistant(parent_assistant, SIMPLE_GREETING_PROMPT)
|
|
133
177
|
|
|
134
178
|
if model_type in [ModelTypes.DEEPSEEK_R1, ModelTypes.RLAB_QWQ_32B]:
|
|
135
179
|
response = "\n".join(response.split("\n")[-3:])
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
from codemie_test_harness.tests.enums.environment import Environment
|
|
2
|
-
from codemie_test_harness.tests.utils.env_resolver import get_environment
|
|
3
|
-
|
|
4
1
|
import pytest
|
|
5
2
|
|
|
6
3
|
from codemie_test_harness.tests.enums.tools import NotificationTool
|
|
@@ -9,6 +6,7 @@ from codemie_test_harness.tests.test_data.notification_tools_test_data import (
|
|
|
9
6
|
EMAIL_BODY,
|
|
10
7
|
EMAIL_RESPONSE,
|
|
11
8
|
)
|
|
9
|
+
from codemie_test_harness.tests.utils.env_resolver import EnvironmentResolver
|
|
12
10
|
|
|
13
11
|
notification_tools_test_data = [
|
|
14
12
|
pytest.param(
|
|
@@ -22,7 +20,7 @@ notification_tools_test_data = [
|
|
|
22
20
|
marks=[
|
|
23
21
|
pytest.mark.email,
|
|
24
22
|
pytest.mark.skipif(
|
|
25
|
-
|
|
23
|
+
EnvironmentResolver.is_localhost(),
|
|
26
24
|
reason="Skipping this test on local environment",
|
|
27
25
|
),
|
|
28
26
|
],
|
|
@@ -2,7 +2,7 @@ from codemie_test_harness.tests.utils.confluence_utils import CONFLUENCE_SPACE_K
|
|
|
2
2
|
from codemie_test_harness.tests.utils.jira_utils import JIRA_PROJECT_KEYS
|
|
3
3
|
|
|
4
4
|
JIRA_TOOL_PROMPT = (
|
|
5
|
-
"Get a title for
|
|
5
|
+
"Get a title for EPMCDME-222 ticket."
|
|
6
6
|
"For generic jira tool use exactly the same parameters:"
|
|
7
7
|
"relative_url=/rest/api/2/issue/EPMCDME-222"
|
|
8
8
|
"method=GET"
|
|
@@ -30,6 +30,7 @@ class AssistantUtils(BaseUtils):
|
|
|
30
30
|
project_name=None,
|
|
31
31
|
top_p=None,
|
|
32
32
|
temperature=None,
|
|
33
|
+
assistant_ids=(),
|
|
33
34
|
):
|
|
34
35
|
# Generate a random name if assistant_name is not provided
|
|
35
36
|
assistant_name = assistant_name if assistant_name else get_random_name()
|
|
@@ -50,6 +51,7 @@ class AssistantUtils(BaseUtils):
|
|
|
50
51
|
mcp_servers=mcp_servers,
|
|
51
52
|
top_p=top_p,
|
|
52
53
|
temperature=temperature,
|
|
54
|
+
assistant_ids=list(assistant_ids) if assistant_ids else [],
|
|
53
55
|
)
|
|
54
56
|
|
|
55
57
|
response = self.client.assistants.create(request)
|
|
@@ -70,6 +72,7 @@ class AssistantUtils(BaseUtils):
|
|
|
70
72
|
top_p=None,
|
|
71
73
|
temperature=None,
|
|
72
74
|
description=None,
|
|
75
|
+
assistant_ids=(),
|
|
73
76
|
):
|
|
74
77
|
# Generate a random name if assistant_name is not provided
|
|
75
78
|
assistant_name = assistant_name if assistant_name else get_random_name()
|
|
@@ -91,6 +94,7 @@ class AssistantUtils(BaseUtils):
|
|
|
91
94
|
top_p=top_p,
|
|
92
95
|
temperature=temperature,
|
|
93
96
|
description=description,
|
|
97
|
+
assistant_ids=assistant_ids,
|
|
94
98
|
)
|
|
95
99
|
|
|
96
100
|
return wait_for_entity(
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
from codemie_test_harness.tests.enums.environment import Environment
|
|
2
|
-
from codemie_test_harness.tests.utils.env_resolver import get_environment
|
|
3
|
-
|
|
4
1
|
import pytest
|
|
5
2
|
from hamcrest import assert_that, equal_to
|
|
6
3
|
|
|
@@ -14,6 +11,7 @@ from codemie_test_harness.tests.test_data.notification_tools_test_data import (
|
|
|
14
11
|
TELEGRAM_RESPONSE,
|
|
15
12
|
)
|
|
16
13
|
from codemie_test_harness.tests.utils.base_utils import assert_tool_triggered
|
|
14
|
+
from codemie_test_harness.tests.utils.env_resolver import EnvironmentResolver
|
|
17
15
|
|
|
18
16
|
|
|
19
17
|
@pytest.mark.workflow
|
|
@@ -22,7 +20,7 @@ from codemie_test_harness.tests.utils.base_utils import assert_tool_triggered
|
|
|
22
20
|
@pytest.mark.email
|
|
23
21
|
@pytest.mark.api
|
|
24
22
|
@pytest.mark.skipif(
|
|
25
|
-
|
|
23
|
+
EnvironmentResolver.is_localhost(),
|
|
26
24
|
reason="Skipping this test on local environment",
|
|
27
25
|
)
|
|
28
26
|
def test_workflow_with_email_tool(
|
|
@@ -39,7 +39,7 @@ def test_workflow_with_notification_tools_direct(
|
|
|
39
39
|
_workflow.id, tool_and_state_name, user_input=json.dumps(prompt)
|
|
40
40
|
)
|
|
41
41
|
|
|
42
|
-
similarity_check.check_similarity(response, expected_response,
|
|
42
|
+
similarity_check.check_similarity(response, expected_response, 75)
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
@pytest.mark.api
|
|
@@ -65,7 +65,7 @@ def test_workflow_with_notification_tools_with_hardcoded_args(
|
|
|
65
65
|
)
|
|
66
66
|
response = workflow_utils.execute_workflow(_workflow.id, tool_and_state_name)
|
|
67
67
|
|
|
68
|
-
similarity_check.check_similarity(response, expected_response,
|
|
68
|
+
similarity_check.check_similarity(response, expected_response, 75)
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
@pytest.mark.api
|