codemie-test-harness 0.1.136__py3-none-any.whl → 0.1.138__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of codemie-test-harness might be problematic. Click here for more details.

Files changed (29) hide show
  1. codemie_test_harness/tests/__init__.py +1 -0
  2. codemie_test_harness/tests/assistant/test_assistants.py +2 -0
  3. codemie_test_harness/tests/conftest.py +17 -0
  4. codemie_test_harness/tests/service/test_assistant_service.py +349 -379
  5. codemie_test_harness/tests/service/test_datasource_service.py +276 -292
  6. codemie_test_harness/tests/service/test_integration_service.py +133 -122
  7. codemie_test_harness/tests/service/test_llm_service.py +16 -17
  8. codemie_test_harness/tests/service/test_task_service.py +108 -120
  9. codemie_test_harness/tests/service/test_user_service.py +36 -19
  10. codemie_test_harness/tests/service/test_workflow_execution_service.py +142 -169
  11. codemie_test_harness/tests/service/test_workflow_service.py +145 -144
  12. codemie_test_harness/tests/test_data/cloud_tools_test_data.py +5 -1
  13. codemie_test_harness/tests/test_data/direct_tools/cloud_tools_test_data.py +5 -1
  14. codemie_test_harness/tests/test_data/direct_tools/codebase_tools_test_data.py +28 -159
  15. codemie_test_harness/tests/test_data/integrations_test_data.py +10 -2
  16. codemie_test_harness/tests/test_data/llm_test_data.py +0 -1
  17. codemie_test_harness/tests/test_data/vcs_tools_test_data.py +4 -1
  18. codemie_test_harness/tests/utils/assistant_utils.py +39 -4
  19. codemie_test_harness/tests/utils/aws_parameters_store.py +1 -1
  20. codemie_test_harness/tests/utils/llm_utils.py +9 -0
  21. codemie_test_harness/tests/utils/search_utils.py +11 -5
  22. codemie_test_harness/tests/utils/user_utils.py +9 -0
  23. codemie_test_harness/tests/utils/workflow_utils.py +34 -6
  24. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py +3 -3
  25. codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py +3 -3
  26. {codemie_test_harness-0.1.136.dist-info → codemie_test_harness-0.1.138.dist-info}/METADATA +2 -2
  27. {codemie_test_harness-0.1.136.dist-info → codemie_test_harness-0.1.138.dist-info}/RECORD +29 -27
  28. {codemie_test_harness-0.1.136.dist-info → codemie_test_harness-0.1.138.dist-info}/WHEEL +0 -0
  29. {codemie_test_harness-0.1.136.dist-info → codemie_test_harness-0.1.138.dist-info}/entry_points.txt +0 -0
@@ -22,6 +22,8 @@ class AssistantUtils(BaseUtils):
22
22
  toolkits=(),
23
23
  context=(),
24
24
  mcp_servers=(),
25
+ slug=None,
26
+ description=None,
25
27
  system_prompt="",
26
28
  assistant_name=None,
27
29
  shared=False,
@@ -37,8 +39,8 @@ class AssistantUtils(BaseUtils):
37
39
  )
38
40
  request = AssistantCreateRequest(
39
41
  name=assistant_name,
40
- slug=assistant_name,
41
- description="Integration test assistant",
42
+ slug=slug if slug else assistant_name,
43
+ description=description if description else "Integration test assistant",
42
44
  shared=shared,
43
45
  system_prompt=system_prompt,
44
46
  project=project_name if project_name else PROJECT,
@@ -62,10 +64,12 @@ class AssistantUtils(BaseUtils):
62
64
  mcp_servers=(),
63
65
  system_prompt="",
64
66
  assistant_name=None,
67
+ slug=None,
65
68
  shared=False,
66
69
  project_name=None,
67
70
  top_p=None,
68
71
  temperature=None,
72
+ description=None,
69
73
  ):
70
74
  # Generate a random name if assistant_name is not provided
71
75
  assistant_name = assistant_name if assistant_name else get_random_name()
@@ -73,6 +77,7 @@ class AssistantUtils(BaseUtils):
73
77
  llm_model_type = (
74
78
  llm_model_type if llm_model_type else self.client.llms.list()[0].base_name
75
79
  )
80
+ slug = slug if slug else assistant_name
76
81
  response = self.send_create_assistant_request(
77
82
  llm_model_type=llm_model_type,
78
83
  toolkits=toolkits,
@@ -80,10 +85,12 @@ class AssistantUtils(BaseUtils):
80
85
  mcp_servers=mcp_servers,
81
86
  system_prompt=system_prompt,
82
87
  assistant_name=assistant_name,
88
+ slug=slug,
83
89
  shared=shared,
84
90
  project_name=project_name,
85
91
  top_p=top_p,
86
92
  temperature=temperature,
93
+ description=description,
87
94
  )
88
95
 
89
96
  return wait_for_entity(
@@ -95,6 +102,7 @@ class AssistantUtils(BaseUtils):
95
102
  self,
96
103
  assistant,
97
104
  user_prompt,
105
+ minimal_response=True,
98
106
  stream=False,
99
107
  tools_config=None,
100
108
  file_urls=(),
@@ -113,9 +121,11 @@ class AssistantUtils(BaseUtils):
113
121
  metadata={"langfuse_traces_enabled": LANGFUSE_TRACES_ENABLED},
114
122
  )
115
123
 
116
- return self.client.assistants.chat(
124
+ response = self.client.assistants.chat(
117
125
  assistant_id=assistant.id, request=chat_request
118
- ).generated
126
+ )
127
+
128
+ return response.generated if minimal_response else response
119
129
 
120
130
  def send_chat_request(
121
131
  self,
@@ -136,6 +146,25 @@ class AssistantUtils(BaseUtils):
136
146
  def get_assistant_tools(self):
137
147
  return self.client.assistants.get_tools()
138
148
 
149
+ def get_assistants(
150
+ self,
151
+ minimal_response=True,
152
+ filters=None,
153
+ scope="visible_to_user",
154
+ page=0,
155
+ per_page=12,
156
+ ):
157
+ return self.client.assistants.list(
158
+ minimal_response=minimal_response,
159
+ filters=filters,
160
+ scope=scope,
161
+ page=page,
162
+ per_page=per_page,
163
+ )
164
+
165
+ def get_tasks(self, task_id):
166
+ return self.client.tasks.get(task_id)
167
+
139
168
  def get_assistant_by_id(self, assistant_id: str):
140
169
  return self.client.assistants.get(assistant_id)
141
170
 
@@ -147,6 +176,9 @@ class AssistantUtils(BaseUtils):
147
176
  def get_assistant_by_slug(self, slug: str):
148
177
  return self.client.assistants.get_by_slug(slug)
149
178
 
179
+ def get_prebuilt_assistant_by_slug(self, slug: str):
180
+ return self.client.assistants.get_prebuilt_by_slug(slug)
181
+
150
182
  def update_assistant(
151
183
  self, assistant_id: str, update_request: AssistantUpdateRequest
152
184
  ):
@@ -167,3 +199,6 @@ class AssistantUtils(BaseUtils):
167
199
  )
168
200
  payload = ExportAssistantPayload(env_vars=env_vars)
169
201
  return self.client.assistants.export(assistant_id, payload)
202
+
203
+ def send_evaluate_assistant_request(self, assistant_id: str, evaluation_request):
204
+ return self.client.assistants.evaluate(assistant_id, evaluation_request)
@@ -420,7 +420,7 @@ class CredentialsUtil:
420
420
  elastic_creds = (
421
421
  elastic_creds.get("elasticsearch", {})
422
422
  if os.getenv("ENV") == "preview"
423
- else elastic_creds.get("sandbox", {})
423
+ else elastic_creds.get("sandbox", {}).get("elasticsearch", {})
424
424
  )
425
425
  return [
426
426
  CredentialValues(key="url", value=elastic_creds.get("url")),
@@ -0,0 +1,9 @@
1
+ from codemie_test_harness.tests.utils.base_utils import BaseUtils
2
+
3
+
4
+ class LLMUtils(BaseUtils):
5
+ def list_llm_models(self):
6
+ return self.client.llms.list()
7
+
8
+ def list_embedding_llm_models(self):
9
+ return self.client.llms.list_embeddings()
@@ -6,9 +6,14 @@ class SearchUtils(BaseUtils):
6
6
  def list_assistants(self, filters):
7
7
  return self.client.assistants.list(per_page=100, filters=filters)
8
8
 
9
- def list_workflows(self, filters=None, projects=None):
9
+ def list_workflows(self, page=0, per_page=100, filters=None, projects=None):
10
10
  return self.client.workflows.list(
11
- per_page=100, filters=filters, projects=projects
11
+ page=page, per_page=per_page, filters=filters, projects=projects
12
+ )
13
+
14
+ def list_workflow_executions(self, test_workflow_id, page=0, per_page=10):
15
+ return self.client.workflows.executions(test_workflow_id).list(
16
+ page=page, per_page=per_page
12
17
  )
13
18
 
14
19
  def list_data_sources(
@@ -18,18 +23,19 @@ class SearchUtils(BaseUtils):
18
23
  owner=None,
19
24
  status=None,
20
25
  filters=None,
26
+ per_page=100,
21
27
  ):
22
28
  return self.client.datasources.list(
23
- per_page=100,
24
29
  filters=filters,
25
30
  owner=owner,
26
31
  status=status,
27
32
  datasource_types=datasource_types,
28
33
  projects=projects,
34
+ per_page=per_page,
29
35
  )
30
36
 
31
- def list_integrations(self, setting_type=None, filters=None):
37
+ def list_integrations(self, page=0, per_page=100, setting_type=None, filters=None):
32
38
  setting_type = IntegrationType.USER if setting_type is None else setting_type
33
39
  return self.client.integrations.list(
34
- per_page=100, setting_type=setting_type, filters=filters
40
+ page=page, per_page=per_page, setting_type=setting_type, filters=filters
35
41
  )
@@ -0,0 +1,9 @@
1
+ from codemie_test_harness.tests.utils.base_utils import BaseUtils
2
+
3
+
4
+ class UserUtils(BaseUtils):
5
+ def get_about_me(self):
6
+ return self.client.users.about_me()
7
+
8
+ def get_user_data(self):
9
+ return self.client.users.get_data()
@@ -50,6 +50,7 @@ class WorkflowUtils(BaseUtils):
50
50
  self,
51
51
  workflow_yaml,
52
52
  workflow_type=WorkflowMode.SEQUENTIAL,
53
+ description=None,
53
54
  workflow_name=None,
54
55
  shared=False,
55
56
  project=None,
@@ -58,7 +59,7 @@ class WorkflowUtils(BaseUtils):
58
59
 
59
60
  request = WorkflowCreateRequest(
60
61
  name=workflow_name,
61
- description="Test Workflow",
62
+ description=description if description else "Test Workflow",
62
63
  project=project if project else PROJECT,
63
64
  mode=workflow_type,
64
65
  yaml_config=workflow_yaml,
@@ -73,6 +74,7 @@ class WorkflowUtils(BaseUtils):
73
74
  self,
74
75
  workflow_type,
75
76
  workflow_yaml,
77
+ description=None,
76
78
  workflow_name=None,
77
79
  shared=False,
78
80
  project_name=None,
@@ -81,7 +83,12 @@ class WorkflowUtils(BaseUtils):
81
83
  Sends request to workflow creation endpoint and waits for workflow created.
82
84
  """
83
85
  response = self.send_create_workflow_request(
84
- workflow_yaml, workflow_type, workflow_name, shared, project_name
86
+ workflow_yaml,
87
+ workflow_type,
88
+ description,
89
+ workflow_name,
90
+ shared,
91
+ project_name,
85
92
  )
86
93
 
87
94
  return wait_for_entity(
@@ -104,28 +111,49 @@ class WorkflowUtils(BaseUtils):
104
111
  wait_for_completion(execution_state_service=states_service, state_id=state.id)
105
112
  return states_service.get_output(state_id=state.id).output
106
113
 
114
+ def run_workflow(self, workflow_id, user_input=""):
115
+ return self.client.workflows.run(workflow_id=workflow_id, user_input=user_input)
116
+
117
+ def get_workflow(self, workflow_id):
118
+ return self.client.workflows.get(workflow_id)
119
+
120
+ def get_workflow_execution(self, test_workflow_id, execution_id):
121
+ return self.client.workflows.executions(test_workflow_id).get(execution_id)
122
+
123
+ def get_workflow_executions_states(self, test_workflow_id, execution_id):
124
+ return self.client.workflows.executions(test_workflow_id).states(execution_id)
125
+
126
+ def send_update_workflow_request(
127
+ self,
128
+ workflow_id,
129
+ request: WorkflowUpdateRequest,
130
+ ):
131
+ return self.client.workflows.update(workflow_id, request)
132
+
107
133
  def update_workflow(
108
134
  self,
109
135
  workflow,
110
136
  name=None,
111
137
  description=None,
138
+ project=None,
112
139
  yaml_config=None,
113
140
  mode=None,
114
141
  shared=None,
115
142
  ):
143
+ name = name if name else workflow.name
116
144
  request = WorkflowUpdateRequest(
117
- name=name if name else workflow.name,
118
- project=workflow.project,
145
+ name=name,
146
+ project=project if project else workflow.project,
119
147
  description=description if description else workflow.description,
120
148
  yaml_config=yaml_config if yaml_config else workflow.yaml_config,
121
149
  mode=mode if mode else workflow.mode,
122
150
  shared=shared if shared else workflow.shared,
123
151
  )
124
- self.client.workflows.update(workflow.id, request)
152
+ self.send_update_workflow_request(workflow.id, request=request)
125
153
 
126
154
  return wait_for_entity(
127
155
  lambda: self.client.workflows.list(per_page=200),
128
- entity_name=workflow.name,
156
+ entity_name=name,
129
157
  )
130
158
 
131
159
  def get_prebuilt_workflows(self):
@@ -45,7 +45,7 @@ def test_workflow_with_cloud_tools_direct(
45
45
  _workflow.id, tool_and_state_name, user_input=json.dumps(prompt)
46
46
  )
47
47
 
48
- similarity_check.check_similarity(response, expected_response, 75)
48
+ similarity_check.check_similarity(response, expected_response)
49
49
 
50
50
 
51
51
  @pytest.mark.regression
@@ -80,7 +80,7 @@ def test_workflow_with_cloud_tools_with_hardcoded_args(
80
80
  )
81
81
  response = workflow_utils.execute_workflow(_workflow.id, tool_and_state_name)
82
82
 
83
- similarity_check.check_similarity(response, expected_response, 75)
83
+ similarity_check.check_similarity(response, expected_response)
84
84
 
85
85
 
86
86
  @pytest.mark.regression
@@ -120,4 +120,4 @@ def test_workflow_with_cloud_tools_with_overriding_args(
120
120
  _workflow.id, tool_and_state_name, user_input=json.dumps(prompt)
121
121
  )
122
122
 
123
- similarity_check.check_similarity(response, expected_response, 75)
123
+ similarity_check.check_similarity(response, expected_response)
@@ -29,7 +29,7 @@ def test_workflow_with_research_tools_direct(
29
29
  response = workflow_utils.execute_workflow(
30
30
  test_workflow.id, tool_and_state_name, json.dumps(prompt)
31
31
  )
32
- similarity_check.check_similarity(response, expected_response, 80)
32
+ similarity_check.check_similarity(response, expected_response)
33
33
 
34
34
 
35
35
  @pytest.mark.regression
@@ -49,7 +49,7 @@ def test_workflow_with_research_tools_with_hardcoded_args(
49
49
  tool_and_state_name = get_random_name()
50
50
  test_workflow = workflow_with_tool(tool_and_state_name, tool_name, tool_args=prompt)
51
51
  response = workflow_utils.execute_workflow(test_workflow.id, tool_and_state_name)
52
- similarity_check.check_similarity(response, expected_response, 80)
52
+ similarity_check.check_similarity(response, expected_response)
53
53
 
54
54
 
55
55
  @pytest.mark.regression
@@ -77,4 +77,4 @@ def test_workflow_with_research_tools_with_overriding_args(
77
77
  response = workflow_utils.execute_workflow(
78
78
  test_workflow.id, tool_and_state_name, user_input=json.dumps(prompt)
79
79
  )
80
- similarity_check.check_similarity(response, expected_response, 80)
80
+ similarity_check.check_similarity(response, expected_response)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: codemie-test-harness
3
- Version: 0.1.136
3
+ Version: 0.1.138
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.136)
16
+ Requires-Dist: codemie-sdk-python (==0.1.138)
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)
@@ -9,7 +9,7 @@ codemie_test_harness/cli/constants.py,sha256=956_apPJ4MjhnKo1ZtDooXCd2N89J3vyAB-
9
9
  codemie_test_harness/cli/runner.py,sha256=5VAL4noqiKrGjo5oYVJKzt4QNmkZFTe1Mw6Mll9uGfc,2349
10
10
  codemie_test_harness/cli/utils.py,sha256=NlRa8VFbXTbD74jfUaSqbccGNu2R1dUIg8d5SyDTmIM,1136
11
11
  codemie_test_harness/pytest.ini,sha256=Sxr-zVHZ9hJt2Ks0x7xxjh_SA-KhD-vRrDWAfDd9QKs,192
12
- codemie_test_harness/tests/__init__.py,sha256=ASrWeb7WAqehvQkvz3g6h57stJuWAPj7jMG6vPvYalE,1257
12
+ codemie_test_harness/tests/__init__.py,sha256=yuj7WhK2zp4QqUjW0LMpTvewE2SY2RwWO6sx-lpNxJE,1316
13
13
  codemie_test_harness/tests/assistant/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  codemie_test_harness/tests/assistant/datasource/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  codemie_test_harness/tests/assistant/datasource/test_code_datasource.py,sha256=NZmw3efv_FBkyi-1FnkQjNknlg34w4PEFv0rodUvCFw,2599
@@ -21,7 +21,7 @@ codemie_test_harness/tests/assistant/default_integrations/__init__.py,sha256=47D
21
21
  codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool.py,sha256=FxYeYhc7EHpFmnDrthQl73BZg6p0beW0JJ5FUj6Kk88,7232
22
22
  codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_kit.py,sha256=XgRn2bNCazNO5nml0ZXWqv4VuDGocCl6PbP5bopnyVA,7503
23
23
  codemie_test_harness/tests/assistant/default_integrations/test_default_integrations_for_tool_with_datasource.py,sha256=pYbhC7wSt5ekL-OERggxiuaAZYvxAtT2QdKiKfLVzi4,9809
24
- codemie_test_harness/tests/assistant/test_assistants.py,sha256=O5wQ6O9cyVv18Af3mni7HAzS4S6-2ssO_ZPRuP4xeIE,12044
24
+ codemie_test_harness/tests/assistant/test_assistants.py,sha256=eSLZ6hIaQZcFs32V65_ZZwhsbZztslmoxgV2BzyPy6I,12157
25
25
  codemie_test_harness/tests/assistant/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  codemie_test_harness/tests/assistant/tools/ado/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  codemie_test_harness/tests/assistant/tools/ado/test_assistant_for_ado_test_plan_tools.py,sha256=jfkd8KoVRhyQ5PnjU5gdtmHp34oaayBFxFE-B329RDc,4925
@@ -55,7 +55,7 @@ codemie_test_harness/tests/assistant/tools/servicenow/__init__.py,sha256=47DEQpj
55
55
  codemie_test_harness/tests/assistant/tools/servicenow/test_servicenow_tools.py,sha256=JV_n6COaCsd0_rxQBJvvLZfPdo8BsCbG8Ti-UpzFvfQ,644
56
56
  codemie_test_harness/tests/assistant/tools/vcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  codemie_test_harness/tests/assistant/tools/vcs/test_assistant_with_vcs_tools.py,sha256=5-QybLWmYSqHG4Sqr-IN-vNcStV4skSwCJQN44Nfats,922
58
- codemie_test_harness/tests/conftest.py,sha256=2EFM-VIh5BvJAlVCK4GTggGu4UbHWt5_dgFbuBcY_c0,26085
58
+ codemie_test_harness/tests/conftest.py,sha256=P9f4BYHxjG7duqpaPwAQOZQ_PHVmF5yA0fBrq-wmDKo,26523
59
59
  codemie_test_harness/tests/e2e/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
60
  codemie_test_harness/tests/e2e/test_e2e.py,sha256=RUvSu_uNInU1OFfkNft3-Cmd0KZV7JdHqCxSK2ZWXHw,6257
61
61
  codemie_test_harness/tests/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -80,27 +80,27 @@ codemie_test_harness/tests/search/test_search_datasource.py,sha256=zQBAdYme-EZRS
80
80
  codemie_test_harness/tests/search/test_search_integration.py,sha256=icfjwQgAgk-eMMsHNZ0jwQjL85lMyjcwaik_JYjUoSg,4316
81
81
  codemie_test_harness/tests/search/test_search_workflow.py,sha256=u8eY6-r3Sxxfid1lP6RayxdLrTJVeDh2t90q_7IXIlM,2672
82
82
  codemie_test_harness/tests/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
- codemie_test_harness/tests/service/test_assistant_service.py,sha256=XgqLZt__r_yaeOIpuRSGjF-o5JeaTfOO7XT4JhZ3siY,21191
84
- codemie_test_harness/tests/service/test_datasource_service.py,sha256=SMu2kwgHfD-4acmLYN9a6fZn-e5MCvTfjWZX0sMDT14,17265
85
- codemie_test_harness/tests/service/test_integration_service.py,sha256=Jw1VBMCyXOtlUprGXa_If9N8XkwbJinPLG-erQNKRK4,8025
86
- codemie_test_harness/tests/service/test_llm_service.py,sha256=lU0O9Q_PMkBr9sPtIPMw_tAjEjn4NY6JVgORXIND1q0,690
87
- codemie_test_harness/tests/service/test_task_service.py,sha256=8HzVewxcVp8rqlGxlPkFHaxcClsenZzJtNwuOMtkGTs,5616
88
- codemie_test_harness/tests/service/test_user_service.py,sha256=MfmJw6A-vIjgvj0JNY3Veu1cH8r3AY3T4Dv6fWTUqh8,814
89
- codemie_test_harness/tests/service/test_workflow_execution_service.py,sha256=F5V6H6KGLYeYAeRoOMTsyst2wXwlv8cUQVe7BTE5BkM,6443
90
- codemie_test_harness/tests/service/test_workflow_service.py,sha256=y3k_MS05bU-Yp30FJksXnFyyg2Z8GYm8qH2Yrx0XsOM,8809
83
+ codemie_test_harness/tests/service/test_assistant_service.py,sha256=dC0Vwv9Od5c0N3kxdA7udAcNJGvErSOhicOhgCexLyg,17765
84
+ codemie_test_harness/tests/service/test_datasource_service.py,sha256=_mER2wtvZr4SqCd6rJnRBG6q6-kDtS63xY5ZsDCdNt4,15444
85
+ codemie_test_harness/tests/service/test_integration_service.py,sha256=ODQJhBRELTIy75aFpZt_-axJHbB1wwrX6oz7JGNjtus,7529
86
+ codemie_test_harness/tests/service/test_llm_service.py,sha256=aBJz6Z82JzeWeTuhHTVaRm1Cm7lJMKGRMQ1f6rIalTQ,543
87
+ codemie_test_harness/tests/service/test_task_service.py,sha256=kxbZBbxyTg4YsRhteMBEoaqiLwbcF9h03fQ6e9m9xTY,4562
88
+ codemie_test_harness/tests/service/test_user_service.py,sha256=NqSsxOLTGg7p7juHLFP6StEs2Qx_wfct9R7F83pe2JU,1135
89
+ codemie_test_harness/tests/service/test_workflow_execution_service.py,sha256=dUNon4lHbzPIVM5Y9jwZw7PNTK1c9g-X4m98XQtUYDA,5356
90
+ codemie_test_harness/tests/service/test_workflow_service.py,sha256=QyxtorhaCI1oE2D1OLx7X7jAlBv0kwwFpQztvV1nUus,8152
91
91
  codemie_test_harness/tests/test_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
92
  codemie_test_harness/tests/test_data/ado_test_plan_tools_test_data.py,sha256=Al5u4HNfrcoj-b072uEGsqUqjKqwXLGJXKQ0QeJT3PI,5778
93
93
  codemie_test_harness/tests/test_data/ado_wiki_tools_test_data.py,sha256=xvgEja5vE0l41sP4fE0stdFLQ0M201FWynOCEcRYufE,3188
94
94
  codemie_test_harness/tests/test_data/ado_work_item_tools_test_data.py,sha256=MHou6QGjufyX5t1oexnq2Y4UCjlE17eeyMuIz6Ml62s,5693
95
- codemie_test_harness/tests/test_data/cloud_tools_test_data.py,sha256=vq0a5vx9cyxVnen-Cx5KCg_szO4Lje0UfFbp85XtaxY,4701
95
+ codemie_test_harness/tests/test_data/cloud_tools_test_data.py,sha256=hsNvSSx9c6fgdymgJ50kXbRZHxGvWK2aWTKumTrikiQ,4868
96
96
  codemie_test_harness/tests/test_data/codebase_tools_test_data.py,sha256=dpNKPtEZsBsjhnR3-pFBSkJRlExgjJ6fztK1spj04yI,3131
97
97
  codemie_test_harness/tests/test_data/data_management_tools_test_data.py,sha256=olCcn8If6AETpmgNBE-ekmXAKlPGqt1MHGkxLacdU_0,4115
98
98
  codemie_test_harness/tests/test_data/direct_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
99
  codemie_test_harness/tests/test_data/direct_tools/ado_test_plan_tools_test_data.py,sha256=bDhoeFRlmafSZdRgOTOz122Q5tja7TsqtOxSTypeGVA,13120
100
100
  codemie_test_harness/tests/test_data/direct_tools/ado_wiki_tools_test_data.py,sha256=qKNYW0kP32IQrRee8-H1mEWTUa5gb4UP0Me_4owtgeQ,1432
101
101
  codemie_test_harness/tests/test_data/direct_tools/ado_work_item_tools_test_data.py,sha256=L-MhuQyRxRbb1WDje1rONjIxc_QxkgzaM5ssMWglcp0,7417
102
- codemie_test_harness/tests/test_data/direct_tools/cloud_tools_test_data.py,sha256=aehfRdIo6uSh00jJUGhfXxdFIQa6_Rw7OUF6Lo1LXTM,35201
103
- codemie_test_harness/tests/test_data/direct_tools/codebase_tools_test_data.py,sha256=GYAs-CGyvZGxkuJKOi1Wod_hK1noSw8zmnlF7UE78eA,11087
102
+ codemie_test_harness/tests/test_data/direct_tools/cloud_tools_test_data.py,sha256=3uXaWnhncAWCqSBQN1-x0izIZLg6i0Kk45Qp6ROmTeU,35368
103
+ codemie_test_harness/tests/test_data/direct_tools/codebase_tools_test_data.py,sha256=BjN4tIs5t1JNgIL0HvzHBm4a5_vrGz_S2GT2ylg4jZM,5971
104
104
  codemie_test_harness/tests/test_data/direct_tools/data_management_tools_test_data.py,sha256=Eeba0oxKUmBEin2Scbv3VnLOEQRLmK6QR0qk5cRYRNM,1583
105
105
  codemie_test_harness/tests/test_data/direct_tools/direct_tools_test_data.py,sha256=y9awl1IA6EXGXyz05QzcNdt5z7Rk9J5LzIbfi4CFE3s,3233
106
106
  codemie_test_harness/tests/test_data/direct_tools/file_management_tools_test_data.py,sha256=8Y8D_pmHVnzhSnYNeiJng3dQYj5k1GkBZ8-BLHlB5kE,1380
@@ -132,8 +132,8 @@ codemie_test_harness/tests/test_data/files/test.yaml,sha256=3NDQyzwkRM5d6eCYMScN
132
132
  codemie_test_harness/tests/test_data/git_tools_test_data.py,sha256=7U05vLqkh5uJ0l_KJeHis549id1Of99K0jCsWOb0nXM,8485
133
133
  codemie_test_harness/tests/test_data/google_datasource_test_data.py,sha256=fhMJVTU0udINKtBQ750c_c279NzibGiZumnIaCPLtBo,511
134
134
  codemie_test_harness/tests/test_data/index_test_data.py,sha256=jSJ7YSNisFADONRKSwkLUhuOLrSRe_fZisWdjflOjE4,996
135
- codemie_test_harness/tests/test_data/integrations_test_data.py,sha256=0hAlRWzhNrWAXPczBK2_CGBJPKqJ7tYKft7o_enYILg,6265
136
- codemie_test_harness/tests/test_data/llm_test_data.py,sha256=4xXbCM9faOUZqMFX3I0aRl-qnESRTQD2_sEceKQMJ0I,2257
135
+ codemie_test_harness/tests/test_data/integrations_test_data.py,sha256=dPadoQCurmOtqhq5hcPe1hhuSZ6NYa4IZwdWMiMx2Tw,6599
136
+ codemie_test_harness/tests/test_data/llm_test_data.py,sha256=SJIBGtC8Ha7T0S7G9598PvHzzQIR6gg4HnNCtgYmLYw,2200
137
137
  codemie_test_harness/tests/test_data/mcp_server_test_data.py,sha256=dNtuJm47-F0OV5fIHUpb1Ko6VQOECWx2XDBuLyxtDzo,7671
138
138
  codemie_test_harness/tests/test_data/notification_tools_test_data.py,sha256=f5GSGGtcvoocE50jFZfBIMFLxPcFbaiVeYjgiyvaESs,828
139
139
  codemie_test_harness/tests/test_data/open_api_tools_test_data.py,sha256=XhVzelRXgLXHF2iIvhI70SP6qHQjT7QW70S06dF6XJI,2480
@@ -144,7 +144,7 @@ codemie_test_harness/tests/test_data/pm_tools_test_data.py,sha256=ctPwLSJYy7xPg4
144
144
  codemie_test_harness/tests/test_data/project_management_test_data.py,sha256=gdWlX6xhie7JpLurGjq5S8jBNLpp80fVQy5jV7BjNJk,1207
145
145
  codemie_test_harness/tests/test_data/research_tools_test_data.py,sha256=FtOhWp7PbRdw36IUIa46OBbE2wy8yKZkpI6uwCfSoXQ,4745
146
146
  codemie_test_harness/tests/test_data/servicenow_tools_test_data.py,sha256=PKw9zEYSNcQM1KApCSjsBiA_3Py0bNQI7clqw8cmT-s,1983
147
- codemie_test_harness/tests/test_data/vcs_tools_test_data.py,sha256=evIgaEUIKyCE6MxNCSRuv9mhE71KkQpS3G0hMXmn9C0,2309
147
+ codemie_test_harness/tests/test_data/vcs_tools_test_data.py,sha256=zG3yrrUiLdnKmcXXDvZznzTa17-DgzHClGKiI0z0cWU,2381
148
148
  codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_assistant_id.yaml,sha256=_cioQNq3icemob9u0i-hXkTy2nflzyP0Ce8FWiPG14M,265
149
149
  codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_assistant_in_state.yaml,sha256=t_W95zD5bfdGf3F6p64-2qBHz7SkL_7mFT675uieWZg,209
150
150
  codemie_test_harness/tests/test_data/workflow/invalid_config/invalid_data_source.yaml,sha256=Vwx3HyrQkL8sWNtfwL6d0qiJhru6X3ojKBASAzJeY9w,252
@@ -208,8 +208,8 @@ codemie_test_harness/tests/ui/test_workflow_executions_page.py,sha256=9GMFNKtIO3
208
208
  codemie_test_harness/tests/ui/test_workflow_templates.py,sha256=A6eaR-7M5VXoPlUJfKIAzqdxVquC1WnzwzMpOg74dwc,4558
209
209
  codemie_test_harness/tests/ui/test_workflows.py,sha256=_UQT9soqxV68aqFt0V3KJ3iJFA55kzE891EJIER9kk8,3464
210
210
  codemie_test_harness/tests/utils/__init__.py,sha256=Bu1sRfq1DeSYdW979HKcg3LcG-yYHjZWLsPDiy1Wmus,346
211
- codemie_test_harness/tests/utils/assistant_utils.py,sha256=2ziNJlLDDso-USjktN32bKX64x9pSkwC_Cj7rKEXlig,5419
212
- codemie_test_harness/tests/utils/aws_parameters_store.py,sha256=zpFR3PourK-jPOGkwoWOCx3YIHrx9TZkS5KF-QgbHJY,20612
211
+ codemie_test_harness/tests/utils/assistant_utils.py,sha256=jy3dFF4ZiT22Wippl1a5jIEAAyJ71P0ss8AIHPefz6k,6511
212
+ codemie_test_harness/tests/utils/aws_parameters_store.py,sha256=uwhvrk4qYYWLILS082SFAqQaGmhrW6aPmmJo-dPTN84,20637
213
213
  codemie_test_harness/tests/utils/base_utils.py,sha256=tfishCUxO3iEuasWOifoF9_fXspm4uIHS26Ryqu-NxA,5998
214
214
  codemie_test_harness/tests/utils/client_factory.py,sha256=Yyg2iXe7g7fIfIUbOH8z_8qgVo_lB-nYLOfCV5ONXFw,641
215
215
  codemie_test_harness/tests/utils/constants.py,sha256=lb6mgLjt0GM85Khs18rL1jnE9ILx8L811ykNhpF6IDA,1111
@@ -219,13 +219,15 @@ codemie_test_harness/tests/utils/gitbud_utils.py,sha256=UJ3RbhPSjHQSdos6S6zTR9iZ
219
219
  codemie_test_harness/tests/utils/http_utils.py,sha256=wjhttibzzNhleKzWgWC01Q0Y5sV9scu-Ski-qgJPd-Q,4179
220
220
  codemie_test_harness/tests/utils/integration_utils.py,sha256=FN9OORtIahATyjzfvwVmJ96mX0BTjk_xDPTQYBLS_8E,4417
221
221
  codemie_test_harness/tests/utils/json_utils.py,sha256=PWO4Ixxgta_zkdq-8umcP9qwDSi9JFxMuaT2NW3v1eI,226
222
+ codemie_test_harness/tests/utils/llm_utils.py,sha256=JPAlMYh-wQH4any5HWdpQOejCbhjqJCsztRU_fUq-SU,257
222
223
  codemie_test_harness/tests/utils/logger_util.py,sha256=6Kca4pLxyTYnUgm2i3j19DdZSH6XUSGXPjHtExx33QU,828
223
224
  codemie_test_harness/tests/utils/notification_utils.py,sha256=8HWgkTjcMDOoXq_8vzKVx8iSoVb4jSlx2_xJvRxa3V0,3480
224
225
  codemie_test_harness/tests/utils/provider_utils.py,sha256=cmem2-IaJmQZ_X_5UL1mOiZo8dZ_jDxV-OAaZY7Ao_M,5161
225
226
  codemie_test_harness/tests/utils/pytest_utils.py,sha256=k-mEjX2qpnh37sqKpJqYhZT6BV9974y_KaAhv8Xj9GI,284
226
- codemie_test_harness/tests/utils/search_utils.py,sha256=xxU30zMcVkb_rMPMjjDTt5_iEoMOLU4xCE_OmiTToMY,1129
227
+ codemie_test_harness/tests/utils/search_utils.py,sha256=SrXiB2d9wiI5ka9bgg0CD73GOX_1mqi2Hz5FBm5DsEU,1435
227
228
  codemie_test_harness/tests/utils/similarity_check.py,sha256=1U66NGh6esISKABodtVobE2WnuFt0f6vcK3qUri6ZqU,1485
228
- codemie_test_harness/tests/utils/workflow_utils.py,sha256=YRF6B4WPyaFILW69yu8BOH2BzW8Rmvl94HTZ3HVcNDQ,5068
229
+ codemie_test_harness/tests/utils/user_utils.py,sha256=zJNrmL3Fb7iGuaVRobUMwJ2Og6NqEPcM_9lw60m18T8,242
230
+ codemie_test_harness/tests/utils/workflow_utils.py,sha256=fs6fKzWCthOKxV4ew33m4myTipFEyvwuQwa5qsHkMVA,6046
229
231
  codemie_test_harness/tests/utils/yaml_utils.py,sha256=y9fUf4u4G4SoCktPOwaC5x71iaDKhktbz_XUfI9kNis,1661
230
232
  codemie_test_harness/tests/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
231
233
  codemie_test_harness/tests/workflow/assistant_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -273,7 +275,7 @@ codemie_test_harness/tests/workflow/direct_tools_calling/default_integrations/te
273
275
  codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_test_plan_tools.py,sha256=UUSgyhE7GKAkyCQMUm7Y2VkQkiR7-Fr5robBpLvoH-M,2685
274
276
  codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_wiki_tools.py,sha256=FOQEqm0u4UvRAfjJFo2API-qySGy4sqKD-hwE1Lm6Js,2744
275
277
  codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_ado_work_item_tools.py,sha256=4h3z3tUTqBLZPjDQCbnW2CkoGX0gEjZlDkYbLHSilZA,2799
276
- codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py,sha256=uYK0ASA0BpVYh_ozvVRLkEkHABDlkuu0VxuwyXBkHIQ,3539
278
+ codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_cloud_tools.py,sha256=L6axcgk45OtFhmn9kinalmRv28CRu0YTuqfpYchuR88,3527
277
279
  codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_codebase_tools.py,sha256=Kul_o9d4KIPzWUhKNOv82A9S_8-Z0ALaTeO5AO2Ltzs,3821
278
280
  codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_data_management_tools.py,sha256=eIIHRovi_tNvINjOVYOQRB9uWIzfebwnDF4fWdx47Og,3899
279
281
  codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_file_management_tools.py,sha256=W1Q8fwfUzslnMQX7ObM8o1r5kx_GyZTjVGh-1979VNQ,2673
@@ -281,7 +283,7 @@ codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_noti
281
283
  codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_open_api_tools.py,sha256=9il7_0U3m8Ekvw5bCP0WQlJ-27RpKhViyqlrjqsS5_Y,2949
282
284
  codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_plugin_tools.py,sha256=dm36y1xpeN8Xs9eUAjcz-Dp71x669-sZqwO64V2Kk84,3946
283
285
  codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_project_management_tools.py,sha256=djhzTGSNWFUQJgPrKmkSuivXVff-cHlc1LF0vFsNHSM,3189
284
- codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py,sha256=u7K8i5HHIDNfa2Ts5Gk3uJac-uv2mogfpG8_n6wq6oA,2384
286
+ codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_research_tools.py,sha256=VWpnEPrHLzJ8XSI9dT6nkbZPsfASCXyDd6uXPS_2K8g,2372
285
287
  codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_servicenow_tools.py,sha256=a3a4-3O0FaOFvN93kFNHiocLI-zPEuCaP3C-ov6lB5E,2185
286
288
  codemie_test_harness/tests/workflow/direct_tools_calling/test_workflow_with_vcs_tools.py,sha256=8qKTiFvL0wNBpDv5mUalsYfPVCfq_eoTzQTQdMs5SOY,3005
287
289
  codemie_test_harness/tests/workflow/test_workflows.py,sha256=haGPZqkV0PPBENN_pHc6x6gn84VdjWOrniuadFATKA0,1141
@@ -321,7 +323,7 @@ codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/__init__.
321
323
  codemie_test_harness/tests/workflow/virtual_assistant_tools/servicenow/test_workflow_with_servicenow_tools.py,sha256=Cxe5Yuy9JE_IEsnQOThpVIZQqpfLuHfDkF6JwLngDc8,890
322
324
  codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
323
325
  codemie_test_harness/tests/workflow/virtual_assistant_tools/vcs/test_workflow_with_vcs_tools.py,sha256=tm0NvUf_UtzLPTYJWykYpsNoxoVs-Eh80guDmRwImwg,1106
324
- codemie_test_harness-0.1.136.dist-info/METADATA,sha256=PO88yZLYEm-XeiL19dHwTPyuPX4hVfuqksFPAv9d6fI,8998
325
- codemie_test_harness-0.1.136.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
326
- codemie_test_harness-0.1.136.dist-info/entry_points.txt,sha256=n98t-EOM5M1mnMl_j2X4siyeO9zr0WD9a5LF7JyElIM,73
327
- codemie_test_harness-0.1.136.dist-info/RECORD,,
326
+ codemie_test_harness-0.1.138.dist-info/METADATA,sha256=Q0LrAD9Eo5yha_B9x2LzZiIFRZcJvkslwLBA_tgJxqg,8998
327
+ codemie_test_harness-0.1.138.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
328
+ codemie_test_harness-0.1.138.dist-info/entry_points.txt,sha256=n98t-EOM5M1mnMl_j2X4siyeO9zr0WD9a5LF7JyElIM,73
329
+ codemie_test_harness-0.1.138.dist-info/RECORD,,