alita-sdk 0.3.456__py3-none-any.whl → 0.3.457b0__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.
Files changed (39) hide show
  1. alita_sdk/runtime/langchain/utils.py +19 -3
  2. alita_sdk/tools/ado/repos/__init__.py +1 -0
  3. alita_sdk/tools/ado/test_plan/__init__.py +1 -1
  4. alita_sdk/tools/ado/wiki/__init__.py +1 -5
  5. alita_sdk/tools/ado/work_item/__init__.py +1 -5
  6. alita_sdk/tools/bitbucket/__init__.py +1 -0
  7. alita_sdk/tools/code/sonar/__init__.py +1 -1
  8. alita_sdk/tools/confluence/__init__.py +2 -2
  9. alita_sdk/tools/github/__init__.py +2 -2
  10. alita_sdk/tools/gitlab/__init__.py +2 -1
  11. alita_sdk/tools/gitlab_org/__init__.py +1 -2
  12. alita_sdk/tools/google_places/__init__.py +2 -1
  13. alita_sdk/tools/jira/__init__.py +1 -0
  14. alita_sdk/tools/memory/__init__.py +1 -1
  15. alita_sdk/tools/pandas/__init__.py +1 -1
  16. alita_sdk/tools/postman/__init__.py +2 -1
  17. alita_sdk/tools/pptx/__init__.py +2 -2
  18. alita_sdk/tools/qtest/__init__.py +3 -3
  19. alita_sdk/tools/qtest/api_wrapper.py +49 -8
  20. alita_sdk/tools/rally/__init__.py +1 -2
  21. alita_sdk/tools/report_portal/__init__.py +1 -0
  22. alita_sdk/tools/salesforce/__init__.py +1 -0
  23. alita_sdk/tools/servicenow/__init__.py +2 -3
  24. alita_sdk/tools/sharepoint/__init__.py +1 -0
  25. alita_sdk/tools/slack/__init__.py +1 -0
  26. alita_sdk/tools/sql/__init__.py +2 -1
  27. alita_sdk/tools/testio/__init__.py +1 -0
  28. alita_sdk/tools/testrail/__init__.py +1 -3
  29. alita_sdk/tools/xray/__init__.py +2 -1
  30. alita_sdk/tools/zephyr/__init__.py +2 -1
  31. alita_sdk/tools/zephyr_enterprise/__init__.py +1 -0
  32. alita_sdk/tools/zephyr_essential/__init__.py +1 -0
  33. alita_sdk/tools/zephyr_scale/__init__.py +1 -0
  34. alita_sdk/tools/zephyr_squad/__init__.py +1 -0
  35. {alita_sdk-0.3.456.dist-info → alita_sdk-0.3.457b0.dist-info}/METADATA +1 -1
  36. {alita_sdk-0.3.456.dist-info → alita_sdk-0.3.457b0.dist-info}/RECORD +39 -39
  37. {alita_sdk-0.3.456.dist-info → alita_sdk-0.3.457b0.dist-info}/WHEEL +0 -0
  38. {alita_sdk-0.3.456.dist-info → alita_sdk-0.3.457b0.dist-info}/licenses/LICENSE +0 -0
  39. {alita_sdk-0.3.456.dist-info → alita_sdk-0.3.457b0.dist-info}/top_level.txt +0 -0
@@ -2,7 +2,7 @@ import builtins
2
2
  import json
3
3
  import logging
4
4
  import re
5
- from pydantic import create_model, Field
5
+ from pydantic import create_model, Field, Json
6
6
  from typing import Tuple, TypedDict, Any, Optional, Annotated
7
7
  from langchain_core.messages import AnyMessage
8
8
  from langgraph.graph import add_messages
@@ -208,5 +208,21 @@ def safe_format(template, mapping):
208
208
  def create_pydantic_model(model_name: str, variables: dict[str, dict]):
209
209
  fields = {}
210
210
  for var_name, var_data in variables.items():
211
- fields[var_name] = (parse_type(var_data['type']), Field(description=var_data.get('description', None)))
212
- return create_model(model_name, **fields)
211
+ fields[var_name] = (parse_pydantic_type(var_data['type']), Field(description=var_data.get('description', None)))
212
+ return create_model(model_name, **fields)
213
+
214
+ def parse_pydantic_type(type_name: str):
215
+ """
216
+ Helper function to parse type names into Python types.
217
+ Extend this function to handle custom types like 'dict' -> Json[Any].
218
+ """
219
+ type_mapping = {
220
+ 'str': str,
221
+ 'int': int,
222
+ 'float': float,
223
+ 'bool': bool,
224
+ 'dict': Json[Any], # Map 'dict' to Pydantic's Json type
225
+ 'list': list,
226
+ 'any': Any
227
+ }
228
+ return type_mapping.get(type_name, Any)
@@ -63,6 +63,7 @@ class AzureDevOpsReposToolkit(BaseToolkit):
63
63
  "icon_url": "ado-repos-icon.svg",
64
64
  "categories": ["code repositories"],
65
65
  "extra_categories": ["code", "repository", "version control"],
66
+ "max_length": AzureDevOpsReposToolkit.toolkit_max_length
66
67
  }}}
67
68
  )
68
69
 
@@ -27,7 +27,6 @@ class AzureDevOpsPlansToolkit(BaseToolkit):
27
27
  AzureDevOpsPlansToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
28
28
  m = create_model(
29
29
  name_alias,
30
- name=(str, Field(description="Toolkit name", json_schema_extra={'toolkit_name': True, 'max_toolkit_length': AzureDevOpsPlansToolkit.toolkit_max_length})),
31
30
  ado_configuration=(AdoConfiguration, Field(description="Ado configuration", json_schema_extra={'configuration_types': ['ado']})),
32
31
  limit=(Optional[int], Field(description="ADO plans limit used for limitation of the list with results", default=5)),
33
32
  # indexer settings
@@ -40,6 +39,7 @@ class AzureDevOpsPlansToolkit(BaseToolkit):
40
39
  {
41
40
  "label": "ADO plans",
42
41
  "icon_url": "ado-plans.svg",
42
+ "max_length": AzureDevOpsPlansToolkit.toolkit_max_length,
43
43
  "categories": ["test management"],
44
44
  "extra_categories": ["test case management", "qa"],
45
45
  "sections": {
@@ -24,11 +24,6 @@ class AzureDevOpsWikiToolkit(BaseToolkit):
24
24
  AzureDevOpsWikiToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
25
25
  m = create_model(
26
26
  name_alias,
27
- name=(str, Field(description="Toolkit name",
28
- json_schema_extra={
29
- 'toolkit_name': True,
30
- 'max_toolkit_length': AzureDevOpsWikiToolkit.toolkit_max_length})
31
- ),
32
27
  ado_configuration=(AdoConfiguration, Field(description="Ado configuration", json_schema_extra={'configuration_types': ['ado']})),
33
28
  # indexer settings
34
29
  pgvector_configuration=(Optional[PgVectorConfiguration], Field(default=None,
@@ -42,6 +37,7 @@ class AzureDevOpsWikiToolkit(BaseToolkit):
42
37
  'metadata': {
43
38
  "label": "ADO wiki",
44
39
  "icon_url": "ado-wiki-icon.svg",
40
+ "max_length": AzureDevOpsWikiToolkit.toolkit_max_length,
45
41
  "categories": ["documentation"],
46
42
  "extra_categories": ["knowledge base", "documentation management", "wiki"],
47
43
  "sections": {
@@ -23,11 +23,6 @@ class AzureDevOpsWorkItemsToolkit(BaseToolkit):
23
23
  AzureDevOpsWorkItemsToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
24
24
  m = create_model(
25
25
  name,
26
- name=(str, Field(description="Toolkit name",
27
- json_schema_extra={
28
- 'toolkit_name': True,
29
- 'max_toolkit_length': AzureDevOpsWorkItemsToolkit.toolkit_max_length})
30
- ),
31
26
  ado_configuration=(AdoConfiguration, Field(description="Ado Work Item configuration", json_schema_extra={'configuration_types': ['ado']})),
32
27
  limit=(Optional[int], Field(description="ADO plans limit used for limitation of the list with results", default=5)),
33
28
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
@@ -42,6 +37,7 @@ class AzureDevOpsWorkItemsToolkit(BaseToolkit):
42
37
  'metadata': {
43
38
  "label": "ADO boards",
44
39
  "icon_url": "ado-boards-icon.svg",
40
+ "max_length": AzureDevOpsWorkItemsToolkit.toolkit_max_length,
45
41
  "categories": ["project management"],
46
42
  "extra_categories": ["work item management", "issue tracking", "agile boards"],
47
43
  "sections": {
@@ -61,6 +61,7 @@ class AlitaBitbucketToolkit(BaseToolkit):
61
61
  'metadata':
62
62
  {
63
63
  "label": "Bitbucket", "icon_url": "bitbucket-icon.svg",
64
+ "max_length": AlitaBitbucketToolkit.toolkit_max_length,
64
65
  "categories": ["code repositories"],
65
66
  "extra_categories": ["bitbucket", "git", "repository", "code", "version control"],
66
67
  }
@@ -29,7 +29,7 @@ class SonarToolkit(BaseToolkit):
29
29
  SonarToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
30
30
  return create_model(
31
31
  name,
32
- sonar_project_name=(str, Field(description="Project name of the desired repository", json_schema_extra={'toolkit_name': True, 'max_toolkit_length': SonarToolkit.toolkit_max_length})),
32
+ sonar_project_name=(str, Field(description="Project name of the desired repository")),
33
33
  sonar_configuration=(SonarConfiguration, Field(description="Sonar Configuration", json_schema_extra={'configuration_types': ['sonar']})),
34
34
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
35
35
  __config__=ConfigDict(json_schema_extra=
@@ -67,8 +67,7 @@ class ConfluenceToolkit(BaseToolkit):
67
67
 
68
68
  model = create_model(
69
69
  name,
70
- space=(str, Field(description="Space", json_schema_extra={'toolkit_name': True,
71
- 'max_toolkit_length': ConfluenceToolkit.toolkit_max_length})),
70
+ space=(str, Field(description="Space")),
72
71
  cloud=(bool, Field(description="Hosting Option", json_schema_extra={'configuration': True})),
73
72
  limit=(int, Field(description="Pages limit per request", default=5)),
74
73
  labels=(Optional[str], Field(
@@ -95,6 +94,7 @@ class ConfluenceToolkit(BaseToolkit):
95
94
  'metadata': {
96
95
  "label": "Confluence",
97
96
  "icon_url": None,
97
+ "max_length": ConfluenceToolkit.toolkit_max_length,
98
98
  "categories": ["documentation"],
99
99
  "extra_categories": ["confluence", "wiki", "knowledge base", "documentation", "atlassian"]
100
100
  }
@@ -53,6 +53,7 @@ class AlitaGitHubToolkit(BaseToolkit):
53
53
  'metadata': {
54
54
  "label": "GitHub",
55
55
  "icon_url": None,
56
+ "max_length": AlitaGitHubToolkit.toolkit_max_length,
56
57
  "categories": ["code repositories"],
57
58
  "extra_categories": ["github", "git", "repository", "code", "version control"],
58
59
  },
@@ -62,8 +63,7 @@ class AlitaGitHubToolkit(BaseToolkit):
62
63
  json_schema_extra={'configuration_types': ['github']})),
63
64
  pgvector_configuration=(Optional[PgVectorConfiguration], Field(description="PgVector configuration", default=None,
64
65
  json_schema_extra={'configuration_types': ['pgvector']})),
65
- repository=(str, Field(description="Github repository", json_schema_extra={'toolkit_name': True,
66
- 'max_toolkit_length': AlitaGitHubToolkit.toolkit_max_length})),
66
+ repository=(str, Field(description="Github repository")),
67
67
  active_branch=(Optional[str], Field(description="Active branch", default="main")),
68
68
  base_branch=(Optional[str], Field(description="Github Base branch", default="main")),
69
69
  # embedder settings
@@ -43,7 +43,7 @@ class AlitaGitlabToolkit(BaseToolkit):
43
43
  AlitaGitlabToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
44
44
  return create_model(
45
45
  name,
46
- repository=(str, Field(description="GitLab repository", json_schema_extra={'toolkit_name': True, 'max_toolkit_length': AlitaGitlabToolkit.toolkit_max_length})),
46
+ repository=(str, Field(description="GitLab repository")),
47
47
  gitlab_configuration=(GitlabConfiguration, Field(description="GitLab configuration", json_schema_extra={'configuration_types': ['gitlab']})),
48
48
  branch=(str, Field(description="Main branch", default="main")),
49
49
  # indexer settings
@@ -57,6 +57,7 @@ class AlitaGitlabToolkit(BaseToolkit):
57
57
  'metadata': {
58
58
  "label": "GitLab",
59
59
  "icon_url": None,
60
+ "max_length": AlitaGitlabToolkit.toolkit_max_length,
60
61
  "categories": ["code repositories"],
61
62
  "extra_categories": ["gitlab", "git", "repository", "code", "version control"],
62
63
  }
@@ -30,8 +30,6 @@ class AlitaGitlabSpaceToolkit(BaseToolkit):
30
30
  AlitaGitlabSpaceToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
31
31
  return create_model(
32
32
  name,
33
- name=(str, Field(description="Toolkit name", json_schema_extra={'toolkit_name': True,
34
- 'max_toolkit_length': AlitaGitlabSpaceToolkit.toolkit_max_length})),
35
33
  gitlab_configuration=(GitlabConfiguration, Field(description="GitLab configuration",
36
34
  json_schema_extra={
37
35
  'configuration_types': ['gitlab']})),
@@ -46,6 +44,7 @@ class AlitaGitlabSpaceToolkit(BaseToolkit):
46
44
  'metadata': {
47
45
  "label": "GitLab Org",
48
46
  "icon_url": None,
47
+ "max_length": AlitaGitlabSpaceToolkit.toolkit_max_length,
49
48
  "categories": ["code repositories"],
50
49
  "extra_categories": ["gitlab", "git", "repository", "code", "version control"],
51
50
  }
@@ -30,7 +30,7 @@ class GooglePlacesToolkit(BaseToolkit):
30
30
  GooglePlacesToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
31
31
  return create_model(
32
32
  name,
33
- results_count=(Optional[int], Field(description="Results number to show", default=None, json_schema_extra={'toolkit_name': True, 'max_toolkit_length': GooglePlacesToolkit.toolkit_max_length})),
33
+ results_count=(Optional[int], Field(description="Results number to show", default=None)),
34
34
  google_places_configuration=(GooglePlacesConfiguration, Field(description="Google Places Configuration", json_schema_extra={'configuration_types': ['google_places']})),
35
35
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
36
36
  __config__=ConfigDict(json_schema_extra=
@@ -38,6 +38,7 @@ class GooglePlacesToolkit(BaseToolkit):
38
38
  'metadata':
39
39
  {
40
40
  "label": "Google Places", "icon_url": "gplaces-icon.svg",
41
+ "max_length": GooglePlacesToolkit.toolkit_max_length,
41
42
  "categories": ["other"],
42
43
  "extra_categories": ["google", "places", "maps", "location",
43
44
  "geolocation"],
@@ -89,6 +89,7 @@ class JiraToolkit(BaseToolkit):
89
89
  'metadata': {
90
90
  "label": "Jira",
91
91
  "icon_url": "jira-icon.svg",
92
+ "max_length": JiraToolkit.toolkit_max_length,
92
93
  "categories": ["project management"],
93
94
  "extra_categories": ["jira", "atlassian", "issue tracking", "project management", "task management"],
94
95
  }
@@ -61,7 +61,7 @@ class MemoryToolkit(BaseToolkit):
61
61
 
62
62
  return create_model(
63
63
  'memory',
64
- namespace=(str, Field(description="Memory namespace", json_schema_extra={'toolkit_name': True})),
64
+ namespace=(str, Field(description="Memory namespace")),
65
65
  pgvector_configuration=(PgVectorConfiguration, Field(description="PgVector Configuration",
66
66
  json_schema_extra={
67
67
  'configuration_types': ['pgvector']})),
@@ -29,7 +29,7 @@ class PandasToolkit(BaseToolkit):
29
29
  PandasToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
30
30
  return create_model(
31
31
  name,
32
- bucket_name=(str, Field(default=None, title="Bucket name", description="Bucket where the content file is stored", json_schema_extra={'toolkit_name': True, 'max_toolkit_length': PandasToolkit.toolkit_max_length})),
32
+ bucket_name=(str, Field(default=None, title="Bucket name", description="Bucket where the content file is stored")),
33
33
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
34
34
  __config__=ConfigDict(json_schema_extra={'metadata': {"label": "Pandas", "icon_url": "pandas-icon.svg",
35
35
  "categories": ["analysis"],
@@ -62,7 +62,8 @@ class PostmanToolkit(BaseToolkit):
62
62
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(
63
63
  default=[], json_schema_extra={'args_schemas': selected_tools})),
64
64
  __config__=ConfigDict(json_schema_extra={'metadata': {
65
- "label": "Postman", "icon_url": "postman.svg"}})
65
+ "label": "Postman", "icon_url": "postman.svg",
66
+ "max_length": PostmanToolkit.toolkit_max_length,}})
66
67
  )
67
68
 
68
69
  @check_connection_response
@@ -45,13 +45,13 @@ class PPTXToolkit(BaseToolkit):
45
45
 
46
46
  return create_model(
47
47
  name,
48
- bucket_name=(str, Field(description="Bucket name where PPTX files are stored",
49
- json_schema_extra={'toolkit_name': True, 'max_toolkit_length': TOOLKIT_MAX_LENGTH})),
48
+ bucket_name=(str, Field(description="Bucket name where PPTX files are stored")),
50
49
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
51
50
  __config__=ConfigDict(json_schema_extra={
52
51
  'metadata': {
53
52
  "label": "PPTX",
54
53
  "icon_url": "pptx.svg",
54
+ "max_length": TOOLKIT_MAX_LENGTH,
55
55
  "categories": ["office"],
56
56
  "extra_categories": ["presentation", "office automation", "document"]
57
57
  }
@@ -37,14 +37,14 @@ class QtestToolkit(BaseToolkit):
37
37
  name,
38
38
  qtest_configuration=(QtestConfiguration, Field(description="QTest API token", json_schema_extra={
39
39
  'configuration_types': ['qtest']})),
40
- qtest_project_id=(int, Field(default=None, description="QTest project id", json_schema_extra={'toolkit_name': True,
41
- 'max_toolkit_length': QtestToolkit.toolkit_max_length})),
40
+ qtest_project_id=(int, Field(default=None, description="QTest project id")),
42
41
  no_of_tests_shown_in_dql_search=(Optional[int], Field(description="Max number of items returned by dql search",
43
42
  default=10)),
44
43
 
45
44
  selected_tools=(List[Literal[tuple(selected_tools)]],
46
45
  Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
47
46
  __config__=ConfigDict(json_schema_extra={'metadata': {"label": "QTest", "icon_url": "qtest.svg",
47
+ "max_length": QtestToolkit.toolkit_max_length,
48
48
  "categories": ["test management"],
49
49
  "extra_categories": ["quality assurance",
50
50
  "test case management",
@@ -93,4 +93,4 @@ class QtestToolkit(BaseToolkit):
93
93
  return cls(tools=tools)
94
94
 
95
95
  def get_tools(self):
96
- return self.tools
96
+ return self.tools
@@ -49,6 +49,11 @@ Steps: Array of test steps with Description and Expected Result.
49
49
  - Single value: "Team": "Epam"
50
50
  - Multiple values: "Team": ["Epam", "EJ"]
51
51
 
52
+ **Clearing/Unsetting fields**: To clear a field value (unassign, set to empty/blank):
53
+ - Use `null` in JSON: "Priority": null
54
+ - Works for multi-select fields, user assignments, etc. (Note: single-select dropdowns have API limitations)
55
+ - Example: {{"QTest Id": "4626964", "Assigned To": null, "Review status": null}}
56
+
52
57
  **For Updates**: Include only the fields you want to modify. The system will validate property values against project configuration.
53
58
 
54
59
  ### EXAMPLE
@@ -264,9 +269,41 @@ class QtestApiWrapper(BaseToolApiWrapper):
264
269
  # Skip non-property fields (these are handled separately)
265
270
  if field_name in ['Name', 'Description', 'Precondition', 'Steps', 'Id', QTEST_ID]:
266
271
  continue
267
-
268
- # Skip None or empty string values (don't update these fields)
269
- if field_value is None or field_value == '':
272
+
273
+ # Skip empty string values (don't update these fields)
274
+ if field_value == '':
275
+ continue
276
+
277
+ # Handle None value - this means "clear/unset this field"
278
+ if field_value is None:
279
+ # Validate field exists before attempting to clear
280
+ if field_name not in field_definitions:
281
+ validation_errors.append(
282
+ f"❌ Unknown field '{field_name}' - not defined in project configuration"
283
+ )
284
+ continue
285
+
286
+ field_def = field_definitions[field_name]
287
+ field_id = field_def['field_id']
288
+ is_multiple = field_def.get('multiple', False)
289
+
290
+ if is_multiple:
291
+ # Multi-select/user fields: can clear using empty array "[]"
292
+ props_dict[field_name] = {
293
+ 'field_id': field_id,
294
+ 'field_name': field_name,
295
+ 'field_value': "[]",
296
+ 'field_value_name': None
297
+ }
298
+ else:
299
+ # Single-select fields: QTest API limitation - cannot clear to empty
300
+ # Note: Users CAN clear these fields from UI, but API doesn't expose this capability
301
+ validation_errors.append(
302
+ f"⚠️ Cannot clear single-select field '{field_name}' - this is a QTest API limitation "
303
+ f"(clearing is possible from UI but not exposed via API). "
304
+ f"Please select an alternative value instead. "
305
+ f"Available values: {', '.join(field_def.get('values', {}).keys()) or 'none'}"
306
+ )
270
307
  continue
271
308
 
272
309
  # Validate field exists in project - STRICT validation
@@ -1158,6 +1195,10 @@ class QtestApiWrapper(BaseToolApiWrapper):
1158
1195
  "mode": "search_by_dql",
1159
1196
  "description": """Search test cases in qTest using Data Query Language (DQL).
1160
1197
 
1198
+ CRITICAL: USE SINGLE QUOTES ONLY - DQL does not support double quotes!
1199
+ - ✓ CORRECT: Description ~ 'Forgot Password'
1200
+ - ✗ WRONG: Description ~ "Forgot Password"
1201
+
1161
1202
  LIMITATION - CANNOT SEARCH BY LINKED OBJECTS:
1162
1203
  - ✗ 'Requirement Id' = 'RQ-15' will fail - use 'find_test_cases_by_requirement_id' tool instead
1163
1204
  - ✗ Linked defects or other relationship queries are not supported
@@ -1169,18 +1210,18 @@ SEARCHABLE FIELDS:
1169
1210
  - Date fields: Use ISO DateTime format (e.g., 'Created Date' > '2021-05-07T03:15:37.652Z')
1170
1211
 
1171
1212
  SYNTAX RULES:
1172
- 1. Field names with spaces MUST be in single quotes: 'Created Date' > '2024-01-01'
1173
- 2. Values with spaces MUST be in single quotes: Type = 'Manual Test'
1174
- 3. Use ~ for 'contains', !~ for 'not contains': Name ~ "login"
1213
+ 1. ALL string values MUST use single quotes (never double quotes)
1214
+ 2. Field names with spaces MUST be in single quotes: 'Created Date' > '2024-01-01'
1215
+ 3. Use ~ for 'contains', !~ for 'not contains': Description ~ 'login'
1175
1216
  4. Use 'is not empty' for non-empty check: Name is 'not empty'
1176
1217
  5. Operators: =, !=, <, >, <=, >=, in, ~, !~
1177
1218
 
1178
1219
  EXAMPLES:
1179
1220
  - Id = 'TC-123'
1221
+ - Description ~ 'Forgot Password'
1180
1222
  - Status = 'New' and Priority = 'High'
1181
1223
  - Module in 'MD-78 Master Test Suite'
1182
- - Type = 'Automation - UTAF'
1183
- - Name ~ "login"
1224
+ - Name ~ 'login'
1184
1225
  - 'Created Date' > '2024-01-01T00:00:00.000Z'
1185
1226
  """,
1186
1227
  "args_schema": QtestDataQuerySearch,
@@ -29,8 +29,6 @@ class RallyToolkit(BaseToolkit):
29
29
  RallyToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
30
30
  return create_model(
31
31
  name,
32
- name=(str, Field(description="Toolkit name", json_schema_extra={'toolkit_name': True,
33
- 'max_toolkit_length': RallyToolkit.toolkit_max_length})),
34
32
  rally_configuration=(RallyConfiguration, Field(description="Rally configuration", json_schema_extra={'configuration_types': ['rally']})),
35
33
  workspace=(Optional[str], Field(default=None, description="Rally workspace")),
36
34
  project=(Optional[str], Field(default=None, description="Rally project")),
@@ -39,6 +37,7 @@ class RallyToolkit(BaseToolkit):
39
37
  'metadata': {
40
38
  "label": "Rally",
41
39
  "icon_url": "rally.svg",
40
+ "max_length": RallyToolkit.toolkit_max_length,
42
41
  "categories": ["project management"],
43
42
  "extra_categories": ["agile management", "test management", "scrum", "kanban"]
44
43
  }
@@ -33,6 +33,7 @@ class ReportPortalToolkit(BaseToolkit):
33
33
  report_portal_configuration=(ReportPortalConfiguration, Field(description="Report Portal Configuration", json_schema_extra={'configuration_types': ['report_portal']})),
34
34
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
35
35
  __config__=ConfigDict(json_schema_extra={'metadata': {"label": "Report Portal", "icon_url": "reportportal-icon.svg",
36
+ "max_length": ReportPortalToolkit.toolkit_max_length,
36
37
  "categories": ["testing"],
37
38
  "extra_categories": ["test reporting", "test automation"]}})
38
39
  )
@@ -31,6 +31,7 @@ class SalesforceToolkit(BaseToolkit):
31
31
  selected_tools=(List[Literal[tuple(available_tools)]], Field(default=[], json_schema_extra={'args_schemas': available_tools})),
32
32
  __config__=ConfigDict(json_schema_extra={'metadata': {
33
33
  "label": "Salesforce", "icon_url": "salesforce-icon.svg",
34
+ "max_length": SalesforceToolkit.toolkit_max_length,
34
35
  "categories": ["other"],
35
36
  "extra_categories": ["customer relationship management", "cloud computing", "marketing automation", "salesforce"]
36
37
  }})
@@ -35,9 +35,7 @@ class ServiceNowToolkit(BaseToolkit):
35
35
  ServiceNowToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
36
36
  return create_model(
37
37
  name,
38
- name=(str, Field(description="Toolkit name",
39
- json_schema_extra={
40
- 'toolkit_name': True, 'max_toolkit_length': ServiceNowToolkit.toolkit_max_length})),
38
+ name=(str, Field(description="Toolkit name")),
41
39
  response_fields=(Optional[str], Field(description="Response fields", default=None)),
42
40
  servicenow_configuration=(ServiceNowConfiguration, Field(description="ServiceNow Configuration",
43
41
  json_schema_extra={
@@ -49,6 +47,7 @@ class ServiceNowToolkit(BaseToolkit):
49
47
  'metadata': {
50
48
  "label": "ServiceNow",
51
49
  "icon_url": "service-now.svg",
50
+ "max_length": ServiceNowToolkit.toolkit_max_length,
52
51
  "hidden": False,
53
52
  "sections": {
54
53
  "auth": {
@@ -48,6 +48,7 @@ class SharepointToolkit(BaseToolkit):
48
48
  __config__=ConfigDict(json_schema_extra={
49
49
  'metadata': {
50
50
  "label": "Sharepoint", "icon_url": "sharepoint.svg",
51
+ "max_length": SharepointToolkit.toolkit_max_length,
51
52
  "categories": ["office"],
52
53
  "extra_categories": ["microsoft", "cloud storage", "team collaboration", "content management"]
53
54
  }})
@@ -59,6 +59,7 @@ class SlackToolkit(BaseToolkit):
59
59
  'metadata': {
60
60
  "label": "Slack",
61
61
  "icon_url": "slack-icon.svg",
62
+ "max_length": SlackToolkit.toolkit_max_length,
62
63
  "categories": ["communication"],
63
64
  "extra_categories": ["slack", "chat", "messaging", "collaboration"],
64
65
  }
@@ -34,7 +34,7 @@ class SQLToolkit(BaseToolkit):
34
34
  return create_model(
35
35
  name,
36
36
  dialect=(Literal[tuple(supported_dialects)], Field(description="Database dialect (mysql or postgres)")),
37
- database_name=(str, Field(description="Database name", json_schema_extra={'toolkit_name': True, 'max_toolkit_length': SQLToolkit.toolkit_max_length})),
37
+ database_name=(str, Field(description="Database name")),
38
38
  sql_configuration=(SqlConfiguration, Field(description="SQL Configuration", json_schema_extra={'configuration_types': ['sql']})),
39
39
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
40
40
  __config__=ConfigDict(json_schema_extra=
@@ -42,6 +42,7 @@ class SQLToolkit(BaseToolkit):
42
42
  'metadata':
43
43
  {
44
44
  "label": "SQL", "icon_url": "sql-icon.svg",
45
+ "max_length": SQLToolkit.toolkit_max_length,
45
46
  "categories": ["development"],
46
47
  "extra_categories": ["sql", "data management", "data analysis"]}})
47
48
  )
@@ -33,6 +33,7 @@ class TestIOToolkit(BaseToolkit):
33
33
  testio_configuration=(TestIOConfiguration, Field(description="TestIO Configuration", json_schema_extra={'configuration_types': ['testio']})),
34
34
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
35
35
  __config__=ConfigDict(json_schema_extra={'metadata': {"label": "TestIO", "icon_url": "testio-icon.svg",
36
+ "max_length": TOOLKIT_MAX_LENGTH,
36
37
  "categories": ["testing"],
37
38
  "extra_categories": ["test automation", "test case management", "test planning"]}})
38
39
  )
@@ -39,9 +39,6 @@ class TestrailToolkit(BaseToolkit):
39
39
  TestrailToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
40
40
  m = create_model(
41
41
  name,
42
- name=(str, Field(description="Toolkit name", json_schema_extra={
43
- 'toolkit_name': True,
44
- "max_length": TestrailToolkit.toolkit_max_length})),
45
42
  testrail_configuration=(Optional[TestRailConfiguration], Field(description="TestRail Configuration", json_schema_extra={'configuration_types': ['testrail']})),
46
43
  pgvector_configuration=(Optional[PgVectorConfiguration], Field(default = None,
47
44
  description="PgVector Configuration", json_schema_extra={'configuration_types': ['pgvector']})),
@@ -50,6 +47,7 @@ class TestrailToolkit(BaseToolkit):
50
47
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
51
48
  __config__=ConfigDict(json_schema_extra={'metadata':
52
49
  {"label": "Testrail", "icon_url": "testrail-icon.svg",
50
+ "max_length": TestrailToolkit.toolkit_max_length,
53
51
  "categories": ["test management"],
54
52
  "extra_categories": ["quality assurance", "test case management", "test planning"]
55
53
  }})
@@ -56,7 +56,8 @@ class XrayToolkit(BaseToolkit):
56
56
  {
57
57
  'metadata': {
58
58
  "label": "XRAY cloud", "icon_url": "xray.svg",
59
- "categories": ["test management"],
59
+ "max_length": XrayToolkit.toolkit_max_length,
60
+ "categories": ["test management"],
60
61
  "extra_categories": ["test automation", "test case management", "test planning"]
61
62
  }
62
63
  }
@@ -31,7 +31,7 @@ class ZephyrToolkit(BaseToolkit):
31
31
  ZephyrToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
32
32
  return create_model(
33
33
  name,
34
- base_url=(str, Field(description="Base URL", json_schema_extra={'toolkit_name': True, 'max_toolkit_length': ZephyrToolkit.toolkit_max_length})),
34
+ base_url=(str, Field(description="Base URL")),
35
35
  username=(str, Field(description="Username")),
36
36
  password=(SecretStr, Field(description="Password", json_schema_extra={'secret': True})),
37
37
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
@@ -40,6 +40,7 @@ class ZephyrToolkit(BaseToolkit):
40
40
  {
41
41
  'metadata': {
42
42
  "label": "Zephyr", "icon_url": "zephyr.svg", "hidden": True,
43
+ "max_length": ZephyrToolkit.toolkit_max_length,
43
44
  "categories": ["test management"],
44
45
  "extra_categories": ["test automation", "test case management", "test planning"]
45
46
  }}}
@@ -49,6 +49,7 @@ class ZephyrEnterpriseToolkit(BaseToolkit):
49
49
  __config__=ConfigDict(json_schema_extra={
50
50
  'metadata': {
51
51
  "label": "Zephyr Enterprise", "icon_url": "zephyr.svg",
52
+ "max_length": ZephyrEnterpriseToolkit.toolkit_max_length,
52
53
  "categories": ["test management"],
53
54
  "extra_categories": ["test automation", "test case management", "test planning"]
54
55
  }})
@@ -46,6 +46,7 @@ class ZephyrEssentialToolkit(BaseToolkit):
46
46
  # embedder settings
47
47
  embedding_model=(Optional[str], Field(default=None, description="Embedding configuration.", json_schema_extra={'configuration_model': 'embedding'})),
48
48
  __config__={'json_schema_extra': {'metadata': {"label": "Zephyr Essential", "icon_url": "zephyr.svg",
49
+ "max_length": ZephyrEssentialToolkit.toolkit_max_length,
49
50
  "categories": ["test management"],
50
51
  "extra_categories": ["test automation", "test case management", "test planning"]
51
52
  }}}
@@ -56,6 +56,7 @@ class ZephyrScaleToolkit(BaseToolkit):
56
56
  'metadata': {
57
57
  "label": "Zephyr Scale",
58
58
  "icon_url": "zephyr.svg",
59
+ "max_length": ZephyrScaleToolkit.toolkit_max_length,
59
60
  "categories": ["test management"],
60
61
  "extra_categories": ["test automation", "test case management", "test planning"],
61
62
  }
@@ -34,6 +34,7 @@ class ZephyrSquadToolkit(BaseToolkit):
34
34
  secret_key=(SecretStr, Field(description="Generated secret key", json_schema_extra={'secret': True})),
35
35
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
36
36
  __config__={'json_schema_extra': {'metadata': {"label": "Zephyr Squad", "icon_url": "zephyr.svg",
37
+ "max_length": ZephyrSquadToolkit.toolkit_max_length,
37
38
  "categories": ["test management"],
38
39
  "extra_categories": ["test automation", "test case management", "test planning"]
39
40
  }}}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.456
3
+ Version: 0.3.457b0
4
4
  Summary: SDK for building langchain agents using resources from Alita
5
5
  Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedj27@gmail.com>, Artem Dubrovskiy <ad13box@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -51,7 +51,7 @@ alita_sdk/runtime/langchain/langraph_agent.py,sha256=tLgZ1Z7iqN_AWkmb9lvmSEpg27E
51
51
  alita_sdk/runtime/langchain/mixedAgentParser.py,sha256=M256lvtsL3YtYflBCEp-rWKrKtcY1dJIyRGVv7KW9ME,2611
52
52
  alita_sdk/runtime/langchain/mixedAgentRenderes.py,sha256=asBtKqm88QhZRILditjYICwFVKF5KfO38hu2O-WrSWE,5964
53
53
  alita_sdk/runtime/langchain/store_manager.py,sha256=i8Fl11IXJhrBXq1F1ukEVln57B1IBe-tqSUvfUmBV4A,2218
54
- alita_sdk/runtime/langchain/utils.py,sha256=L0BLiIYb1zSkt8NEHDRq6RVcrQrHPJZQiPG-Jn1onvM,8037
54
+ alita_sdk/runtime/langchain/utils.py,sha256=UDxYSYzWfhVB2-qBqJwaTvcIt3EEsujUdgkpX5PMNxo,8506
55
55
  alita_sdk/runtime/langchain/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
56
  alita_sdk/runtime/langchain/agents/xml_chat.py,sha256=Mx7PK5T97_GrFCwHHZ3JZP42S7MwtUzV0W-_8j6Amt8,6212
57
57
  alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py,sha256=4kFU1ijrM1Jw7cywQv8mUiBHlE6w-uqfzSZP4hUV5P4,3771
@@ -150,13 +150,13 @@ alita_sdk/tools/elitea_base.py,sha256=34fmVdYgd2YXifU5LFNjMQysr4OOIZ6AOZjq4GxLgS
150
150
  alita_sdk/tools/non_code_indexer_toolkit.py,sha256=6Lrqor1VeSLbPLDHAfg_7UAUqKFy1r_n6bdsc4-ak98,1315
151
151
  alita_sdk/tools/ado/__init__.py,sha256=NnNYpNFW0_N_v1td_iekYOoQRRB7PIunbpT2f9ZFJM4,1201
152
152
  alita_sdk/tools/ado/utils.py,sha256=PTCludvaQmPLakF2EbCGy66Mro4-rjDtavVP-xcB2Wc,1252
153
- alita_sdk/tools/ado/repos/__init__.py,sha256=rR-c40Pw_WpQeOXtEuS-COvgRUs1_cTkcJfHlK09N88,5339
153
+ alita_sdk/tools/ado/repos/__init__.py,sha256=RFOd7tcBMhFYpqv11oSsdVnZhqC0swAKTsN1BpZBg1g,5416
154
154
  alita_sdk/tools/ado/repos/repos_wrapper.py,sha256=e7KL0BgwM1LTGCVWKZHqxcsCSmkVUlCtGe0Aan4yALE,49864
155
- alita_sdk/tools/ado/test_plan/__init__.py,sha256=qANjEjxwEEs0aTarH9LaQ745Dv_6iRdXxMKP8RDoeGs,5344
155
+ alita_sdk/tools/ado/test_plan/__init__.py,sha256=Z6WFjcCYiYVbDniuqSBgitby1jNPQHA3AfGYx6ADu2s,5255
156
156
  alita_sdk/tools/ado/test_plan/test_plan_wrapper.py,sha256=MHM1WJUUWIgOUxGPjQUhNUxOj_Et2MAowIbhbU99h4I,22222
157
- alita_sdk/tools/ado/wiki/__init__.py,sha256=ela6FOuT1fqN3FvHGBflzAh16HS1SSPsJYS2SldRX7A,5272
157
+ alita_sdk/tools/ado/wiki/__init__.py,sha256=fvHADFad2jWFDseXJe5iV1CRO4wA4iiMNEibfQauo2Y,5072
158
158
  alita_sdk/tools/ado/wiki/ado_wrapper.py,sha256=qqKJw755X-kgB2KkcwFECa464xLKmlKrhqKfZ5Da5Gs,18188
159
- alita_sdk/tools/ado/work_item/__init__.py,sha256=jml_zSkdC7gdGIoX2ZqRgDb45nhT3ZWzNsZ0II0iVJI,5474
159
+ alita_sdk/tools/ado/work_item/__init__.py,sha256=mu7M-f8M9CnES-qd9qbv4Mvdew0THclVhlad5_44hfE,5274
160
160
  alita_sdk/tools/ado/work_item/ado_wrapper.py,sha256=uURYPFEj2kVa-mxgaa6duQ0RRwUQTi4yBopdmHeiMPQ,31420
161
161
  alita_sdk/tools/advanced_jira_mining/__init__.py,sha256=GdrFVsyG8h43BnQwBKUtZ_ca_0atP1rQ_0adkd9mssc,4703
162
162
  alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py,sha256=nZPtuwVWp8VeHw1B8q9kdwf-6ZvHnlXTOGdcIMDkKpw,44211
@@ -170,7 +170,7 @@ alita_sdk/tools/azure_ai/search/__init__.py,sha256=78ClnTkEn73b3Y9xYP_t65DaVQyEC
170
170
  alita_sdk/tools/azure_ai/search/api_wrapper.py,sha256=E4p6HPDlwgxfT_i6cvg9rN4Vn_47CVAyNBAKLIGq3mU,7265
171
171
  alita_sdk/tools/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
172
172
  alita_sdk/tools/base/tool.py,sha256=-N27AodZS49vdPCgFkU-bFS9bxoPopZBnNrmwInx3d0,864
173
- alita_sdk/tools/bitbucket/__init__.py,sha256=2VAY45Jij5dHkz6UGTmsEmOcLeJMWmcX-WrYIyGXsZY,5549
173
+ alita_sdk/tools/bitbucket/__init__.py,sha256=K-LqsOkHqk46L3RQtEyMyH4OMY16V_Ra5icu3UFGWMI,5629
174
174
  alita_sdk/tools/bitbucket/api_wrapper.py,sha256=q22g27zoJnhNx_HvP4Q1Tt3-glTow7mSqbAjwpdg5CE,20120
175
175
  alita_sdk/tools/bitbucket/bitbucket_constants.py,sha256=UsbhQ1iEvrKoxceTFPWTYhaXS1zSxbmjs1TwY0-P4gw,462
176
176
  alita_sdk/tools/bitbucket/cloud_api_wrapper.py,sha256=QHdud-d3xcz3mOP3xb1Htk1sv9QFg7bTm1szdN_zohQ,15517
@@ -236,9 +236,9 @@ alita_sdk/tools/code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
236
236
  alita_sdk/tools/code/linter/__init__.py,sha256=SJPWxsSnoouuz5z2VBoVahhBkxcU0WmLdV5XRKbyoMc,2272
237
237
  alita_sdk/tools/code/linter/api_wrapper.py,sha256=wylpwhAw02Jt8L18CqBq2He5PbwIkxUPFTc3tQTdXMM,3865
238
238
  alita_sdk/tools/code/loaders/codesearcher.py,sha256=XoXXZtIQZhvjIwZlnl_4wVGHC-3saYzFo5oDR_Zh3EY,529
239
- alita_sdk/tools/code/sonar/__init__.py,sha256=iPqj2PnUY4-btJjaDeWIPdn-c9L_uCr_qOoP_uwRoXw,3360
239
+ alita_sdk/tools/code/sonar/__init__.py,sha256=bPmYMTL46u4hs44XF9w_r1ywbJ4mi-xQXoyPqscQLmY,3263
240
240
  alita_sdk/tools/code/sonar/api_wrapper.py,sha256=nNqxcWN_6W8c0ckj-Er9HkNuAdgQLoWBXh5UyzNutis,2653
241
- alita_sdk/tools/confluence/__init__.py,sha256=zRnPBM1c7VTRTS955HNc7AEGV5t8ACc2f9wBXmmeXao,6845
241
+ alita_sdk/tools/confluence/__init__.py,sha256=b--naUZNY3MtEEW6oKb6f9OmSBQiiruf9DgzU8W8_zM,6731
242
242
  alita_sdk/tools/confluence/api_wrapper.py,sha256=TrB4g0gYlollej9kG68kQXrrOUiFwVUxYKo-tZ4ngac,90719
243
243
  alita_sdk/tools/confluence/loader.py,sha256=xJhV80zM4x_oalwe36UqiEf4GOgCm_XEezLQNKj4j4k,10025
244
244
  alita_sdk/tools/confluence/utils.py,sha256=Lxo6dBD0OlvM4o0JuK6qeB_4LV9BptiwJA9e1vqNcDw,435
@@ -248,18 +248,18 @@ alita_sdk/tools/elastic/__init__.py,sha256=iwnSRppRpzvJ1da2K3Glu8Uu41MhBDCYbgubo
248
248
  alita_sdk/tools/elastic/api_wrapper.py,sha256=pl8CqQxteJAGwyOhMcld-ZgtOTFwwbv42OITQVe8rM0,1948
249
249
  alita_sdk/tools/figma/__init__.py,sha256=W6vIMMkZI2Lmpg6_CRRV3oadaIbVI-qTLmKUh6enqWs,4509
250
250
  alita_sdk/tools/figma/api_wrapper.py,sha256=k5V2ufv9k3LL5dwjSVi2qIZdx6H0613mlXId3gQudMw,33788
251
- alita_sdk/tools/github/__init__.py,sha256=2rHu0zZyZGnLC5CkHgDIhe14N9yCyaEfrrt7ydH8478,5191
251
+ alita_sdk/tools/github/__init__.py,sha256=mYo2CwPrnjvnH41BdUJYgxfB0ZcfSKOPujJxCPcQM8o,5078
252
252
  alita_sdk/tools/github/api_wrapper.py,sha256=mX23Rro6xnRa35tpeWhKYcRCJx0cDTzIe32pZAKDYno,7986
253
253
  alita_sdk/tools/github/github_client.py,sha256=0YkpD6Zm4X46jMNN57ZIypo2YObtgxCGQokJAF-laFs,86597
254
254
  alita_sdk/tools/github/graphql_client_wrapper.py,sha256=d3AGjzLGH_hdQV2V8HeAX92dJ4dlnE5OXqUlCO_PBr0,71539
255
255
  alita_sdk/tools/github/schemas.py,sha256=TxEWR3SjDKVwzo9i2tLnss_uPAv85Mh7oWjvQvYLDQE,14000
256
256
  alita_sdk/tools/github/tool.py,sha256=Jnnv5lenV5ds8AAdyo2m8hSzyJ117HZBjzHC6T1ck-M,1037
257
257
  alita_sdk/tools/github/tool_prompts.py,sha256=y6ZW_FpUCE87Uop3WuQAZVRnzxO5t7xjBOI5bCqiluw,30194
258
- alita_sdk/tools/gitlab/__init__.py,sha256=iis7RHD3YgKWxF_ryTfdtA8RPGV-W8zUfy4BgiTDADw,4540
258
+ alita_sdk/tools/gitlab/__init__.py,sha256=YMq1gpHgjN0cFgrliNKNdhuWlro83-bv1SUz3kaKf0c,4510
259
259
  alita_sdk/tools/gitlab/api_wrapper.py,sha256=FYvtuU-JE2gH0TeayYkfxpfArRzGRtB6WAitEvLy8-4,22888
260
260
  alita_sdk/tools/gitlab/tools.py,sha256=vOGTlSaGaFmWn6LS6YFP-FuTqUPun9vnv1VrUcUHAZQ,16500
261
261
  alita_sdk/tools/gitlab/utils.py,sha256=Z2XiqIg54ouqqt1to-geFybmkCb1I6bpE91wfnINH1I,2320
262
- alita_sdk/tools/gitlab_org/__init__.py,sha256=PSTsC4BcPoyDv03Wj9VQHrEGUeR8hw4MRarB64VeqFg,3865
262
+ alita_sdk/tools/gitlab_org/__init__.py,sha256=K_gfDtSIf1IMPVA8TUGMHej8Lt-ligbidrxF6yylW8A,3700
263
263
  alita_sdk/tools/gitlab_org/api_wrapper.py,sha256=RYt5gIZffpukKAvynCMgHbXJy8c8ABMbm56ZVPttCbU,30130
264
264
  alita_sdk/tools/gmail/__init__.py,sha256=RkVWqVT335tpSUEVZUWqqPYMOYnxjkPmkBKLYdkpKto,887
265
265
  alita_sdk/tools/gmail/gmail_wrapper.py,sha256=t0IYM3zb77Ub8o9kv6HugNm_OoG5tN9T730hYmY8F-c,1312
@@ -269,9 +269,9 @@ alita_sdk/tools/google/bigquery/__init__.py,sha256=RIpupKYkB1uJjtmY5HZxJsfotaJ2-
269
269
  alita_sdk/tools/google/bigquery/api_wrapper.py,sha256=I8wETiA36w6odKZwb_4TA1g_5RgUr1LOZg4hOpBC5to,19683
270
270
  alita_sdk/tools/google/bigquery/schemas.py,sha256=Gb8KQZSoRkmjXiz21dTC95c1MHEHFcnA0lPTqb8ZjCY,4455
271
271
  alita_sdk/tools/google/bigquery/tool.py,sha256=Esf9Hsp8I0e7-5EdkFqQ-bid0cfrg-bfSoHoW_IIARo,1027
272
- alita_sdk/tools/google_places/__init__.py,sha256=QtmBCI0bHDK79u4hsCSWFcUihu-h4EmPSh9Yll7zz3w,3590
272
+ alita_sdk/tools/google_places/__init__.py,sha256=bRGxP0RBg33Zi8B-602sg1KkkfmPMRAn-mtJKGPg8-Q,3586
273
273
  alita_sdk/tools/google_places/api_wrapper.py,sha256=7nZly6nk4f4Tm7s2MVdnnwlb-1_WHRrDhyjDiqoyPjA,4674
274
- alita_sdk/tools/jira/__init__.py,sha256=G-9qnOYKFWM_adG0QFexh5-2pj_WaxIxxZanB3ARFqI,6339
274
+ alita_sdk/tools/jira/__init__.py,sha256=y7AgOU3UiuaP8J3sY20pOPUdGZXxQqOYJTB7fnL5SNs,6405
275
275
  alita_sdk/tools/jira/api_wrapper.py,sha256=xmbZNYL1YkSsVXKuKEVQs1j0Fh7weGj4MdW5CnkXK-o,82611
276
276
  alita_sdk/tools/keycloak/__init__.py,sha256=0WB9yXMUUAHQRni1ghDEmd7GYa7aJPsTVlZgMCM9cQ0,3050
277
277
  alita_sdk/tools/keycloak/api_wrapper.py,sha256=cOGr0f3S3-c6tRDBWI8wMnetjoNSxiV5rvC_0VHb8uw,3100
@@ -281,12 +281,12 @@ alita_sdk/tools/llm/llm_utils.py,sha256=6P2j-42JGbyqpO8lNRuEP8GEhja-LC9E-98jTelK
281
281
  alita_sdk/tools/localgit/__init__.py,sha256=NScO0Eu-wl-rc63jjD5Qv1RXXB1qukSIJXx-yS_JQLI,2529
282
282
  alita_sdk/tools/localgit/local_git.py,sha256=gsAftNcK7nMCd8VsIkwDLs2SoG0MgpYdkQG5tmoynkA,18074
283
283
  alita_sdk/tools/localgit/tool.py,sha256=It_B24rMvFPurB355Oy5IShg2BsZTASsEoSS8hu2SXw,998
284
- alita_sdk/tools/memory/__init__.py,sha256=aOF0-PAAqBZS3rI2IOezyLhZpn-WpV--ABy4J_eIAKo,4789
284
+ alita_sdk/tools/memory/__init__.py,sha256=jZy5dAthwPfeEW24DQdTeRiY46AZjeTzdjH3OOeU2Rw,4747
285
285
  alita_sdk/tools/ocr/__init__.py,sha256=pvslKVXyJmK0q23FFDNieuc7RBIuzNXTjTNj-GqhGb0,3335
286
286
  alita_sdk/tools/ocr/api_wrapper.py,sha256=08UF8wj1sR8DcW0z16pw19bgLatLkBF8dySW-Ds8iRk,29649
287
287
  alita_sdk/tools/ocr/text_detection.py,sha256=1DBxt54r3_HdEi93QynSIVta3rH3UpIvy799TPtDTtk,23825
288
288
  alita_sdk/tools/openapi/__init__.py,sha256=a3eE1zL2InB_bnngKhFoQlR-B4voywqs3s9mEbWypCE,5417
289
- alita_sdk/tools/pandas/__init__.py,sha256=rGenKJH5b9__qM4GerpyLT5YEhNk7W1gA7gn6Zpew04,2748
289
+ alita_sdk/tools/pandas/__init__.py,sha256=0RyVoTXCYOGcTs2IUOlh1X7Iwz5E8UYajN26ZFAzrL4,2650
290
290
  alita_sdk/tools/pandas/api_wrapper.py,sha256=wn0bagB45Tz_kN0FoKUCIxKcYklMMWTqQP5NOM8_Kwc,11100
291
291
  alita_sdk/tools/pandas/dataframe/__init__.py,sha256=iOZRlYDEtwqg2MaYFFxETjN8yHAkUqSNe86cm6ao4LA,108
292
292
  alita_sdk/tools/pandas/dataframe/errors.py,sha256=MBzpi5e2p3lNKxiVadzuT5A_DwuTT8cpJ059rXsdabs,320
@@ -305,64 +305,64 @@ alita_sdk/tools/pandas/statsmodels/base_stats.py,sha256=jeKW1KfyaNi4M6wkru2iXHNr
305
305
  alita_sdk/tools/pandas/statsmodels/descriptive.py,sha256=APdofBnEiRhMrn6tLKwH076NPp5uHe8VwmblN3lQLfQ,10217
306
306
  alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py,sha256=fdNAayMB3W7avMfKJCcbf2_P54vUXbq8KVebOB48348,10508
307
307
  alita_sdk/tools/pandas/statsmodels/regression.py,sha256=Y1pWK4u_qzrfA740K-FX0nZ5FREGGPk8mfvykPIYoiI,9164
308
- alita_sdk/tools/postman/__init__.py,sha256=2bvyhAqmAwXjswiPiuMaB7caU44k5rAWyeR58pc1ksU,4472
308
+ alita_sdk/tools/postman/__init__.py,sha256=c4OgKxCVPbRw0NSU4vcB-iWMT_Yed--Sjb4XkmVcCJo,4538
309
309
  alita_sdk/tools/postman/api_wrapper.py,sha256=bTVDEeezRp9-fhot4MFX3-DOr_soJB5eOMVjNPmg6Fg,97013
310
310
  alita_sdk/tools/postman/postman_analysis.py,sha256=ckc2BfKEop0xnmLPksVRE_Y94ixuqOGowaClBzHCSn4,45560
311
- alita_sdk/tools/pptx/__init__.py,sha256=vVUrWnj7KWJgEk9oxGSsCAQ2SMSXrp_SFOdUHYQKcAo,3444
311
+ alita_sdk/tools/pptx/__init__.py,sha256=JP4523kvgcRbKevy9s7KllDbzHV9-ArKMNBuzeT97VI,3378
312
312
  alita_sdk/tools/pptx/pptx_wrapper.py,sha256=yyCYcTlIY976kJ4VfPo4dyxj4yeii9j9TWP6W8ZIpN8,29195
313
- alita_sdk/tools/qtest/__init__.py,sha256=Jf0xo5S_4clXR2TfCbJbB1sFgCbcFQRM-YYX2ltWBzo,4461
314
- alita_sdk/tools/qtest/api_wrapper.py,sha256=CpsF98JNHjiQvUEYWsbniBERni5YWvCq0OSJM1mI9mg,59741
313
+ alita_sdk/tools/qtest/__init__.py,sha256=IGObKF5m7vCE1Pq4cQ7iAMBckryZ5gowdBbnAey5DFQ,4384
314
+ alita_sdk/tools/qtest/api_wrapper.py,sha256=YiXkCPlzudHl7Hke-U8oWvix1mD_00poD8MNa9F2YR4,61841
315
315
  alita_sdk/tools/qtest/tool.py,sha256=kKzNPS4fUC76WQQttQ6kdVANViHEvKE8Kf174MQiNYU,562
316
- alita_sdk/tools/rally/__init__.py,sha256=2BPPXJxAOKgfmaxVFVvxndfK0JxOXDLkoRmzu2dUwOE,3512
316
+ alita_sdk/tools/rally/__init__.py,sha256=VESgUY_m0lQVyoSuuCRyLgURn7vHs-JIMS_0oH4e0LQ,3347
317
317
  alita_sdk/tools/rally/api_wrapper.py,sha256=mouzU6g0KML4UNapdk0k6Q0pU3MpJuWnNo71n9PSEHM,11752
318
- alita_sdk/tools/report_portal/__init__.py,sha256=GCq_0-JhamtyF_26oMkOtBPluv3eSCnEnIEEU5YLxn8,3129
318
+ alita_sdk/tools/report_portal/__init__.py,sha256=cq2xPEGb6ppfzYqtC2CKW3x3sYTwzJO5VlMqCibGbO0,3249
319
319
  alita_sdk/tools/report_portal/api_wrapper.py,sha256=-xiCeWyAnvDa9qLZ2cUr_KCR3feZ-UzUFw1PabkhrPU,9512
320
320
  alita_sdk/tools/report_portal/report_portal_client.py,sha256=-wUDudCQJZCJ38LI2aApRFb-IQOD8bp_YmVUz3xubZ4,2812
321
- alita_sdk/tools/salesforce/__init__.py,sha256=JoMET78UKnGeikjKfqmdSf4l1H-OkOBLxueRLWrWXVc,3030
321
+ alita_sdk/tools/salesforce/__init__.py,sha256=n-vk7rGk_1CWTfeAHI7iRsyJt-2jhrGDgE8Sw-cMZdM,3098
322
322
  alita_sdk/tools/salesforce/api_wrapper.py,sha256=kvl7WGzN8Kto5OSgm91AxMFmBFJHRhV_5aFwKWExFMM,9451
323
323
  alita_sdk/tools/salesforce/model.py,sha256=wzpbTdUx5mANApAZFQIKzq7xXtYBiiSlKvrTX4ySQS8,1887
324
- alita_sdk/tools/servicenow/__init__.py,sha256=ziEt2juPrGFyB98ZXbGf25v6gZo4UJTHszA_eF7qCoY,4630
324
+ alita_sdk/tools/servicenow/__init__.py,sha256=rI8WrlA5mKxdSe7NYX6Ehd0NTfGx2CEbE6V3PkQZHEg,4537
325
325
  alita_sdk/tools/servicenow/api_wrapper.py,sha256=WpH-bBLGFdhehs4g-K-WAkNuaD1CSrwsDpdgB3RG53s,6120
326
326
  alita_sdk/tools/servicenow/servicenow_client.py,sha256=Rdqfu-ll-qbnclMzChLZBsfXRDzgoX_FdeI2WLApWxc,3269
327
- alita_sdk/tools/sharepoint/__init__.py,sha256=5z2iSmm-0kbHKf70wN6OOgS4Px7tOzwkIpHXz0Vrbj4,4045
327
+ alita_sdk/tools/sharepoint/__init__.py,sha256=mtBw8oBq2LWQpMAgidF7BDn3oOgD3QCWEQjBW80RN3M,4117
328
328
  alita_sdk/tools/sharepoint/api_wrapper.py,sha256=yOAZfa9-GcjohTak-TqcFL8f7s18hIA89FNO0qXjb_s,16614
329
329
  alita_sdk/tools/sharepoint/authorization_helper.py,sha256=GN_UkI_HOn9b5UFlxqck7sm6HuB_Kh4wCIGBYFPe2dg,11924
330
330
  alita_sdk/tools/sharepoint/utils.py,sha256=CO1PNRC5CpQaVo2Gdenj_jqm2bReSqUT92Bk5s37d8M,573
331
- alita_sdk/tools/slack/__init__.py,sha256=YiPAoRc6y6uVpfHl0K1Qi-flcyPlWFIMVcVbhicGWXY,3990
331
+ alita_sdk/tools/slack/__init__.py,sha256=AurOivHcpqvrrbg7rwTz8lrMfM6KPskWmHs6ml0jZVM,4057
332
332
  alita_sdk/tools/slack/api_wrapper.py,sha256=5VrV7iSGno8ZcDzEHdGPNhInhtODGPPvAzoZ9W9iQWE,14009
333
- alita_sdk/tools/sql/__init__.py,sha256=F3eewPEKqVh3gZdNTUvcoFPOgG9Mn11qKoadtCmhQ4Q,3484
333
+ alita_sdk/tools/sql/__init__.py,sha256=CxyGAMd6RjV1F15Y2jfcDcJuamVZs5Z9m1mpDL32uw4,3480
334
334
  alita_sdk/tools/sql/api_wrapper.py,sha256=1VkwnMBr7hGn-LsXXhG774QQQTHvUZilnDuflN2pQes,5810
335
335
  alita_sdk/tools/sql/models.py,sha256=AKJgSl_kEEz4fZfw3kbvdGHXaRZ-yiaqfJOB6YOj3i0,641
336
- alita_sdk/tools/testio/__init__.py,sha256=NEvQtzsffqAXryaffVk0GpdcxZQ1AMkfeztnxHwNql4,2798
336
+ alita_sdk/tools/testio/__init__.py,sha256=8MMljOurdL0Lp1oBNF9OydtxyhgPYW6uPDR5g2q4JBo,2898
337
337
  alita_sdk/tools/testio/api_wrapper.py,sha256=BvmL5h634BzG6p7ajnQLmj-uoAw1gjWnd4FHHu1h--Q,21638
338
- alita_sdk/tools/testrail/__init__.py,sha256=Xg4nVjULL_D8JpIXLYXppnwUfGF4-lguFwKHmP5VwxM,4696
338
+ alita_sdk/tools/testrail/__init__.py,sha256=C0jEC5DuMcUzKWVZNF20BvVpPYoyare1gWan5A9Ga8w,4620
339
339
  alita_sdk/tools/testrail/api_wrapper.py,sha256=tQcGlFJmftvs5ZiO4tsP19fCo4CrJeq_UEvQR1liVfE,39891
340
340
  alita_sdk/tools/utils/__init__.py,sha256=xB9OQgW65DftadrSpoAAitnEIbIXZKBOCji0NDe7FRM,3923
341
341
  alita_sdk/tools/utils/available_tools_decorator.py,sha256=IbrdfeQkswxUFgvvN7-dyLMZMyXLiwvX7kgi3phciCk,273
342
342
  alita_sdk/tools/utils/content_parser.py,sha256=KqiZzsurLspxCLemf9eqYhgW266FgWP4r-xElcK8a38,15881
343
343
  alita_sdk/tools/vector_adapters/VectorStoreAdapter.py,sha256=-9ByRh8bVRraTcJPS7SE-2l3en6A4UkKGS9iAd9fa3w,19722
344
344
  alita_sdk/tools/vector_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
345
- alita_sdk/tools/xray/__init__.py,sha256=eOMWP8VamFbbJgt1xrGpGPqB9ByOTA0Cd3LCaETzGk4,4376
345
+ alita_sdk/tools/xray/__init__.py,sha256=g3WERlLujmVTxdg3AUWE9N8YgndNWJ9r0M1-FgA3MdM,4462
346
346
  alita_sdk/tools/xray/api_wrapper.py,sha256=uj5kzUgPdo_Oct9WCNMOpkb6o_3L7J4LZrEGtrwYMmc,30157
347
347
  alita_sdk/tools/yagmail/__init__.py,sha256=c4Qn3em0tLxzRmFKpzbBgY9W2EnOoKf0azoDJHng5CY,2208
348
348
  alita_sdk/tools/yagmail/yagmail_wrapper.py,sha256=SKoGVd1X4Ew3ad5tOdtPoY00M6jStNdT3q7GXEjQc5g,1952
349
349
  alita_sdk/tools/zephyr/Zephyr.py,sha256=ODZbg9Aw0H0Rbv-HcDXLI4KHbPiLDHoteDofshw9A_k,1508
350
- alita_sdk/tools/zephyr/__init__.py,sha256=i5j-nHEZ5bRSTCM844rM8QAU2jLwhSYVQlJB3sB-J-U,2996
350
+ alita_sdk/tools/zephyr/__init__.py,sha256=ylhSqjt8isUWUmySv2ilO46XWpTGm0pgQAV0wwrMhB8,2974
351
351
  alita_sdk/tools/zephyr/api_wrapper.py,sha256=lJCYPG03ej0qgdpLflnS7LFB4HSAfGzIvTjAJt07CQs,6244
352
352
  alita_sdk/tools/zephyr/rest_client.py,sha256=7vSD3oYIX-3KbAFed-mphSQif_VRuXrq5O07ryNQ7Pk,6208
353
- alita_sdk/tools/zephyr_enterprise/__init__.py,sha256=zmUZ7q3ACkHsOrfDO5UdbBPQ-0rWBK_Z9g8cmU1tpsk,4271
353
+ alita_sdk/tools/zephyr_enterprise/__init__.py,sha256=WhNyw-lcg9Lv_1WfhHZlAYaiU8e9XgK-O4oE3yIRR3Q,4349
354
354
  alita_sdk/tools/zephyr_enterprise/api_wrapper.py,sha256=FSqW3FKqoOkp3wsCz9_4wLem0KAqbbmqIyIA8vh0Cp4,12117
355
355
  alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py,sha256=hV9LIrYfJT6oYp-ZfQR0YHflqBFPsUw2Oc55HwK0H48,6809
356
- alita_sdk/tools/zephyr_essential/__init__.py,sha256=osbquER9AHy4QBuFplyHfcIMoyjphyOdkhGy243oVso,4079
356
+ alita_sdk/tools/zephyr_essential/__init__.py,sha256=_pve9n6VOn_AzLYoS5cwtvCyxE87MxOL3Yc4mFwCFTs,4195
357
357
  alita_sdk/tools/zephyr_essential/api_wrapper.py,sha256=SMru8XGTiHFYRmeRC4A3v9YC4n8Ggb7PkhO3N_bOCHs,46876
358
358
  alita_sdk/tools/zephyr_essential/client.py,sha256=fX_n2pACNzDiHxry3F4Xc6baUdw7d9U2m4srbfBv5Eg,9882
359
- alita_sdk/tools/zephyr_scale/__init__.py,sha256=pV8Uo3HT3DsZXqAHZ_bVGTwmryekcRnJYxqBs2DaTUU,4388
359
+ alita_sdk/tools/zephyr_scale/__init__.py,sha256=OL7O3jIh7M2SfD1GBCkNTTkcIaWs-FzF7aV9OpkbKew,4465
360
360
  alita_sdk/tools/zephyr_scale/api_wrapper.py,sha256=kT0TbmMvuKhDUZc0i7KO18O38JM9SDU7-rUzYEPDuso,78619
361
- alita_sdk/tools/zephyr_squad/__init__.py,sha256=0ne8XLJEQSLOWfzd2HdnqOYmQlUliKHbBED5kW_Vias,2895
361
+ alita_sdk/tools/zephyr_squad/__init__.py,sha256=Gl1YAFaMMufTNjIpnuo_c_lbDsQkmproYdZz2ZppgJ4,3007
362
362
  alita_sdk/tools/zephyr_squad/api_wrapper.py,sha256=kmw_xol8YIYFplBLWTqP_VKPRhL_1ItDD0_vXTe_UuI,14906
363
363
  alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py,sha256=R371waHsms4sllHCbijKYs90C-9Yu0sSR3N4SUfQOgU,5066
364
- alita_sdk-0.3.456.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
365
- alita_sdk-0.3.456.dist-info/METADATA,sha256=qtCZxFWE8RcmgvrmG3Qyf0VN1-q61pzgG_q4R4DH8EA,19101
366
- alita_sdk-0.3.456.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
367
- alita_sdk-0.3.456.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
368
- alita_sdk-0.3.456.dist-info/RECORD,,
364
+ alita_sdk-0.3.457b0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
365
+ alita_sdk-0.3.457b0.dist-info/METADATA,sha256=y8iIPCwCcawEBlaA7fFZJMRL-C-JG_ykWWiV35rZnGE,19103
366
+ alita_sdk-0.3.457b0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
367
+ alita_sdk-0.3.457b0.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
368
+ alita_sdk-0.3.457b0.dist-info/RECORD,,