codemie-test-harness 0.1.129__tar.gz → 0.1.130__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.
Files changed (326) hide show
  1. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/PKG-INFO +2 -2
  2. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/pyproject.toml +2 -2
  3. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/conftest.py +4 -0
  4. codemie_test_harness-0.1.130/tests/providers/test_providers_endpoints.py +239 -0
  5. codemie_test_harness-0.1.130/tests/test_data/files/provider_payload.json +382 -0
  6. codemie_test_harness-0.1.130/tests/utils/http_utils.py +141 -0
  7. codemie_test_harness-0.1.130/tests/utils/provider_utils.py +178 -0
  8. codemie_test_harness-0.1.130/tests/workflow/virtual_assistant_tools/vcs/__init__.py +0 -0
  9. codemie_test_harness-0.1.129/tests/utils/http_utils.py +0 -53
  10. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/.env +0 -0
  11. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/README.md +0 -0
  12. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/codemie_test_harness/cli/__init__.py +0 -0
  13. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/codemie_test_harness/cli/cli.py +0 -0
  14. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/codemie_test_harness/cli/commands/__init__.py +0 -0
  15. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/codemie_test_harness/cli/commands/config_cmd.py +0 -0
  16. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/codemie_test_harness/cli/commands/run_cmd.py +0 -0
  17. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/codemie_test_harness/cli/constants.py +0 -0
  18. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/codemie_test_harness/cli/runner.py +0 -0
  19. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/codemie_test_harness/cli/utils.py +0 -0
  20. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/pytest.ini +0 -0
  21. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/__init__.py +0 -0
  22. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/__init__.py +0 -0
  23. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/datasource/__init__.py +0 -0
  24. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/datasource/test_code_datasource.py +0 -0
  25. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/datasource/test_confluence_datasource.py +0 -0
  26. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/datasource/test_file_indexing.py +0 -0
  27. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/datasource/test_google_datasource.py +0 -0
  28. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/datasource/test_jira_datasource.py +0 -0
  29. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/default_integrations/__init__.py +0 -0
  30. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/default_integrations/test_default_integrations_for_tool.py +0 -0
  31. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
  32. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
  33. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/test_assistants.py +0 -0
  34. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/__init__.py +0 -0
  35. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/ado/__init__.py +0 -0
  36. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py +0 -0
  37. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/ado/test_assistant_for_ado_wiki_tools.py +0 -0
  38. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/ado/test_assistant_for_ado_work_item_tools.py +0 -0
  39. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/cloud/__init__.py +0 -0
  40. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/cloud/test_cloud_tools.py +0 -0
  41. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/codebase/__init__.py +0 -0
  42. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/codebase/test_codebase_tools.py +0 -0
  43. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/datamanagement/__init__.py +0 -0
  44. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/datamanagement/test_assistant_with_data_management_tools.py +0 -0
  45. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/filemanagement/__init__.py +0 -0
  46. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/filemanagement/test_assistant_with_file_management_tools.py +0 -0
  47. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/git/__init__.py +0 -0
  48. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/git/test_assistant_with_git_tools.py +0 -0
  49. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/mcp/__init__.py +0 -0
  50. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/mcp/test_cli_mcp_server.py +0 -0
  51. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/mcp/test_mcp_servers.py +0 -0
  52. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/notification/__init__.py +0 -0
  53. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/notification/test_assistant_notification_tools.py +0 -0
  54. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/openapi/__init__.py +0 -0
  55. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/openapi/test_assistant_with_open_api_tools.py +0 -0
  56. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/plugin/__init__.py +0 -0
  57. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/plugin/test_assistant_with_development_plugin.py +0 -0
  58. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/plugin/test_assistant_with_plugin_and_mcp_servers.py +0 -0
  59. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/project_management/__init__.py +0 -0
  60. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/project_management/test_assistant_pm_tools.py +0 -0
  61. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/research/__init__.py +0 -0
  62. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/research/test_assistant_research_tools.py +0 -0
  63. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/servicenow/__init__.py +0 -0
  64. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/servicenow/test_servicenow_tools.py +0 -0
  65. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/vcs/__init__.py +0 -0
  66. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py +0 -0
  67. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/e2e/__init__.py +0 -0
  68. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/e2e/test_e2e.py +0 -0
  69. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/enums/__init__.py +0 -0
  70. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/enums/integrations.py +0 -0
  71. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/enums/model_types.py +0 -0
  72. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/enums/tools.py +0 -0
  73. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/integrations/__init__.py +0 -0
  74. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/integrations/project/__init__.py +0 -0
  75. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/integrations/project/test_default_integrations.py +0 -0
  76. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/integrations/project/test_project_integrations.py +0 -0
  77. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/integrations/user/__init__.py +0 -0
  78. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/integrations/user/test_default_integrations.py +0 -0
  79. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/integrations/user/test_user_integrations.py +0 -0
  80. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/llm/__init__.py +0 -0
  81. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/llm/assistants/__init__.py +0 -0
  82. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/llm/assistants/test_llm.py +0 -0
  83. {codemie_test_harness-0.1.129/tests/service → codemie_test_harness-0.1.130/tests/providers}/__init__.py +0 -0
  84. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/search/__init__.py +0 -0
  85. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/search/test_search_assistant.py +0 -0
  86. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/search/test_search_datasource.py +0 -0
  87. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/search/test_search_integration.py +0 -0
  88. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/search/test_search_workflow.py +0 -0
  89. {codemie_test_harness-0.1.129/tests/test_data → codemie_test_harness-0.1.130/tests/service}/__init__.py +0 -0
  90. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/service/test_assistant_service.py +0 -0
  91. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/service/test_datasource_service.py +0 -0
  92. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/service/test_integration_service.py +0 -0
  93. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/service/test_llm_service.py +0 -0
  94. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/service/test_task_service.py +0 -0
  95. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/service/test_user_service.py +0 -0
  96. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/service/test_workflow_execution_service.py +0 -0
  97. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/service/test_workflow_service.py +0 -0
  98. {codemie_test_harness-0.1.129/tests/test_data/direct_tools → codemie_test_harness-0.1.130/tests/test_data}/__init__.py +0 -0
  99. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/ado_test_plan_tools_test_data.py +0 -0
  100. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/ado_wiki_tools_test_data.py +0 -0
  101. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/ado_work_item_tools_test_data.py +0 -0
  102. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/cloud_tools_test_data.py +0 -0
  103. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/codebase_tools_test_data.py +0 -0
  104. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/data_management_tools_test_data.py +0 -0
  105. {codemie_test_harness-0.1.129/tests/ui → codemie_test_harness-0.1.130/tests/test_data/direct_tools}/__init__.py +0 -0
  106. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/ado_test_plan_tools_test_data.py +0 -0
  107. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/ado_wiki_tools_test_data.py +0 -0
  108. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/ado_work_item_tools_test_data.py +0 -0
  109. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/cloud_tools_test_data.py +0 -0
  110. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/codebase_tools_test_data.py +0 -0
  111. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/data_management_tools_test_data.py +0 -0
  112. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/direct_tools_test_data.py +0 -0
  113. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/file_management_tools_test_data.py +0 -0
  114. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/notification_tools_test_data.py +0 -0
  115. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/open_api_tools_test_data.py +0 -0
  116. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/project_management_tools_test_data.py +0 -0
  117. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/research_tools_test_data.py +0 -0
  118. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/servicenow_tools_test_data.py +0 -0
  119. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/direct_tools/vcs_tools_test_data.py +0 -0
  120. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/file_management_tools_test_data.py +0 -0
  121. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/file_test_data.py +0 -0
  122. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/large-files/large_file.txt +0 -0
  123. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.csv +0 -0
  124. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.docx +0 -0
  125. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.gif +0 -0
  126. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.ini +0 -0
  127. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.jpeg +0 -0
  128. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.jpg +0 -0
  129. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.json +0 -0
  130. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.pdf +0 -0
  131. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.png +0 -0
  132. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.pptx +0 -0
  133. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.txt +0 -0
  134. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.vtt +0 -0
  135. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.xlsx +0 -0
  136. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.xml +0 -0
  137. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/files/test.yaml +0 -0
  138. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/git_tools_test_data.py +0 -0
  139. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/google_datasource_test_data.py +0 -0
  140. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/index_test_data.py +0 -0
  141. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/integrations_test_data.py +0 -0
  142. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/llm_test_data.py +0 -0
  143. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/mcp_server_test_data.py +0 -0
  144. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/notification_tools_test_data.py +0 -0
  145. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/open_api_tools_test_data.py +0 -0
  146. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/openapi.json +0 -0
  147. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/output_schema_test_data.py +0 -0
  148. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/plugin_tools_test_data.py +0 -0
  149. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/pm_tools_test_data.py +0 -0
  150. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/project_management_test_data.py +0 -0
  151. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/research_tools_test_data.py +0 -0
  152. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/servicenow_tools_test_data.py +0 -0
  153. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/vcs_tools_test_data.py +0 -0
  154. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/invalid_assistant_id.yaml +0 -0
  155. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/invalid_assistant_in_state.yaml +0 -0
  156. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/invalid_data_source.yaml +0 -0
  157. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/invalid_state.yaml +0 -0
  158. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/invalid_tool.yaml +0 -0
  159. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/invalid_yaml.yaml +0 -0
  160. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/invalid_yaml_format.yaml +0 -0
  161. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_assistant_id.yaml +0 -0
  162. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_assistant_tools_name.yaml +0 -0
  163. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_retry_backoff_factor.yaml +0 -0
  164. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_retry_initial_interval.yaml +0 -0
  165. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_retry_max_attempts.yaml +0 -0
  166. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_retry_max_interval.yaml +0 -0
  167. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states.yaml +0 -0
  168. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states_id.yaml +0 -0
  169. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states_next.yaml +0 -0
  170. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_expression.yaml +0 -0
  171. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_otherwise.yaml +0 -0
  172. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states_next_condition_then.yaml +0 -0
  173. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases.yaml +0 -0
  174. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases_condition.yaml +0 -0
  175. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_cases_state_id.yaml +0 -0
  176. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states_next_switch_default.yaml +0 -0
  177. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states_retry_backoff_factor.yaml +0 -0
  178. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states_retry_initial_interval.yaml +0 -0
  179. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_attempts.yaml +0 -0
  180. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_states_retry_max_interval.yaml +0 -0
  181. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_system_prompt.yaml +0 -0
  182. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_tools_id.yaml +0 -0
  183. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow/invalid_config/missing_required_tools_name.yaml +0 -0
  184. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/test_data/workflow_validation_messages.py +0 -0
  185. {codemie_test_harness-0.1.129/tests/ui/pageobject → codemie_test_harness-0.1.130/tests/ui}/__init__.py +0 -0
  186. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/conftest.py +0 -0
  187. {codemie_test_harness-0.1.129/tests/ui/pageobject/assistants → codemie_test_harness-0.1.130/tests/ui/pageobject}/__init__.py +0 -0
  188. {codemie_test_harness-0.1.129/tests/workflow → codemie_test_harness-0.1.130/tests/ui/pageobject/assistants}/__init__.py +0 -0
  189. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/assistants/assistants_page.py +0 -0
  190. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/base_page.py +0 -0
  191. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/components/__init__.py +0 -0
  192. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/components/execution_history_row.py +0 -0
  193. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/components/header.py +0 -0
  194. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/components/pop_up.py +0 -0
  195. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/components/workflow_card.py +0 -0
  196. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/components/workflow_execution_history_item.py +0 -0
  197. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/components/workflow_execution_state.py +0 -0
  198. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/components/workflow_sidebar.py +0 -0
  199. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/components/workflow_state_card.py +0 -0
  200. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/login_page.py +0 -0
  201. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/workflows/__init__.py +0 -0
  202. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/workflows/base_workflow_form_page.py +0 -0
  203. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/workflows/create_workflow_page.py +0 -0
  204. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/workflows/edit_workflow_page.py +0 -0
  205. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/workflows/workflow_details_page.py +0 -0
  206. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/workflows/workflow_executions_page.py +0 -0
  207. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/workflows/workflow_template_details.py +0 -0
  208. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/workflows/workflow_templates_page.py +0 -0
  209. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/pageobject/workflows/workflows_page.py +0 -0
  210. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/test_create_workflow.py +0 -0
  211. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/test_edit_workflow.py +0 -0
  212. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/test_workflow_details.py +0 -0
  213. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/test_workflow_executions_page.py +0 -0
  214. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/test_workflow_templates.py +0 -0
  215. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/ui/test_workflows.py +0 -0
  216. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/__init__.py +0 -0
  217. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/assistant_utils.py +0 -0
  218. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/aws_parameters_store.py +0 -0
  219. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/base_utils.py +0 -0
  220. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/client_factory.py +0 -0
  221. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/constants.py +0 -0
  222. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/datasource_utils.py +0 -0
  223. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/file_utils.py +0 -0
  224. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/gitbud_utils.py +0 -0
  225. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/integration_utils.py +0 -0
  226. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/json_utils.py +0 -0
  227. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/logger_util.py +0 -0
  228. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/notification_utils.py +0 -0
  229. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/pytest_utils.py +0 -0
  230. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/search_utils.py +0 -0
  231. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/similarity_check.py +0 -0
  232. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/workflow_utils.py +0 -0
  233. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/utils/yaml_utils.py +0 -0
  234. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools → codemie_test_harness-0.1.130/tests/workflow}/__init__.py +0 -0
  235. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools/ado → codemie_test_harness-0.1.130/tests/workflow/assistant_tools}/__init__.py +0 -0
  236. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools/cloud → codemie_test_harness-0.1.130/tests/workflow/assistant_tools/ado}/__init__.py +0 -0
  237. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_test_plan_tools.py +0 -0
  238. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_wiki_tools.py +0 -0
  239. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/ado/test_workflow_with_assistant_with_ado_work_item_tools.py +0 -0
  240. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools/codebase → codemie_test_harness-0.1.130/tests/workflow/assistant_tools/cloud}/__init__.py +0 -0
  241. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/cloud/test_workflow_with_assistant_cloud_tools.py +0 -0
  242. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools/data_management → codemie_test_harness-0.1.130/tests/workflow/assistant_tools/codebase}/__init__.py +0 -0
  243. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/codebase/test_worfklow_with_assistant_codebase_tools.py +0 -0
  244. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools/default_integrations → codemie_test_harness-0.1.130/tests/workflow/assistant_tools/data_management}/__init__.py +0 -0
  245. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/data_management/test_workflow_with_assistant_with_data_management_tools.py +0 -0
  246. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools/git → codemie_test_harness-0.1.130/tests/workflow/assistant_tools/default_integrations}/__init__.py +0 -0
  247. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool.py +0 -0
  248. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
  249. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
  250. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/file_management/__init__.py +0 -0
  251. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/file_management/test_workflow_with_assistant_with_file_management_tools.py +0 -0
  252. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools/mcp → codemie_test_harness-0.1.130/tests/workflow/assistant_tools/git}/__init__.py +0 -0
  253. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/git/test_workflow_with_assistant_git_tools.py +0 -0
  254. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools/notification → codemie_test_harness-0.1.130/tests/workflow/assistant_tools/mcp}/__init__.py +0 -0
  255. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/mcp/test_workflow_with_assistant_with_mcp_server.py +0 -0
  256. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools/plugin → codemie_test_harness-0.1.130/tests/workflow/assistant_tools/notification}/__init__.py +0 -0
  257. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/notification/test_workflow_with_assistant_notification_tools.py +0 -0
  258. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/open_api/__init__.py +0 -0
  259. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/open_api/test_workflow_with_assistant_with_open_api_tools.py +0 -0
  260. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools/project_management → codemie_test_harness-0.1.130/tests/workflow/assistant_tools/plugin}/__init__.py +0 -0
  261. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_development_plugin.py +0 -0
  262. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/plugin/test_workflow_with_assistant_with_plugin_and_mcp_servers.py +0 -0
  263. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools/research → codemie_test_harness-0.1.130/tests/workflow/assistant_tools/project_management}/__init__.py +0 -0
  264. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/project_management/test_workflow_with_assistant_pm_tools.py +0 -0
  265. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools/servicenow → codemie_test_harness-0.1.130/tests/workflow/assistant_tools/research}/__init__.py +0 -0
  266. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/research/test_workflow_with_assistant_research_tools.py +0 -0
  267. {codemie_test_harness-0.1.129/tests/workflow/assistant_tools/vcs → codemie_test_harness-0.1.130/tests/workflow/assistant_tools/servicenow}/__init__.py +0 -0
  268. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +0 -0
  269. {codemie_test_harness-0.1.129/tests/workflow/config_validation → codemie_test_harness-0.1.130/tests/workflow/assistant_tools/vcs}/__init__.py +0 -0
  270. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/assistant_tools/vcs/workflow_with_assistant_vcs_tools.py +0 -0
  271. {codemie_test_harness-0.1.129/tests/workflow/direct_tools_calling → codemie_test_harness-0.1.130/tests/workflow/config_validation}/__init__.py +0 -0
  272. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/config_validation/test_config_validation.py +0 -0
  273. {codemie_test_harness-0.1.129/tests/workflow/direct_tools_calling/default_integrations → codemie_test_harness-0.1.130/tests/workflow/direct_tools_calling}/__init__.py +0 -0
  274. {codemie_test_harness-0.1.129/tests/workflow/virtual_assistant_tools → codemie_test_harness-0.1.130/tests/workflow/direct_tools_calling/default_integrations}/__init__.py +0 -0
  275. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool.py +0 -0
  276. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
  277. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py +0 -0
  278. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py +0 -0
  279. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py +0 -0
  280. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +0 -0
  281. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py +0 -0
  282. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools.py +0 -0
  283. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py +0 -0
  284. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_notification_tools.py +0 -0
  285. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py +0 -0
  286. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py +0 -0
  287. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py +0 -0
  288. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +0 -0
  289. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py +0 -0
  290. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py +0 -0
  291. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/test_workflows.py +0 -0
  292. {codemie_test_harness-0.1.129/tests/workflow/virtual_assistant_tools/ado → codemie_test_harness-0.1.130/tests/workflow/virtual_assistant_tools}/__init__.py +0 -0
  293. {codemie_test_harness-0.1.129/tests/workflow/virtual_assistant_tools/cloud → codemie_test_harness-0.1.130/tests/workflow/virtual_assistant_tools/ado}/__init__.py +0 -0
  294. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_test_plan_tools.py +0 -0
  295. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_wiki_tools.py +0 -0
  296. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/ado/test_workflow_with_ado_work_item_tools.py +0 -0
  297. {codemie_test_harness-0.1.129/tests/workflow/virtual_assistant_tools/default_integrations → codemie_test_harness-0.1.130/tests/workflow/virtual_assistant_tools/cloud}/__init__.py +0 -0
  298. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/cloud/test_workflow_with_cloud_tools.py +0 -0
  299. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/codebase/__init__.py +0 -0
  300. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/codebase/test_workflow_with_codebase_tools.py +0 -0
  301. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/data_management/__init__.py +0 -0
  302. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/data_management/test_workflow_with_data_management_tools.py +0 -0
  303. {codemie_test_harness-0.1.129/tests/workflow/virtual_assistant_tools/git → codemie_test_harness-0.1.130/tests/workflow/virtual_assistant_tools/default_integrations}/__init__.py +0 -0
  304. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool.py +0 -0
  305. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_kit.py +0 -0
  306. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/default_integrations/test_default_integrations_for_tool_with_datasource.py +0 -0
  307. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/file_management/__init__.py +0 -0
  308. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/file_management/test_workflow_with_file_management_tools.py +0 -0
  309. {codemie_test_harness-0.1.129/tests/workflow/virtual_assistant_tools/mcp → codemie_test_harness-0.1.130/tests/workflow/virtual_assistant_tools/git}/__init__.py +0 -0
  310. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/git/test_workflow_with_git_tools.py +0 -0
  311. {codemie_test_harness-0.1.129/tests/workflow/virtual_assistant_tools/plugin → codemie_test_harness-0.1.130/tests/workflow/virtual_assistant_tools/mcp}/__init__.py +0 -0
  312. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/mcp/test_workflow_with_mcp_server.py +0 -0
  313. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/notification/__init__.py +0 -0
  314. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/notification/test_workflow_with_notification_tools.py +0 -0
  315. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/open_api/__init__.py +0 -0
  316. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/open_api/test_workflow_with_open_api_tools.py +0 -0
  317. {codemie_test_harness-0.1.129/tests/workflow/virtual_assistant_tools/research → codemie_test_harness-0.1.130/tests/workflow/virtual_assistant_tools/plugin}/__init__.py +0 -0
  318. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_development_plugin.py +0 -0
  319. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/plugin/test_workflow_with_plugin_and_mcp_servers.py +0 -0
  320. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/project_management/__init__.py +0 -0
  321. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/project_management/test_workflow_with_project_management_tools.py +0 -0
  322. {codemie_test_harness-0.1.129/tests/workflow/virtual_assistant_tools/servicenow → codemie_test_harness-0.1.130/tests/workflow/virtual_assistant_tools/research}/__init__.py +0 -0
  323. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/research/test_workflow_with_research_tools.py +0 -0
  324. {codemie_test_harness-0.1.129/tests/workflow/virtual_assistant_tools/vcs → codemie_test_harness-0.1.130/tests/workflow/virtual_assistant_tools/servicenow}/__init__.py +0 -0
  325. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py +0 -0
  326. {codemie_test_harness-0.1.129 → codemie_test_harness-0.1.130}/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.129
3
+ Version: 0.1.130
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.129)
16
+ Requires-Dist: codemie-sdk-python (==0.1.130)
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-reportportal (>=5.5.2,<6.0.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "codemie-test-harness"
3
- version = "0.1.129"
3
+ version = "0.1.130"
4
4
  description = "Autotest for CodeMie backend and UI"
5
5
  authors = [
6
6
  "Anton Yeromin <anton_yeromin@epam.com>",
@@ -18,7 +18,7 @@ include = [
18
18
 
19
19
  [tool.poetry.dependencies]
20
20
  python = "^3.12"
21
- codemie-sdk-python = "0.1.129"
21
+ codemie-sdk-python = "0.1.130"
22
22
  pytest = "^8.4.1"
23
23
  python-dotenv = "^1.1.0"
24
24
  PyHamcrest = "^2.1.0"
@@ -34,6 +34,7 @@ from tests.utils.gitbud_utils import GitBudUtils
34
34
  from tests.utils.integration_utils import IntegrationUtils
35
35
  from tests.utils.logger_util import setup_logger
36
36
  from tests.utils.notification_utils import GmailUtils
37
+ from tests.utils.provider_utils import ProviderUtils
37
38
  from tests.utils.search_utils import SearchUtils
38
39
  from tests.utils.similarity_check import SimilarityCheck
39
40
  from tests.utils.workflow_utils import WorkflowUtils
@@ -818,3 +819,6 @@ def pytest_sessionfinish(session):
818
819
  if prefix in workflow.name:
819
820
  client.workflows.delete(workflow_id=workflow.id)
820
821
  sleep(clean_up_timeout)
822
+
823
+ providers_utils = ProviderUtils(client)
824
+ providers_utils.cleanup_test_providers()
@@ -0,0 +1,239 @@
1
+ import pytest
2
+ from hamcrest import (
3
+ assert_that,
4
+ is_,
5
+ equal_to,
6
+ has_key,
7
+ all_of,
8
+ )
9
+
10
+ from tests.utils.base_utils import get_random_name
11
+ from tests.utils.provider_utils import ProviderUtils
12
+
13
+
14
+ @pytest.fixture(scope="session")
15
+ def providers_utils(client):
16
+ return ProviderUtils(client)
17
+
18
+
19
+ nonexistent_id = "nonexistent-provider-id-12345"
20
+
21
+ # =============================================================================
22
+ # GET /v1/providers - List all providers
23
+ # =============================================================================
24
+
25
+
26
+ @pytest.mark.regression
27
+ def test_get_providers_endpoint(providers_utils):
28
+ response = providers_utils.send_get_request_to_providers_endpoint()
29
+
30
+ assert_that(response.status_code, equal_to(200))
31
+
32
+ response_data = response.json()
33
+
34
+ # Validate response structure
35
+ assert_that(isinstance(response_data, list), is_(True))
36
+ for provider in response_data:
37
+ assert_that(
38
+ provider,
39
+ all_of(has_key("provided_toolkits"), has_key("service_location_url")),
40
+ )
41
+
42
+
43
+ # =============================================================================
44
+ # POST /v1/providers - Create new provider
45
+ # =============================================================================
46
+
47
+
48
+ @pytest.mark.regression
49
+ def test_post_providers_endpoint(providers_utils):
50
+ request_json = providers_utils.provider_request_json()
51
+ # Ensure unique provider name to avoid conflicts
52
+ provider_name = get_random_name()
53
+ request_json["name"] = provider_name
54
+
55
+ create_response = providers_utils.send_post_request_to_providers_endpoint(
56
+ request_json
57
+ )
58
+
59
+ assert_that(create_response.status_code, equal_to(200))
60
+
61
+ # get provider to verify it was created
62
+ get_response = providers_utils.send_get_request_to_providers_endpoint()
63
+
64
+ providers = get_response.json()
65
+ created_provider = next((p for p in providers if p["name"] == provider_name), None)
66
+
67
+ assert_that(
68
+ created_provider is not None,
69
+ is_(True),
70
+ "Created provider should be in the list",
71
+ )
72
+
73
+
74
+ @pytest.mark.regression
75
+ def test_post_providers_endpoint_validation_error(providers_utils):
76
+ """Test POST /v1/providers with invalid provided_toolkits node"""
77
+ request_json = providers_utils.provider_request_json()
78
+ request_json["provided_toolkits"] = "invalid_value"
79
+
80
+ response = providers_utils.send_post_request_to_providers_endpoint(request_json)
81
+
82
+ assert_that(response.status_code, equal_to(422))
83
+ assert_that(
84
+ response.json()["error"]["details"][0]["msg"],
85
+ equal_to("Input should be a valid list"),
86
+ )
87
+
88
+
89
+ @pytest.mark.regression
90
+ def test_post_providers_endpoint_with_existing_name(providers_utils):
91
+ provider_id = providers_utils.create_provider()
92
+
93
+ provider = providers_utils.get_provider_by_id(provider_id).json()
94
+
95
+ existing_name = provider["name"]
96
+ request_json = providers_utils.provider_request_json()
97
+ request_json["name"] = existing_name
98
+
99
+ create_response = providers_utils.send_post_request_to_providers_endpoint(
100
+ request_json
101
+ )
102
+
103
+ assert_that(create_response.status_code, equal_to(409))
104
+ assert_that(
105
+ create_response.json()["error"]["details"],
106
+ equal_to(f"A provider with the name [{existing_name}] already exists."),
107
+ )
108
+
109
+
110
+ # =============================================================================
111
+ # GET /v1/providers/datasource_schemas - Get datasource schemas
112
+ # =============================================================================
113
+
114
+
115
+ @pytest.mark.regression
116
+ def test_get_providers_datasource_schema_endpoint(providers_utils):
117
+ response = providers_utils.send_get_request_datasource_schemas_endpoint()
118
+
119
+ assert_that(response.status_code, equal_to(200))
120
+
121
+ response_data = response.json()
122
+
123
+ # Validate response structure
124
+ assert_that(isinstance(response_data, list), is_(True))
125
+ for provider in response_data:
126
+ assert_that(
127
+ provider,
128
+ all_of(
129
+ has_key("id"),
130
+ has_key("provider_name"),
131
+ has_key("name"),
132
+ has_key("base_schema"),
133
+ has_key("create_schema"),
134
+ ),
135
+ )
136
+
137
+
138
+ # =============================================================================
139
+ # GET /v1/providers/{provider_id} - Get specific provider
140
+ # =============================================================================
141
+
142
+
143
+ @pytest.mark.regression
144
+ def test_get_provider_by_id_endpoint(providers_utils):
145
+ provider_id = providers_utils.create_provider()
146
+
147
+ provider_response = providers_utils.get_provider_by_id(provider_id)
148
+
149
+ assert_that(provider_response.status_code, equal_to(200))
150
+ assert_that(provider_response.json()["id"], equal_to(provider_id))
151
+
152
+
153
+ @pytest.mark.regression
154
+ def test_get_nonexistent_provider(providers_utils):
155
+ """Test error handling when requesting nonexistent provider."""
156
+ response = providers_utils.get_provider_by_id(nonexistent_id)
157
+
158
+ assert_that(response.status_code, equal_to(404))
159
+
160
+ assert_that(
161
+ response.json()["error"]["details"],
162
+ equal_to(
163
+ f"The provider with ID [{nonexistent_id}] could not be found in the system."
164
+ ),
165
+ )
166
+
167
+
168
+ # =============================================================================
169
+ # PUT /v1/providers/{provider_id} - Update specific provider
170
+ # =============================================================================
171
+
172
+
173
+ @pytest.mark.regression
174
+ def test_put_provider_endpoint(providers_utils):
175
+ provider_id = providers_utils.create_provider()
176
+ provider = providers_utils.get_provider_by_id(provider_id).json()
177
+
178
+ request_json = providers_utils.provider_request_json()
179
+ toolkits = provider["provided_toolkits"]
180
+ toolkits[0]["name"] = "Updated toolkit name"
181
+ toolkits[0]["description"] = "Updated toolkit description"
182
+ request_json["provided_toolkits"] = toolkits
183
+ request_json["name"] = f"{provider['name']} - updated"
184
+ update_response = providers_utils.update_provider(provider_id, request_json)
185
+
186
+ assert_that(update_response.status_code, equal_to(200))
187
+ assert_that(update_response.json()["provided_toolkits"], equal_to(toolkits))
188
+
189
+
190
+ @pytest.mark.regression
191
+ def test_put_nonexistent_provider(providers_utils):
192
+ response = providers_utils.update_provider(nonexistent_id, {})
193
+
194
+ assert_that(response.status_code, equal_to(404))
195
+ assert_that(
196
+ response.json()["error"]["details"],
197
+ equal_to(
198
+ f"The provider with ID [{nonexistent_id}] could not be found in the system."
199
+ ),
200
+ )
201
+
202
+
203
+ # =============================================================================
204
+ # DELETE /v1/providers/{provider_id} - Delete specific provider
205
+ # =============================================================================
206
+
207
+
208
+ @pytest.mark.regression
209
+ def test_delete_provider_endpoint(providers_utils):
210
+ provider_id = providers_utils.create_provider()
211
+ delete_response = providers_utils.send_delete_provider_request(provider_id)
212
+
213
+ assert_that(delete_response.status_code, equal_to(204))
214
+
215
+ response = providers_utils.get_provider_by_id(provider_id)
216
+
217
+ assert_that(response.status_code, equal_to(404))
218
+
219
+ assert_that(
220
+ response.json()["error"]["details"],
221
+ equal_to(
222
+ f"The provider with ID [{provider_id}] could not be found in the system."
223
+ ),
224
+ )
225
+
226
+
227
+ @pytest.mark.regression
228
+ def test_delete_nonexistent_provider(providers_utils):
229
+ """Test error handling when requesting nonexistent provider."""
230
+ response = providers_utils.send_delete_provider_request(nonexistent_id)
231
+
232
+ assert_that(response.status_code, equal_to(404))
233
+
234
+ assert_that(
235
+ response.json()["error"]["details"],
236
+ equal_to(
237
+ f"The provider with ID [{nonexistent_id}] could not be found in the system."
238
+ ),
239
+ )
@@ -0,0 +1,382 @@
1
+ {
2
+ "id":"3928ea28-e9e2-4382-aae0-09d5a24dc2am",
3
+ "date":"2025-04-02T12:54:19.693921",
4
+ "update_date":"2025-04-02T13:50:36.917335",
5
+ "name":"test",
6
+ "service_location_url":"https://codemie-preview.lab.epam.com/codemie-provider-stub-api/",
7
+ "configuration":{
8
+ "auth_type":"Bearer"
9
+ },
10
+ "provided_toolkits":[
11
+ {
12
+ "toolkit_id":"023953e9-b4b2-4264-aa24-7a20ab7cb201",
13
+ "name":"TestAutomationCodeAnalysesToolkit",
14
+ "description":"This ToolKit provides tools for indexing the source code of provided repository and set of methods to get insights of the code and code snippets.",
15
+ "toolkit_config":{
16
+ "type":"Code Analyses Datasource Configuration",
17
+ "description":"Configuration for connecting to GitHub repositories to access code for indexing and analysis.",
18
+ "parameters":{
19
+ "access_token":{
20
+ "description":"Github/Gitlab project access token with appropriate scopes for repository access",
21
+ "type":"Secret",
22
+ "required":true,
23
+ "enum":null
24
+ },
25
+ "datasource_id":{
26
+ "description":"Unique identifier for the datasource",
27
+ "type":"UUID",
28
+ "required":true,
29
+ "enum":null
30
+ },
31
+ "api_url":{
32
+ "description":"Git API URL (use your Git Enterprise API URL)",
33
+ "type":"URL",
34
+ "required":true,
35
+ "enum":null
36
+ },
37
+ "branch":{
38
+ "description":"Branch to index, defaults to master",
39
+ "type":"String",
40
+ "required":false,
41
+ "enum":null
42
+ }
43
+ }
44
+ },
45
+ "provided_tools":[
46
+ {
47
+ "name":"create_datasource",
48
+ "description":"Creates a new datasource by indexing a Git repository for code analysis. The indexing process extracts code structure, dependencies, and other metadata to enable subsequent queries.",
49
+ "args_schema":{
50
+ "exclude_glob":{
51
+ "type":"String",
52
+ "required":false,
53
+ "description":"Comma separated string of file paths to exclude from indexing",
54
+ "enum":null
55
+ },
56
+ "analyzer":{
57
+ "type":"List",
58
+ "required":false,
59
+ "description":"Type of code analyzer to use for the project. Supported analyzers Java/TS/JS/C#/C++. If not specified best matching analyzer will be chosen automatically.",
60
+ "enum":[
61
+ "Java",
62
+ "TS",
63
+ "JS",
64
+ "C#",
65
+ "C++",
66
+ "Other"
67
+ ]
68
+ },
69
+ "datasource_root":{
70
+ "type":"String",
71
+ "required":true,
72
+ "description":"Root directory of the project to be indexed",
73
+ "enum":null
74
+ }
75
+ },
76
+ "tool_metadata":{
77
+ "tool_type":"stateful",
78
+ "tool_purpose":"life_cycle_management",
79
+ "tool_action_type":"create"
80
+ },
81
+ "tool_result_type":"Json",
82
+ "sync_invocation_supported":false,
83
+ "async_invocation_supported":true
84
+ },
85
+ {
86
+ "name":"reindex_datasource",
87
+ "description":"Updates an existing datasource by re-indexing the associated Git repository to incorporate the latest changes and maintain synchronization with the current codebase.",
88
+ "args_schema":{
89
+
90
+ },
91
+ "tool_metadata":{
92
+ "tool_type":"stateful",
93
+ "tool_purpose":"life_cycle_management",
94
+ "tool_action_type":"modify"
95
+ },
96
+ "tool_result_type":"Json",
97
+ "sync_invocation_supported":false,
98
+ "async_invocation_supported":true
99
+ },
100
+ {
101
+ "name":"delete_datasource",
102
+ "description":"Removes an existing datasource and all its indexed data from the system, freeing up resources and cleaning up stale references.",
103
+ "args_schema":{
104
+
105
+ },
106
+ "tool_metadata":{
107
+ "tool_type":"stateful",
108
+ "tool_purpose":"life_cycle_management",
109
+ "tool_action_type":"remove"
110
+ },
111
+ "tool_result_type":"Json",
112
+ "sync_invocation_supported":false,
113
+ "async_invocation_supported":true
114
+ },
115
+ {
116
+ "name":"get_files_tree",
117
+ "description":"Retrieves a hierarchical representation of the file system structure of the indexed repository, showing directories and files in a tree format for easy navigation.",
118
+ "args_schema":{
119
+ "path":{
120
+ "type":"String",
121
+ "required":true,
122
+ "description":"Relative path within the repository to start the tree structure from",
123
+ "enum":null
124
+ },
125
+ "level":{
126
+ "type":"Number",
127
+ "required":false,
128
+ "description":"Maximum depth of the tree structure, defaults to full depth",
129
+ "enum":null
130
+ },
131
+ "limit":{
132
+ "type":"Number",
133
+ "required":false,
134
+ "description":"Maximum number of files to include in the tree structure, defaults to all files",
135
+ "enum":null
136
+ }
137
+ },
138
+ "tool_metadata":{
139
+ "tool_type":"stateful",
140
+ "tool_purpose":"data_retrieval",
141
+ "tool_action_type":null
142
+ },
143
+ "tool_result_type":"String",
144
+ "sync_invocation_supported":true,
145
+ "async_invocation_supported":false
146
+ },
147
+ {
148
+ "name":"get_files_list",
149
+ "description":"Retrieves a list of files and directories within the specified path in the indexed repository, showing file names and types for easy reference.",
150
+ "args_schema":{
151
+ "path":{
152
+ "type":"String",
153
+ "required":true,
154
+ "description":"Relative path within the repository to list files from",
155
+ "enum":null
156
+ },
157
+ "limit":{
158
+ "type":"Number",
159
+ "required":false,
160
+ "description":"Maximum number of files to include in the list, defaults to all files",
161
+ "enum":null
162
+ },
163
+ "recursive":{
164
+ "type":"Boolean",
165
+ "required":false,
166
+ "description":"Flag to include files from subdirectories recursively, defaults to false",
167
+ "enum":null
168
+ }
169
+ },
170
+ "tool_metadata":{
171
+ "tool_type":"stateful",
172
+ "tool_purpose":"data_retrieval",
173
+ "tool_action_type":null
174
+ },
175
+ "tool_result_type":"Json",
176
+ "sync_invocation_supported":true,
177
+ "async_invocation_supported":false
178
+ },
179
+ {
180
+ "name":"get_code_members",
181
+ "description":"Extracts and returns structured information about code components such as classes, methods, functions, and variables within specified file in the indexed repository.",
182
+ "args_schema":{
183
+ "file_path":{
184
+ "type":"String",
185
+ "required":true,
186
+ "description":"Path of the file to extract code members from",
187
+ "enum":null
188
+ },
189
+ "start_line":{
190
+ "type":"Number",
191
+ "required":false,
192
+ "description":"Starting line number to extract code members from, defaults to 1",
193
+ "enum":null
194
+ },
195
+ "end_line":{
196
+ "type":"Number",
197
+ "required":false,
198
+ "description":"Ending line number to extract code members till, defaults to end of file",
199
+ "enum":null
200
+ }
201
+ },
202
+ "tool_metadata":{
203
+ "tool_type":"stateful",
204
+ "tool_purpose":"data_retrieval",
205
+ "tool_action_type":null
206
+ },
207
+ "tool_result_type":"Json",
208
+ "sync_invocation_supported":false,
209
+ "async_invocation_supported":true
210
+ },
211
+ {
212
+ "name":"get_trimmed_code",
213
+ "description":"Retrieves a simplified version of code from specified files with non-essential elements (like comments and some whitespace) removed to focus on the core functionality.",
214
+ "args_schema":{
215
+ "file_path":{
216
+ "type":"String",
217
+ "required":true,
218
+ "description":"Path of the file to extract trimmed code from",
219
+ "enum":null
220
+ },
221
+ "exclude_private":{
222
+ "type":"Boolean",
223
+ "required":false,
224
+ "description":"Flag to exclude private members from the trimmed code, defaults to false",
225
+ "enum":null
226
+ },
227
+ "show_line_numbers":{
228
+ "type":"Boolean",
229
+ "required":false,
230
+ "description":"Flag to include line numbers in the trimmed code, defaults to false",
231
+ "enum":null
232
+ }
233
+ },
234
+ "tool_metadata":{
235
+ "tool_type":"stateful",
236
+ "tool_purpose":"data_retrieval",
237
+ "tool_action_type":null
238
+ },
239
+ "tool_result_type":"String",
240
+ "sync_invocation_supported":true,
241
+ "async_invocation_supported":false
242
+ },
243
+ {
244
+ "name":"get_code",
245
+ "description":"Fetches the complete, unmodified source code of specified files or code segments from the indexed repository, preserving all original formatting and comments.",
246
+ "args_schema":{
247
+ "file_path":{
248
+ "type":"String",
249
+ "required":true,
250
+ "description":"Path of the file to extract code from",
251
+ "enum":null
252
+ },
253
+ "start_line":{
254
+ "type":"Number",
255
+ "required":false,
256
+ "description":"Starting line number to extract code from, defaults to 1",
257
+ "enum":null
258
+ },
259
+ "show_line_numbers":{
260
+ "type":"Boolean",
261
+ "required":false,
262
+ "description":"Flag to include line numbers in the code, defaults to false",
263
+ "enum":null
264
+ },
265
+ "end_line":{
266
+ "type":"Number",
267
+ "required":false,
268
+ "description":"Ending line number to extract code till, defaults to end of file",
269
+ "enum":null
270
+ }
271
+ },
272
+ "tool_metadata":{
273
+ "tool_type":"stateful",
274
+ "tool_purpose":"data_retrieval",
275
+ "tool_action_type":null
276
+ },
277
+ "tool_result_type":"String",
278
+ "sync_invocation_supported":true,
279
+ "async_invocation_supported":false
280
+ },
281
+ {
282
+ "name":"get_metadata",
283
+ "description":"Retrieves metadata information about specified files in the indexed repository, including file size, line count, and other relevant details.",
284
+ "args_schema":{
285
+ "file_path":{
286
+ "type":"String",
287
+ "required":true,
288
+ "description":"Path of the file to extract code from",
289
+ "enum":null
290
+ }
291
+ },
292
+ "tool_metadata":{
293
+ "tool_type":"stateful",
294
+ "tool_purpose":"data_retrieval",
295
+ "tool_action_type":null
296
+ },
297
+ "tool_result_type":"String",
298
+ "sync_invocation_supported":true,
299
+ "async_invocation_supported":false
300
+ },
301
+ {
302
+ "name":"get_outgoing_dependencies",
303
+ "description":"Analyzes and returns information about external dependencies and imports used by specified files or code components, helping to understand code relationships and dependency chains.",
304
+ "args_schema":{
305
+ "file_path":{
306
+ "type":"String",
307
+ "required":true,
308
+ "description":"Path of the file to get outgoing dependencies from",
309
+ "enum":null
310
+ },
311
+ "start_line":{
312
+ "type":"Number",
313
+ "required":false,
314
+ "description":"Starting line number to get outgoing dependencies from, defaults to 1",
315
+ "enum":null
316
+ },
317
+ "end_line":{
318
+ "type":"Number",
319
+ "required":false,
320
+ "description":"Ending line number to get outgoing dependencies till, defaults to end of file",
321
+ "enum":null
322
+ }
323
+ },
324
+ "tool_metadata":{
325
+ "tool_type":"stateful",
326
+ "tool_purpose":"data_retrieval",
327
+ "tool_action_type":null
328
+ },
329
+ "tool_result_type":"Json",
330
+ "sync_invocation_supported":true,
331
+ "async_invocation_supported":false
332
+ }
333
+ ]
334
+ },
335
+ {
336
+ "toolkit_id":"98212b72-8b83-4d70-852f-49f0df28a0d4",
337
+ "name":"TestToolkit",
338
+ "description":"Tst toolkit",
339
+ "toolkit_config":{
340
+ "type":"test toolkit",
341
+ "description":"Configuration for connecting to GitHub repositories to access code for indexing and analysis.",
342
+ "parameters":{
343
+
344
+ }
345
+ },
346
+ "provided_tools":[
347
+ {
348
+ "name":"test_tool",
349
+ "description":"Some test tools",
350
+ "args_schema":{
351
+ "service_url":{
352
+ "type":"String",
353
+ "required":true,
354
+ "description":"The url of the service",
355
+ "enum":null
356
+ },
357
+ "exclude_glob":{
358
+ "type":"String",
359
+ "required":false,
360
+ "description":"Comma separated string of file paths to exclude from indexing",
361
+ "enum":null
362
+ },
363
+ "service_method":{
364
+ "type":"String",
365
+ "required":true,
366
+ "description":"The token to access the service",
367
+ "enum":null
368
+ }
369
+ },
370
+ "tool_metadata":{
371
+ "tool_type":null,
372
+ "tool_purpose":null,
373
+ "tool_action_type":null
374
+ },
375
+ "tool_result_type":"Json",
376
+ "sync_invocation_supported":false,
377
+ "async_invocation_supported":true
378
+ }
379
+ ]
380
+ }
381
+ ]
382
+ }