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.

Files changed (410) hide show
  1. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/PKG-INFO +2 -2
  2. codemie_test_harness-0.1.221/codemie_test_harness/tests/assistant/test_sub_assistants.py +371 -0
  3. {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
  4. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/conftest.py +2 -0
  5. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/llm/assistants/test_llm.py +56 -12
  6. {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
  7. {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
  8. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/assistant_utils.py +4 -0
  9. {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
  10. {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
  11. {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
  12. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/pyproject.toml +2 -2
  13. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/README.md +0 -0
  14. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/.env +0 -0
  15. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/__init__.py +0 -0
  16. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/__init__.py +0 -0
  17. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/cli.py +0 -0
  18. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/commands/__init__.py +0 -0
  19. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/commands/assistant_cmd.py +0 -0
  20. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/commands/config_cmd.py +0 -0
  21. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/commands/marks_cmd.py +0 -0
  22. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/commands/run_cmd.py +0 -0
  23. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/commands/workflow_cmd.py +0 -0
  24. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/constants.py +0 -0
  25. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/marks_utils.py +0 -0
  26. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/runner.py +0 -0
  27. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/cli/utils.py +0 -0
  28. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/pytest.ini +0 -0
  29. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/__init__.py +0 -0
  30. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/__init__.py +0 -0
  31. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/datasource/__init__.py +0 -0
  32. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/datasource/test_code_datasource.py +0 -0
  33. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/datasource/test_confluence_datasource.py +0 -0
  34. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/datasource/test_file_indexing.py +0 -0
  35. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/datasource/test_google_datasource.py +0 -0
  36. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/datasource/test_jira_datasource.py +0 -0
  37. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/default_integrations/__init__.py +0 -0
  38. {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
  39. {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
  40. {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
  41. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/test_assistants.py +0 -0
  42. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/__init__.py +0 -0
  43. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/access_management/__init__.py +0 -0
  44. {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
  45. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/ado/__init__.py +0 -0
  46. {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
  47. {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
  48. {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
  49. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/cloud/__init__.py +0 -0
  50. {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
  51. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/codebase/__init__.py +0 -0
  52. {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
  53. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/datamanagement/__init__.py +0 -0
  54. {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
  55. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/filemanagement/__init__.py +0 -0
  56. {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
  57. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/git/__init__.py +0 -0
  58. {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
  59. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/mcp/__init__.py +0 -0
  60. {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
  61. {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
  62. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/notification/__init__.py +0 -0
  63. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/openapi/__init__.py +0 -0
  64. {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
  65. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/plugin/__init__.py +0 -0
  66. {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
  67. {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
  68. {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
  69. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/project_management/__init__.py +0 -0
  70. {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
  71. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/report_portal/__init__.py +0 -0
  72. {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
  73. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/research/__init__.py +0 -0
  74. {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
  75. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/servicenow/__init__.py +0 -0
  76. {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
  77. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/assistant/tools/vcs/__init__.py +0 -0
  78. {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
  79. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/conversations/__init__.py +0 -0
  80. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/conversations/test_conversations_endpoints.py +0 -0
  81. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/e2e/__init__.py +0 -0
  82. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/e2e/test_e2e.py +0 -0
  83. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/enums/__init__.py +0 -0
  84. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/enums/environment.py +0 -0
  85. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/enums/integrations.py +0 -0
  86. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/enums/model_types.py +0 -0
  87. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/enums/tools.py +0 -0
  88. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/__init__.py +0 -0
  89. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/project/__init__.py +0 -0
  90. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/project/test_default_integrations.py +0 -0
  91. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/project/test_project_integrations.py +0 -0
  92. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/user/__init__.py +0 -0
  93. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/user/test_default_integrations.py +0 -0
  94. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/integrations/user/test_user_integrations.py +0 -0
  95. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/llm/__init__.py +0 -0
  96. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/llm/assistants/__init__.py +0 -0
  97. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/llm/assistants/test_lite_llm.py +0 -0
  98. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/providers/__init__.py +0 -0
  99. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/providers/test_providers_endpoints.py +0 -0
  100. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/scheduler/__init__.py +0 -0
  101. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/scheduler/test_scheduler_service.py +0 -0
  102. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/search/__init__.py +0 -0
  103. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/search/test_search_assistant.py +0 -0
  104. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/search/test_search_datasource.py +0 -0
  105. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/search/test_search_integration.py +0 -0
  106. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/search/test_search_workflow.py +0 -0
  107. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/__init__.py +0 -0
  108. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_assistant_service.py +0 -0
  109. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_datasource_service.py +0 -0
  110. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_integration_service.py +0 -0
  111. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_llm_service.py +0 -0
  112. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_task_service.py +0 -0
  113. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_user_service.py +0 -0
  114. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_workflow_execution_service.py +0 -0
  115. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/service/test_workflow_service.py +0 -0
  116. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/swagger/__init__.py +0 -0
  117. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/swagger/test_swagger_endpoint.py +0 -0
  118. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/__init__.py +0 -0
  119. {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
  120. {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
  121. {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
  122. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/assistant_test_data.py +0 -0
  123. {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
  124. {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
  125. {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
  126. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/direct_tools/__init__.py +0 -0
  127. {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
  128. {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
  129. {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
  130. {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
  131. {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
  132. {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
  133. {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
  134. {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
  135. {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
  136. {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
  137. {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
  138. {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
  139. {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
  140. {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
  141. {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
  142. {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
  143. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/file_test_data.py +0 -0
  144. {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
  145. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/provider_payload.json +0 -0
  146. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.csv +0 -0
  147. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.docx +0 -0
  148. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.gif +0 -0
  149. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.ini +0 -0
  150. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.jpeg +0 -0
  151. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.jpg +0 -0
  152. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.json +0 -0
  153. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.pdf +0 -0
  154. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.png +0 -0
  155. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.pptx +0 -0
  156. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.txt +0 -0
  157. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.vtt +0 -0
  158. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.xlsx +0 -0
  159. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.xml +0 -0
  160. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test.yaml +0 -0
  161. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test_extended.docx +0 -0
  162. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/files/test_extended.xlsx +0 -0
  163. {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
  164. {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
  165. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/index_test_data.py +0 -0
  166. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/integrations_test_data.py +0 -0
  167. {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
  168. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/llm_test_data.py +0 -0
  169. {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
  170. {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
  171. {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
  172. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/openapi.json +0 -0
  173. {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
  174. {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
  175. {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
  176. {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
  177. {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
  178. {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
  179. {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
  180. {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
  181. {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
  182. {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
  183. {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
  184. {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
  185. {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
  186. {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
  187. {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
  188. {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
  189. {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
  190. {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
  191. {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
  192. {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
  193. {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
  194. {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
  195. {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
  196. {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
  197. {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
  198. {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
  199. {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
  200. {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
  201. {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
  202. {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
  203. {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
  204. {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
  205. {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
  206. {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
  207. {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
  208. {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
  209. {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
  210. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/test_data/workflow_validation_messages.py +0 -0
  211. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/__init__.py +0 -0
  212. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/assistants/__init__.py +0 -0
  213. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/assistants/test_create_assistant.py +0 -0
  214. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/assistants/test_edit_assistant.py +0 -0
  215. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/chats/conftest.py +0 -0
  216. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/chats/test_chat_configuration.py +0 -0
  217. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/chats/test_chat_functionality.py +0 -0
  218. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/conftest.py +0 -0
  219. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/datasource/__init__.py +0 -0
  220. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/datasource/test_create_datasource.py +0 -0
  221. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/datasource/test_datasource_page.py +0 -0
  222. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/datasource/test_edit_datasource.py +0 -0
  223. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/datasource/test_view_datasource.py +0 -0
  224. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/integrations/__init__.py +0 -0
  225. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/integrations/test_create_integration.py +0 -0
  226. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/__init__.py +0 -0
  227. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/assistants/__init__.py +0 -0
  228. {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
  229. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/assistants/assistant_sidebar.py +0 -0
  230. {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
  231. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/assistants/assistants_page.py +0 -0
  232. {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
  233. {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
  234. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/base_page.py +0 -0
  235. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/chats/chat_page.py +0 -0
  236. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/chats/chats_sidebar.py +0 -0
  237. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/chats/configuration_panel.py +0 -0
  238. {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
  239. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/__init__.py +0 -0
  240. {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
  241. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/integration_row.py +0 -0
  242. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/menu.py +0 -0
  243. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/pop_up.py +0 -0
  244. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/project_selector.py +0 -0
  245. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/workflow_card.py +0 -0
  246. {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
  247. {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
  248. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/components/workflow_sidebar.py +0 -0
  249. {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
  250. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/datasources/__init__.py +0 -0
  251. {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
  252. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/datasources/datasource_page.py +0 -0
  253. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/datasources/datasource_sidebar.py +0 -0
  254. {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
  255. {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
  256. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/integrations/integrations_page.py +0 -0
  257. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/login_page.py +0 -0
  258. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/workflows/__init__.py +0 -0
  259. {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
  260. {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
  261. {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
  262. {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
  263. {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
  264. {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
  265. {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
  266. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/pageobject/workflows/workflows_page.py +0 -0
  267. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/test_data/__init__.py +0 -0
  268. {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
  269. {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
  270. {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
  271. {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
  272. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/workflows/__init__.py +0 -0
  273. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/workflows/test_create_workflow.py +0 -0
  274. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/workflows/test_edit_workflow.py +0 -0
  275. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/workflows/test_workflow_details.py +0 -0
  276. {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
  277. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/workflows/test_workflow_templates.py +0 -0
  278. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/ui/workflows/test_workflows.py +0 -0
  279. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/__init__.py +0 -0
  280. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/aws_parameters_store.py +0 -0
  281. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/base_utils.py +0 -0
  282. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/client_factory.py +0 -0
  283. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/confluence_utils.py +0 -0
  284. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/constants.py +0 -0
  285. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/conversation_utils.py +0 -0
  286. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/credentials_manager.py +0 -0
  287. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/datasource_utils.py +0 -0
  288. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/env_resolver.py +0 -0
  289. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/env_utils.py +0 -0
  290. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/file_utils.py +0 -0
  291. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/gitbud_utils.py +0 -0
  292. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/http_utils.py +0 -0
  293. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/integration_utils.py +0 -0
  294. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/jira_utils.py +0 -0
  295. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/json_utils.py +0 -0
  296. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/llm_utils.py +0 -0
  297. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/logger_util.py +0 -0
  298. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/notification_utils.py +0 -0
  299. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/provider_utils.py +0 -0
  300. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/pytest_utils.py +0 -0
  301. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/search_utils.py +0 -0
  302. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/similarity_check.py +0 -0
  303. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/user_utils.py +0 -0
  304. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/webhook_utils.py +0 -0
  305. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/workflow_utils.py +0 -0
  306. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/utils/yaml_utils.py +0 -0
  307. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/webhook/__init__.py +0 -0
  308. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/webhook/test_webhook_service.py +0 -0
  309. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/__init__.py +0 -0
  310. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/__init__.py +0 -0
  311. {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
  312. {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
  313. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/ado/__init__.py +0 -0
  314. {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
  315. {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
  316. {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
  317. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/cloud/__init__.py +0 -0
  318. {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
  319. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/codebase/__init__.py +0 -0
  320. {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
  321. {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
  322. {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
  323. {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
  324. {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
  325. {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
  326. {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
  327. {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
  328. {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
  329. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/git/__init__.py +0 -0
  330. {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
  331. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/mcp/__init__.py +0 -0
  332. {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
  333. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/notification/__init__.py +0 -0
  334. {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
  335. {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
  336. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/plugin/__init__.py +0 -0
  337. {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
  338. {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
  339. {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
  340. {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
  341. {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
  342. {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
  343. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/research/__init__.py +0 -0
  344. {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
  345. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/servicenow/__init__.py +0 -0
  346. {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
  347. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/assistant_tools/vcs/__init__.py +0 -0
  348. {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
  349. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/config_validation/__init__.py +0 -0
  350. {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
  351. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/direct_tools_calling/__init__.py +0 -0
  352. {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
  353. {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
  354. {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
  355. {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
  356. {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
  357. {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
  358. {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
  359. {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
  360. {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
  361. {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
  362. {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
  363. {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
  364. {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
  365. {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
  366. {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
  367. {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
  368. {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
  369. {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
  370. {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
  371. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/test_workflows.py +0 -0
  372. {codemie_test_harness-0.1.218 → codemie_test_harness-0.1.221}/codemie_test_harness/tests/workflow/virtual_assistant_tools/__init__.py +0 -0
  373. {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
  374. {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
  375. {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
  376. {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
  377. {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
  378. {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
  379. {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
  380. {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
  381. {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
  382. {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
  383. {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
  384. {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
  385. {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
  386. {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
  387. {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
  388. {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
  389. {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
  390. {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
  391. {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
  392. {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
  393. {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
  394. {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
  395. {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
  396. {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
  397. {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
  398. {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
  399. {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
  400. {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
  401. {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
  402. {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
  403. {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
  404. {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
  405. {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
  406. {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
  407. {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
  408. {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
  409. {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
  410. {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.218
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.218)
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
- get_environment() in [Environment.LOCALHOST, Environment.GCP],
24
+ EnvironmentResolver.is_localhost(),
26
25
  reason="Skipping this test on local environment",
27
26
  )
28
27
  def test_assistant_with_email_tool(
@@ -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
- [row.base_name for row in llm_utils.list_llm_models()],
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
- assistant = assistant_utils.create_assistant(model_type, toolkits=[tool])
60
- response = assistant_utils.ask_assistant(assistant, "Just say one word: 'Hello'")
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
- [row.base_name for row in llm_utils.list_llm_models()],
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
- assistant = assistant_utils.create_assistant(model_type, top_p=0.5)
81
- response = assistant_utils.ask_assistant(assistant, "Just say one word: 'Hello'")
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
- [row.base_name for row in llm_utils.list_llm_models()],
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
- assistant = assistant_utils.create_assistant(model_type, temperature=0.5)
102
- response = assistant_utils.ask_assistant(assistant, "Just say one word: 'Hello'")
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
- [row.base_name for row in llm_utils.list_llm_models()],
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
- assistant = assistant_utils.create_assistant(
139
+ _assistant = assistant_utils.create_assistant(
130
140
  model_type, context=[kb_context(file_datasource)]
131
141
  )
132
- response = assistant_utils.ask_assistant(assistant, "Just say one word: 'Hello'")
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
- get_environment() in [Environment.LOCALHOST, Environment.GCP],
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 ticket EPMCDME-222 ticket."
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
- get_environment() in [Environment.LOCALHOST, Environment.GCP],
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, 80)
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, 80)
68
+ similarity_check.check_similarity(response, expected_response, 75)
69
69
 
70
70
 
71
71
  @pytest.mark.api