alita-sdk 0.3.302__py3-none-any.whl → 0.3.303__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 (46) hide show
  1. alita_sdk/configurations/figma.py +0 -1
  2. alita_sdk/runtime/tools/vectorstore_base.py +17 -23
  3. alita_sdk/tools/ado/repos/__init__.py +3 -0
  4. alita_sdk/tools/ado/test_plan/__init__.py +3 -0
  5. alita_sdk/tools/ado/wiki/__init__.py +3 -0
  6. alita_sdk/tools/ado/work_item/__init__.py +3 -0
  7. alita_sdk/tools/advanced_jira_mining/__init__.py +2 -0
  8. alita_sdk/tools/azure_ai/search/__init__.py +3 -0
  9. alita_sdk/tools/base_indexer_toolkit.py +4 -4
  10. alita_sdk/tools/bitbucket/__init__.py +2 -0
  11. alita_sdk/tools/carrier/__init__.py +2 -0
  12. alita_sdk/tools/cloud/aws/__init__.py +2 -0
  13. alita_sdk/tools/cloud/azure/__init__.py +2 -0
  14. alita_sdk/tools/cloud/gcp/__init__.py +2 -0
  15. alita_sdk/tools/cloud/k8s/__init__.py +2 -0
  16. alita_sdk/tools/code/sonar/__init__.py +2 -0
  17. alita_sdk/tools/confluence/__init__.py +3 -0
  18. alita_sdk/tools/elitea_base.py +24 -1
  19. alita_sdk/tools/figma/__init__.py +2 -0
  20. alita_sdk/tools/github/__init__.py +4 -1
  21. alita_sdk/tools/gitlab/__init__.py +2 -0
  22. alita_sdk/tools/gitlab_org/__init__.py +3 -0
  23. alita_sdk/tools/google_places/__init__.py +2 -0
  24. alita_sdk/tools/jira/__init__.py +9 -0
  25. alita_sdk/tools/qtest/__init__.py +2 -0
  26. alita_sdk/tools/rally/__init__.py +2 -0
  27. alita_sdk/tools/report_portal/__init__.py +2 -0
  28. alita_sdk/tools/salesforce/__init__.py +3 -0
  29. alita_sdk/tools/servicenow/__init__.py +3 -0
  30. alita_sdk/tools/sharepoint/__init__.py +2 -0
  31. alita_sdk/tools/sharepoint/api_wrapper.py +11 -1
  32. alita_sdk/tools/slack/__init__.py +2 -0
  33. alita_sdk/tools/sql/__init__.py +2 -0
  34. alita_sdk/tools/testio/__init__.py +2 -0
  35. alita_sdk/tools/testrail/__init__.py +2 -0
  36. alita_sdk/tools/xray/__init__.py +2 -0
  37. alita_sdk/tools/zephyr/__init__.py +2 -0
  38. alita_sdk/tools/zephyr_enterprise/__init__.py +2 -0
  39. alita_sdk/tools/zephyr_essential/__init__.py +2 -0
  40. alita_sdk/tools/zephyr_scale/__init__.py +2 -0
  41. alita_sdk/tools/zephyr_squad/__init__.py +2 -0
  42. {alita_sdk-0.3.302.dist-info → alita_sdk-0.3.303.dist-info}/METADATA +1 -1
  43. {alita_sdk-0.3.302.dist-info → alita_sdk-0.3.303.dist-info}/RECORD +46 -46
  44. {alita_sdk-0.3.302.dist-info → alita_sdk-0.3.303.dist-info}/WHEEL +0 -0
  45. {alita_sdk-0.3.302.dist-info → alita_sdk-0.3.303.dist-info}/licenses/LICENSE +0 -0
  46. {alita_sdk-0.3.302.dist-info → alita_sdk-0.3.303.dist-info}/top_level.txt +0 -0
@@ -28,4 +28,3 @@ class FigmaConfiguration(BaseModel):
28
28
  }
29
29
  )
30
30
  token: Optional[SecretStr] = Field(description="Figma Token", json_schema_extra={"secret": True}, default=None)
31
- oauth2: Optional[SecretStr] = Field(description="OAuth2 Token", json_schema_extra={"secret": True}, default=None)
@@ -133,9 +133,9 @@ How did you come up with the answer?
133
133
 
134
134
  class VectorStoreWrapperBase(BaseToolApiWrapper):
135
135
  llm: Any
136
- embedding_model: str
137
- vectorstore_type: str
138
- vectorstore_params: dict
136
+ embedding_model: Optional[str] = None
137
+ vectorstore_type: Optional[str] = None
138
+ vectorstore_params: Optional[dict] = None
139
139
  max_docs_per_add: int = 100
140
140
  dataset: str = None
141
141
  embedding: Any = None
@@ -150,28 +150,22 @@ class VectorStoreWrapperBase(BaseToolApiWrapper):
150
150
  @model_validator(mode='before')
151
151
  @classmethod
152
152
  def validate_toolkit(cls, values):
153
- from ..langchain.interfaces.llm_processor import get_embeddings, get_vectorstore
153
+ from ..langchain.interfaces.llm_processor import get_vectorstore
154
154
  logger.debug(f"Validating toolkit: {values}")
155
- if not values.get('vectorstore_type'):
156
- raise ValueError("Vectorstore type is required.")
157
- if not values.get('embedding_model'):
158
- raise ValueError("Embedding model is required.")
159
- if not values.get('vectorstore_params'):
160
- raise ValueError("Vectorstore parameters are required.")
161
- values["dataset"] = values.get('vectorstore_params').get('collection_name')
162
- if not values["dataset"]:
163
- raise ValueError("Collection name is required.")
164
- if not values.get('embeddings'):
155
+ if 'vectorstore_params' in values:
156
+ values["dataset"] = values.get('vectorstore_params').get('collection_name')
157
+ if values.get('embedding_model'):
165
158
  values['embeddings'] = values['alita'].get_embeddings(values['embedding_model'])
166
- values['vectorstore'] = get_vectorstore(values['vectorstore_type'], values['vectorstore_params'], embedding_func=values['embeddings'])
167
- values['vectoradapter'] = VectorAdapter(
168
- vectorstore=values['vectorstore'],
169
- embeddings=values['embeddings'],
170
- quota_params=None,
171
- )
172
- # Initialize the new vector adapter
173
- values['vector_adapter'] = VectorStoreAdapterFactory.create_adapter(values['vectorstore_type'])
174
- logger.debug(f"Vectorstore wrapper initialized: {values}")
159
+ if values.get('vectorstore_type') and values.get('vectorstore_params') and values.get('embedding_model'):
160
+ values['vectorstore'] = get_vectorstore(values['vectorstore_type'], values['vectorstore_params'], embedding_func=values['embeddings'])
161
+ values['vectoradapter'] = VectorAdapter(
162
+ vectorstore=values['vectorstore'],
163
+ embeddings=values['embeddings'],
164
+ quota_params=None,
165
+ )
166
+ # Initialize the new vector adapter
167
+ values['vector_adapter'] = VectorStoreAdapterFactory.create_adapter(values['vectorstore_type'])
168
+ logger.debug(f"Vectorstore wrapper initialized: {values}")
175
169
  return values
176
170
 
177
171
  def _init_pg_helper(self, language='english'):
@@ -5,6 +5,7 @@ from pydantic import BaseModel, Field, create_model
5
5
 
6
6
  import requests
7
7
 
8
+ from ...elitea_base import filter_missconfigured_index_tools
8
9
  from ....configurations.ado import AdoReposConfiguration
9
10
  from ....configurations.pgvector import PgVectorConfiguration
10
11
  from ...base.tool import BaseAction
@@ -26,6 +27,7 @@ def _get_toolkit(tool) -> BaseToolkit:
26
27
  embedding_model=tool['settings'].get('embedding_model'),
27
28
  collection_name=tool['toolkit_name'],
28
29
  alita=tool['settings'].get('alita', None),
30
+ llm=tool['settings'].get('llm', None),
29
31
  )
30
32
 
31
33
  def get_toolkit():
@@ -77,6 +79,7 @@ class AzureDevOpsReposToolkit(BaseToolkit):
77
79
  return m
78
80
 
79
81
  @classmethod
82
+ @filter_missconfigured_index_tools
80
83
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
81
84
  from os import environ
82
85
 
@@ -4,6 +4,8 @@ from langchain_core.tools import BaseTool, BaseToolkit
4
4
  from pydantic import create_model, BaseModel, Field
5
5
 
6
6
  import requests
7
+
8
+ from ...elitea_base import filter_missconfigured_index_tools
7
9
  from ....configurations.ado import AdoConfiguration
8
10
  from ....configurations.pgvector import PgVectorConfiguration
9
11
  from .test_plan_wrapper import TestPlanApiWrapper
@@ -79,6 +81,7 @@ class AzureDevOpsPlansToolkit(BaseToolkit):
79
81
  return m
80
82
 
81
83
  @classmethod
84
+ @filter_missconfigured_index_tools
82
85
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
83
86
  from os import environ
84
87
  if not environ.get('AZURE_DEVOPS_CACHE_DIR', None):
@@ -4,6 +4,8 @@ from langchain_core.tools import BaseTool, BaseToolkit
4
4
  from pydantic import create_model, BaseModel, Field
5
5
 
6
6
  import requests
7
+
8
+ from ...elitea_base import filter_missconfigured_index_tools
7
9
  from ....configurations.ado import AdoConfiguration
8
10
  from ....configurations.pgvector import PgVectorConfiguration
9
11
  from ...base.tool import BaseAction
@@ -77,6 +79,7 @@ class AzureDevOpsWikiToolkit(BaseToolkit):
77
79
  return m
78
80
 
79
81
  @classmethod
82
+ @filter_missconfigured_index_tools
80
83
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
81
84
  from os import environ
82
85
  if not environ.get('AZURE_DEVOPS_CACHE_DIR', None):
@@ -4,6 +4,8 @@ from langchain_core.tools import BaseTool, BaseToolkit
4
4
  from pydantic import create_model, BaseModel, Field
5
5
 
6
6
  import requests
7
+
8
+ from ...elitea_base import filter_missconfigured_index_tools
7
9
  from ....configurations.ado import AdoConfiguration
8
10
  from ....configurations.pgvector import PgVectorConfiguration
9
11
  from ...base.tool import BaseAction
@@ -77,6 +79,7 @@ class AzureDevOpsWorkItemsToolkit(BaseToolkit):
77
79
  return m
78
80
 
79
81
  @classmethod
82
+ @filter_missconfigured_index_tools
80
83
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
81
84
  from os import environ
82
85
  if not environ.get('AZURE_DEVOPS_CACHE_DIR', None):
@@ -5,6 +5,7 @@ from pydantic import create_model, BaseModel, Field, SecretStr
5
5
 
6
6
  from .data_mining_wrapper import AdvancedJiraMiningWrapper
7
7
  from ..base.tool import BaseAction
8
+ from ..elitea_base import filter_missconfigured_index_tools
8
9
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
9
10
 
10
11
  name = "advanced_jira_mining"
@@ -59,6 +60,7 @@ class AdvancedJiraMiningToolkit(BaseToolkit):
59
60
  )
60
61
 
61
62
  @classmethod
63
+ @filter_missconfigured_index_tools
62
64
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
63
65
  if selected_tools is None:
64
66
  selected_tools = []
@@ -4,6 +4,8 @@ from .api_wrapper import AzureSearchApiWrapper
4
4
  from ...base.tool import BaseAction
5
5
  from langchain_core.tools import BaseToolkit, BaseTool
6
6
  from pydantic import create_model, BaseModel, ConfigDict, Field
7
+
8
+ from ...elitea_base import filter_missconfigured_index_tools
7
9
  from ...utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length, check_connection_response
8
10
  from ....configurations.azure_search import AzureSearchConfiguration
9
11
  import requests
@@ -66,6 +68,7 @@ class AzureSearchToolkit(BaseToolkit):
66
68
  return m
67
69
 
68
70
  @classmethod
71
+ @filter_missconfigured_index_tools
69
72
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
70
73
  if selected_tools is None:
71
74
  selected_tools = []
@@ -110,13 +110,13 @@ class BaseIndexerToolkit(VectorStoreWrapperBase):
110
110
  connection_string = conn.get_secret_value() if isinstance(conn, SecretStr) else conn
111
111
  collection_name = kwargs.get('collection_name')
112
112
 
113
- if not kwargs.get('embedding_model'):
114
- kwargs['embedding_model'] = 'text-embedding-ada-002'
115
113
  if 'vectorstore_type' not in kwargs:
116
114
  kwargs['vectorstore_type'] = 'PGVector'
117
115
  vectorstore_type = kwargs.get('vectorstore_type')
118
- kwargs['vectorstore_params'] = VectorStoreAdapterFactory.create_adapter(vectorstore_type).get_vectorstore_params(collection_name, connection_string)
119
- kwargs['_embedding'] = kwargs.get('alita').get_embeddings(kwargs.get('embedding_model'))
116
+ if connection_string:
117
+ # Initialize vectorstore params only if connection string is provided
118
+ kwargs['vectorstore_params'] = VectorStoreAdapterFactory.create_adapter(vectorstore_type).get_vectorstore_params(collection_name, connection_string)
119
+ kwargs['_embedding'] = kwargs.get('alita').get_embeddings(kwargs.get('embedding_model'))
120
120
  super().__init__(**kwargs)
121
121
 
122
122
  def _index_tool_params(self, **kwargs) -> dict[str, tuple[type, Field]]:
@@ -8,6 +8,7 @@ from langchain_core.tools import BaseTool
8
8
  from pydantic import BaseModel, Field, ConfigDict, create_model
9
9
 
10
10
  from ..base.tool import BaseAction
11
+ from ..elitea_base import filter_missconfigured_index_tools
11
12
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length, check_connection_response
12
13
  from ...configurations.bitbucket import BitbucketConfiguration
13
14
  from ...configurations.pgvector import PgVectorConfiguration
@@ -85,6 +86,7 @@ class AlitaBitbucketToolkit(BaseToolkit):
85
86
  return m
86
87
 
87
88
  @classmethod
89
+ @filter_missconfigured_index_tools
88
90
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
89
91
  if selected_tools is None:
90
92
  selected_tools = []
@@ -6,6 +6,7 @@ from functools import lru_cache
6
6
 
7
7
  from .api_wrapper import CarrierAPIWrapper
8
8
  from .tools import __all__
9
+ from ..elitea_base import filter_missconfigured_index_tools
9
10
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
10
11
  from ...configurations.carrier import CarrierConfiguration
11
12
 
@@ -46,6 +47,7 @@ class AlitaCarrierToolkit(BaseToolkit):
46
47
  )
47
48
 
48
49
  @classmethod
50
+ @filter_missconfigured_index_tools
49
51
  def get_toolkit(
50
52
  cls,
51
53
  selected_tools: Optional[List[str]] = None,
@@ -5,6 +5,7 @@ from langchain_core.tools import BaseToolkit, BaseTool
5
5
 
6
6
  from .api_wrapper import AWSToolConfig
7
7
  from ...base.tool import BaseAction
8
+ from ...elitea_base import filter_missconfigured_index_tools
8
9
  from ...utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
9
10
 
10
11
  name = "aws"
@@ -46,6 +47,7 @@ class AWSToolkit(BaseToolkit):
46
47
  )
47
48
 
48
49
  @classmethod
50
+ @filter_missconfigured_index_tools
49
51
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
50
52
  if selected_tools is None:
51
53
  selected_tools = []
@@ -5,6 +5,7 @@ from pydantic import create_model, BaseModel, ConfigDict, Field, SecretStr
5
5
 
6
6
  from .api_wrapper import AzureApiWrapper
7
7
  from ...base.tool import BaseAction
8
+ from ...elitea_base import filter_missconfigured_index_tools
8
9
  from ...utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
9
10
 
10
11
  name = "azure"
@@ -39,6 +40,7 @@ class AzureToolkit(BaseToolkit):
39
40
  )
40
41
 
41
42
  @classmethod
43
+ @filter_missconfigured_index_tools
42
44
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
43
45
  if selected_tools is None:
44
46
  selected_tools = []
@@ -5,6 +5,7 @@ from pydantic import create_model, BaseModel, ConfigDict, Field, SecretStr
5
5
 
6
6
  from .api_wrapper import GCPApiWrapper
7
7
  from ...base.tool import BaseAction
8
+ from ...elitea_base import filter_missconfigured_index_tools
8
9
  from ...utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
9
10
 
10
11
  name = "gcp"
@@ -33,6 +34,7 @@ class GCPToolkit(BaseToolkit):
33
34
  )
34
35
 
35
36
  @classmethod
37
+ @filter_missconfigured_index_tools
36
38
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
37
39
  if selected_tools is None:
38
40
  selected_tools = []
@@ -5,6 +5,7 @@ from pydantic import create_model, BaseModel, ConfigDict, Field, SecretStr
5
5
 
6
6
  from .api_wrapper import KubernetesApiWrapper
7
7
  from ...base.tool import BaseAction
8
+ from ...elitea_base import filter_missconfigured_index_tools
8
9
  from ...utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
9
10
 
10
11
  name = "kubernetes"
@@ -43,6 +44,7 @@ class KubernetesToolkit(BaseToolkit):
43
44
  )
44
45
 
45
46
  @classmethod
47
+ @filter_missconfigured_index_tools
46
48
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
47
49
  if selected_tools is None:
48
50
  selected_tools = []
@@ -4,6 +4,7 @@ from pydantic import create_model, BaseModel, ConfigDict, Field
4
4
 
5
5
  from .api_wrapper import SonarApiWrapper
6
6
  from ...base.tool import BaseAction
7
+ from ...elitea_base import filter_missconfigured_index_tools
7
8
  from ...utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
8
9
  from ....configurations.sonar import SonarConfiguration
9
10
 
@@ -43,6 +44,7 @@ class SonarToolkit(BaseToolkit):
43
44
  )
44
45
 
45
46
  @classmethod
47
+ @filter_missconfigured_index_tools
46
48
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
47
49
  if selected_tools is None:
48
50
  selected_tools = []
@@ -4,6 +4,8 @@ from .api_wrapper import ConfluenceAPIWrapper
4
4
  from langchain_core.tools import BaseTool
5
5
  from ..base.tool import BaseAction
6
6
  from pydantic import create_model, BaseModel, ConfigDict, Field
7
+
8
+ from ..elitea_base import filter_missconfigured_index_tools
7
9
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length, parse_list, check_connection_response
8
10
  from ...configurations.confluence import ConfluenceConfiguration
9
11
  from ...configurations.pgvector import PgVectorConfiguration
@@ -103,6 +105,7 @@ class ConfluenceToolkit(BaseToolkit):
103
105
  return model
104
106
 
105
107
  @classmethod
108
+ @filter_missconfigured_index_tools
106
109
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
107
110
  if selected_tools is None:
108
111
  selected_tools = []
@@ -17,6 +17,9 @@ from ..runtime.utils.utils import IndexerKeywords
17
17
 
18
18
  logger = logging.getLogger(__name__)
19
19
 
20
+ INDEX_TOOL_NAMES = ['index_data', 'remove_index', 'list_collections', 'search_index', 'stepback_search_index',
21
+ 'stepback_summary_index']
22
+
20
23
  LoaderSchema = create_model(
21
24
  "LoaderSchema",
22
25
  branch=(Optional[str], Field(
@@ -699,4 +702,24 @@ def extend_with_vector_tools(method):
699
702
  #
700
703
  return tools
701
704
 
702
- return wrapper
705
+ return wrapper
706
+
707
+
708
+ def filter_missconfigured_index_tools(method):
709
+ def wrapper(self, *args, **kwargs):
710
+ toolkit = method(self, *args, **kwargs)
711
+
712
+ # Validate index tools misconfiguration and exclude them if necessary
713
+ is_index_toolkit = any(tool.name.rsplit(TOOLKIT_SPLITTER)[1]
714
+ if TOOLKIT_SPLITTER in tool.name else tool.name
715
+ in INDEX_TOOL_NAMES for tool in toolkit.tools)
716
+ is_index_configuration_missing = not (kwargs.get('embedding_model')
717
+ and kwargs.get('pgvector_configuration'))
718
+
719
+ if is_index_toolkit and is_index_configuration_missing:
720
+ toolkit.tools = [tool for tool in toolkit.tools if (tool.name.rsplit(TOOLKIT_SPLITTER, 1)[
721
+ 1] if TOOLKIT_SPLITTER in tool.name else tool.name) not in INDEX_TOOL_NAMES]
722
+
723
+ return toolkit
724
+
725
+ return wrapper
@@ -5,6 +5,7 @@ from pydantic import BaseModel, ConfigDict, Field, create_model
5
5
 
6
6
  from ..base.tool import BaseAction
7
7
  from .api_wrapper import FigmaApiWrapper, GLOBAL_LIMIT
8
+ from ..elitea_base import filter_missconfigured_index_tools
8
9
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
9
10
  from ...configurations.figma import FigmaConfiguration
10
11
  from ...configurations.pgvector import PgVectorConfiguration
@@ -74,6 +75,7 @@ class FigmaToolkit(BaseToolkit):
74
75
  )
75
76
 
76
77
  @classmethod
78
+ @filter_missconfigured_index_tools
77
79
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
78
80
  if selected_tools is None:
79
81
  selected_tools = []
@@ -5,6 +5,7 @@ from pydantic import create_model, BaseModel, ConfigDict, Field
5
5
 
6
6
  from .api_wrapper import AlitaGitHubAPIWrapper
7
7
  from .tool import GitHubAction
8
+ from ..elitea_base import filter_missconfigured_index_tools
8
9
 
9
10
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
10
11
  from ...configurations.github import GithubConfiguration
@@ -72,6 +73,7 @@ class AlitaGitHubToolkit(BaseToolkit):
72
73
  )
73
74
 
74
75
  @classmethod
76
+ @filter_missconfigured_index_tools
75
77
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
76
78
  if selected_tools is None:
77
79
  selected_tools = []
@@ -85,7 +87,8 @@ class AlitaGitHubToolkit(BaseToolkit):
85
87
  github_api_wrapper = AlitaGitHubAPIWrapper(**wrapper_payload)
86
88
  available_tools: List[Dict] = github_api_wrapper.get_available_tools()
87
89
  tools = []
88
- prefix = clean_string(toolkit_name, AlitaGitHubToolkit.toolkit_max_length) + TOOLKIT_SPLITTER if toolkit_name else ''
90
+ prefix = clean_string(toolkit_name) + TOOLKIT_SPLITTER if toolkit_name else ''
91
+ # prefix = clean_string(toolkit_name, AlitaGitHubToolkit.toolkit_max_length) + TOOLKIT_SPLITTER if toolkit_name else ''
89
92
  for tool in available_tools:
90
93
  if selected_tools:
91
94
  if tool["name"] not in selected_tools:
@@ -7,6 +7,7 @@ from pydantic import create_model, BaseModel, ConfigDict
7
7
  from pydantic.fields import Field
8
8
 
9
9
  from .api_wrapper import GitLabAPIWrapper
10
+ from ..elitea_base import filter_missconfigured_index_tools
10
11
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
11
12
  from ...configurations.gitlab import GitlabConfiguration
12
13
  from ...configurations.pgvector import PgVectorConfiguration
@@ -64,6 +65,7 @@ class AlitaGitlabToolkit(BaseToolkit):
64
65
  )
65
66
 
66
67
  @classmethod
68
+ @filter_missconfigured_index_tools
67
69
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
68
70
  if selected_tools is None:
69
71
  selected_tools = []
@@ -4,6 +4,8 @@ from langchain_core.tools import BaseToolkit
4
4
  from langchain_core.tools import BaseTool
5
5
  from ..base.tool import BaseAction
6
6
  from pydantic import create_model, BaseModel, ConfigDict, Field, SecretStr
7
+
8
+ from ..elitea_base import filter_missconfigured_index_tools
7
9
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
8
10
  from ...configurations.gitlab import GitlabConfiguration
9
11
 
@@ -51,6 +53,7 @@ class AlitaGitlabSpaceToolkit(BaseToolkit):
51
53
  )
52
54
 
53
55
  @classmethod
56
+ @filter_missconfigured_index_tools
54
57
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
55
58
  if selected_tools is None:
56
59
  selected_tools = []
@@ -5,6 +5,7 @@ from pydantic.fields import Field
5
5
 
6
6
  from .api_wrapper import GooglePlacesAPIWrapper
7
7
  from ..base.tool import BaseAction
8
+ from ..elitea_base import filter_missconfigured_index_tools
8
9
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
9
10
  from ...configurations.google_places import GooglePlacesConfiguration
10
11
 
@@ -45,6 +46,7 @@ class GooglePlacesToolkit(BaseToolkit):
45
46
  )
46
47
 
47
48
  @classmethod
49
+ @filter_missconfigured_index_tools
48
50
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
49
51
  if selected_tools is None:
50
52
  selected_tools = []
@@ -5,6 +5,7 @@ from ..base.tool import BaseAction
5
5
  from pydantic import create_model, BaseModel, ConfigDict, Field
6
6
  import requests
7
7
 
8
+ from ..elitea_base import filter_missconfigured_index_tools
8
9
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length, parse_list, check_connection_response
9
10
  from ...configurations.jira import JiraConfiguration
10
11
  from ...configurations.pgvector import PgVectorConfiguration
@@ -16,6 +17,7 @@ def get_tools(tool):
16
17
  selected_tools=tool['settings'].get('selected_tools', []),
17
18
  base_url=tool['settings'].get('base_url'),
18
19
  cloud=tool['settings'].get('cloud', True),
20
+ api_version=tool['settings'].get('api_version', '2'),
19
21
  jira_configuration=tool['settings']['jira_configuration'],
20
22
  limit=tool['settings'].get('limit', 5),
21
23
  labels=parse_list(tool['settings'].get('labels', [])),
@@ -64,8 +66,14 @@ class JiraToolkit(BaseToolkit):
64
66
 
65
67
  model = create_model(
66
68
  name,
69
+ name=(str, Field(description="Toolkit name",
70
+ json_schema_extra={
71
+ 'toolkit_name': True,
72
+ 'max_toolkit_length': JiraToolkit.toolkit_max_length})
73
+ ),
67
74
  cloud=(bool, Field(description="Hosting Option", json_schema_extra={'configuration': True})),
68
75
  limit=(int, Field(description="Limit issues. Default is 5", gt=0, default=5)),
76
+ api_version=(Optional[str], Field(description="Rest API version: optional. Default is 2", default="2")),
69
77
  labels=(Optional[str], Field(
70
78
  description="List of comma separated labels used for labeling of agent's created or updated entities",
71
79
  default=None,
@@ -95,6 +103,7 @@ class JiraToolkit(BaseToolkit):
95
103
  return model
96
104
 
97
105
  @classmethod
106
+ @filter_missconfigured_index_tools
98
107
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
99
108
  if selected_tools is None:
100
109
  selected_tools = []
@@ -6,6 +6,7 @@ from pydantic import create_model, BaseModel, ConfigDict, Field, SecretStr
6
6
 
7
7
  from .api_wrapper import QtestApiWrapper
8
8
  from .tool import QtestAction
9
+ from ..elitea_base import filter_missconfigured_index_tools
9
10
  from ..utils import clean_string, get_max_toolkit_length, TOOLKIT_SPLITTER, check_connection_response
10
11
  from ...configurations.qtest import QtestConfiguration
11
12
 
@@ -61,6 +62,7 @@ class QtestToolkit(BaseToolkit):
61
62
  return m
62
63
 
63
64
  @classmethod
65
+ @filter_missconfigured_index_tools
64
66
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
65
67
  if selected_tools is None:
66
68
  selected_tools = []
@@ -4,6 +4,7 @@ from pydantic import BaseModel, ConfigDict, Field, create_model, SecretStr
4
4
  from .api_wrapper import RallyApiWrapper
5
5
  from langchain_core.tools import BaseTool
6
6
  from ..base.tool import BaseAction
7
+ from ..elitea_base import filter_missconfigured_index_tools
7
8
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
8
9
  from ...configurations.rally import RallyConfiguration
9
10
 
@@ -45,6 +46,7 @@ class RallyToolkit(BaseToolkit):
45
46
  )
46
47
 
47
48
  @classmethod
49
+ @filter_missconfigured_index_tools
48
50
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
49
51
  if selected_tools is None:
50
52
  selected_tools = []
@@ -6,6 +6,7 @@ from pydantic import create_model, BaseModel, ConfigDict, Field
6
6
 
7
7
  from .api_wrapper import ReportPortalApiWrapper
8
8
  from ..base.tool import BaseAction
9
+ from ..elitea_base import filter_missconfigured_index_tools
9
10
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
10
11
  from ...configurations.report_portal import ReportPortalConfiguration
11
12
 
@@ -37,6 +38,7 @@ class ReportPortalToolkit(BaseToolkit):
37
38
  )
38
39
 
39
40
  @classmethod
41
+ @filter_missconfigured_index_tools
40
42
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
41
43
  if selected_tools is None:
42
44
  selected_tools = []
@@ -3,6 +3,8 @@ from .api_wrapper import SalesforceApiWrapper
3
3
  from langchain_core.tools import BaseTool, BaseToolkit
4
4
  from ..base.tool import BaseAction
5
5
  from pydantic import create_model, BaseModel, ConfigDict, Field
6
+
7
+ from ..elitea_base import filter_missconfigured_index_tools
6
8
  from ..utils import clean_string, TOOLKIT_SPLITTER,get_max_toolkit_length
7
9
  from ...configurations.salesforce import SalesforceConfiguration
8
10
 
@@ -35,6 +37,7 @@ class SalesforceToolkit(BaseToolkit):
35
37
  )
36
38
 
37
39
  @classmethod
40
+ @filter_missconfigured_index_tools
38
41
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
39
42
  if selected_tools is None:
40
43
  selected_tools = []
@@ -5,6 +5,8 @@ from .api_wrapper import ServiceNowAPIWrapper
5
5
  from langchain_core.tools import BaseTool
6
6
  from ..base.tool import BaseAction
7
7
  from pydantic import create_model, BaseModel, ConfigDict, Field
8
+
9
+ from ..elitea_base import filter_missconfigured_index_tools
8
10
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
9
11
  from ...configurations.service_now import ServiceNowConfiguration
10
12
 
@@ -66,6 +68,7 @@ class ServiceNowToolkit(BaseToolkit):
66
68
  )
67
69
 
68
70
  @classmethod
71
+ @filter_missconfigured_index_tools
69
72
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
70
73
  if selected_tools is None:
71
74
  selected_tools = []
@@ -4,6 +4,7 @@ from langchain_core.tools import BaseToolkit, BaseTool
4
4
  from pydantic import create_model, BaseModel, ConfigDict, Field
5
5
  from .api_wrapper import SharepointApiWrapper
6
6
  from ..base.tool import BaseAction
7
+ from ..elitea_base import filter_missconfigured_index_tools
7
8
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
8
9
  from ...configurations.pgvector import PgVectorConfiguration
9
10
  from ...configurations.sharepoint import SharepointConfiguration
@@ -53,6 +54,7 @@ class SharepointToolkit(BaseToolkit):
53
54
  )
54
55
 
55
56
  @classmethod
57
+ @filter_missconfigured_index_tools
56
58
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
57
59
  if selected_tools is None:
58
60
  selected_tools = []
@@ -170,15 +170,25 @@ class SharepointApiWrapper(NonCodeIndexerToolkit):
170
170
  }
171
171
 
172
172
  def _base_loader(self, **kwargs) -> Generator[Document, None, None]:
173
+
174
+ self._log_tool_event(message="Starting SharePoint files extraction", tool_name="loader")
173
175
  try:
174
176
  all_files = self.get_files_list(limit_files=kwargs.get('limit_files', 10000))
177
+ self._log_tool_event(message="List of the files has been extracted", tool_name="loader")
175
178
  except Exception as e:
176
179
  raise ToolException(f"Unable to extract files: {e}")
177
180
 
178
181
  include_extensions = kwargs.get('include_extensions', [])
179
182
  skip_extensions = kwargs.get('skip_extensions', [])
180
-
183
+ self._log_tool_event(message=f"Files filtering started. Include extensions: {include_extensions}. "
184
+ f"Skip extensions: {skip_extensions}", tool_name="loader")
185
+ # show the progress of filtering
186
+ total_files = len(all_files) if isinstance(all_files, list) else 0
187
+ filtered_files_count = 0
181
188
  for file in all_files:
189
+ filtered_files_count += 1
190
+ if filtered_files_count % 10 == 0 or filtered_files_count == total_files:
191
+ self._log_tool_event(message=f"Files filtering progress: {filtered_files_count}/{total_files}", tool_name="loader")
182
192
  file_name = file.get('Name', '')
183
193
 
184
194
  # Check if file should be skipped based on skip_extensions
@@ -2,6 +2,7 @@ from typing import List, Optional, Literal
2
2
 
3
3
  import logging
4
4
 
5
+ from ..elitea_base import filter_missconfigured_index_tools
5
6
  from ...configurations.slack import SlackConfiguration
6
7
 
7
8
  logger = logging.getLogger(__name__)
@@ -67,6 +68,7 @@ class SlackToolkit(BaseToolkit):
67
68
  return model
68
69
 
69
70
  @classmethod
71
+ @filter_missconfigured_index_tools
70
72
  def get_toolkit(cls, selected_tools: Optional[List[str]] = None, toolkit_name: Optional[str] = None, **kwargs):
71
73
  if selected_tools is None:
72
74
  selected_tools = []
@@ -6,6 +6,7 @@ from pydantic import create_model, BaseModel, ConfigDict, Field
6
6
  from .api_wrapper import SQLApiWrapper
7
7
  from ..base.tool import BaseAction
8
8
  from .models import SQLDialect
9
+ from ..elitea_base import filter_missconfigured_index_tools
9
10
  from ..utils import TOOLKIT_SPLITTER, clean_string, get_max_toolkit_length
10
11
  from ...configurations.sql import SqlConfiguration
11
12
 
@@ -46,6 +47,7 @@ class SQLToolkit(BaseToolkit):
46
47
  )
47
48
 
48
49
  @classmethod
50
+ @filter_missconfigured_index_tools
49
51
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
50
52
  if selected_tools is None:
51
53
  selected_tools = []
@@ -5,6 +5,7 @@ from pydantic import create_model, BaseModel, ConfigDict, Field
5
5
 
6
6
  from .api_wrapper import TestIOApiWrapper
7
7
  from ..base.tool import BaseAction
8
+ from ..elitea_base import filter_missconfigured_index_tools
8
9
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
9
10
  from ...configurations.testio import TestIOConfiguration
10
11
 
@@ -37,6 +38,7 @@ class TestIOToolkit(BaseToolkit):
37
38
  )
38
39
 
39
40
  @classmethod
41
+ @filter_missconfigured_index_tools
40
42
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
41
43
  if selected_tools is None:
42
44
  selected_tools = []
@@ -6,6 +6,7 @@ import requests
6
6
 
7
7
  from .api_wrapper import TestrailAPIWrapper
8
8
  from ..base.tool import BaseAction
9
+ from ..elitea_base import filter_missconfigured_index_tools
9
10
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length, check_connection_response
10
11
  from ...configurations.testrail import TestRailConfiguration
11
12
  from ...configurations.pgvector import PgVectorConfiguration
@@ -68,6 +69,7 @@ class TestrailToolkit(BaseToolkit):
68
69
  return m
69
70
 
70
71
  @classmethod
72
+ @filter_missconfigured_index_tools
71
73
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
72
74
  if selected_tools is None:
73
75
  selected_tools = []
@@ -7,6 +7,7 @@ from pydantic import create_model, BaseModel, Field
7
7
 
8
8
  from .api_wrapper import XrayApiWrapper
9
9
  from ..base.tool import BaseAction
10
+ from ..elitea_base import filter_missconfigured_index_tools
10
11
  from ..utils import clean_string, get_max_toolkit_length, TOOLKIT_SPLITTER
11
12
  from ...configurations.pgvector import PgVectorConfiguration
12
13
  from ...configurations.xray import XrayConfiguration
@@ -63,6 +64,7 @@ class XrayToolkit(BaseToolkit):
63
64
  )
64
65
 
65
66
  @classmethod
67
+ @filter_missconfigured_index_tools
66
68
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
67
69
  if selected_tools is None:
68
70
  selected_tools = []
@@ -7,6 +7,7 @@ from pydantic import create_model, BaseModel, Field, SecretStr
7
7
 
8
8
  from ..base.tool import BaseAction
9
9
  from .api_wrapper import ZephyrV1ApiWrapper
10
+ from ..elitea_base import filter_missconfigured_index_tools
10
11
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
11
12
 
12
13
  name = "zephyr"
@@ -45,6 +46,7 @@ class ZephyrToolkit(BaseToolkit):
45
46
  )
46
47
 
47
48
  @classmethod
49
+ @filter_missconfigured_index_tools
48
50
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
49
51
  zephyr_api_wrapper = ZephyrV1ApiWrapper(**kwargs)
50
52
  prefix = clean_string(toolkit_name, cls.toolkit_max_length) + TOOLKIT_SPLITTER if toolkit_name else ''
@@ -4,6 +4,7 @@ from typing import List, Literal, Optional
4
4
 
5
5
  from .api_wrapper import ZephyrApiWrapper
6
6
  from ..base.tool import BaseAction
7
+ from ..elitea_base import filter_missconfigured_index_tools
7
8
  from ..utils import clean_string, get_max_toolkit_length, TOOLKIT_SPLITTER
8
9
  from ...configurations.pgvector import PgVectorConfiguration
9
10
  from ...configurations.zephyr_enterprise import ZephyrEnterpriseConfiguration
@@ -54,6 +55,7 @@ class ZephyrEnterpriseToolkit(BaseToolkit):
54
55
  )
55
56
 
56
57
  @classmethod
58
+ @filter_missconfigured_index_tools
57
59
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
58
60
  if selected_tools is None:
59
61
  selected_tools = []
@@ -5,6 +5,7 @@ from pydantic import create_model, BaseModel, Field
5
5
 
6
6
  from .api_wrapper import ZephyrEssentialApiWrapper
7
7
  from ..base.tool import BaseAction
8
+ from ..elitea_base import filter_missconfigured_index_tools
8
9
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
9
10
  from ...configurations.pgvector import PgVectorConfiguration
10
11
  from ...configurations.zephyr_essential import ZephyrEssentialConfiguration
@@ -51,6 +52,7 @@ class ZephyrEssentialToolkit(BaseToolkit):
51
52
  )
52
53
 
53
54
  @classmethod
55
+ @filter_missconfigured_index_tools
54
56
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
55
57
  if selected_tools is None:
56
58
  selected_tools = []
@@ -6,6 +6,7 @@ from pydantic import create_model, BaseModel, Field
6
6
 
7
7
  from .api_wrapper import ZephyrScaleApiWrapper
8
8
  from ..base.tool import BaseAction
9
+ from ..elitea_base import filter_missconfigured_index_tools
9
10
  from ..utils import clean_string, get_max_toolkit_length, TOOLKIT_SPLITTER
10
11
  from ...configurations.pgvector import PgVectorConfiguration
11
12
  from ...configurations.zephyr import ZephyrConfiguration
@@ -63,6 +64,7 @@ class ZephyrScaleToolkit(BaseToolkit):
63
64
  )
64
65
 
65
66
  @classmethod
67
+ @filter_missconfigured_index_tools
66
68
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
67
69
  if selected_tools is None:
68
70
  selected_tools = []
@@ -5,6 +5,7 @@ from pydantic import create_model, BaseModel, Field, SecretStr
5
5
 
6
6
  from .api_wrapper import ZephyrSquadApiWrapper
7
7
  from ..base.tool import BaseAction
8
+ from ..elitea_base import filter_missconfigured_index_tools
8
9
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
9
10
 
10
11
  name = "zephyr_squad"
@@ -39,6 +40,7 @@ class ZephyrSquadToolkit(BaseToolkit):
39
40
  )
40
41
 
41
42
  @classmethod
43
+ @filter_missconfigured_index_tools
42
44
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
43
45
  zephyr_api_wrapper = ZephyrSquadApiWrapper(**kwargs)
44
46
  prefix = clean_string(toolkit_name, cls.toolkit_max_length) + TOOLKIT_SPLITTER if toolkit_name else ''
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.302
3
+ Version: 0.3.303
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
@@ -11,7 +11,7 @@ alita_sdk/configurations/carrier.py,sha256=QPgXyNXki8ECQAwBB1I64vsltV5patZUnZrd5
11
11
  alita_sdk/configurations/confluence.py,sha256=mAW2fgSEOg-BAV768Sc6b_EuRA3H5UL9xfqQ12Zh_w4,1421
12
12
  alita_sdk/configurations/delta_lake.py,sha256=sCNDClaO6-b1Qv5WDxOMHjQUrHnr6S6EPQuS9o6q8Z8,1130
13
13
  alita_sdk/configurations/embedding.py,sha256=8GSC8Feh8CH7bT_6cQhNqlS6raE91S2YRAtb2N9bUA8,552
14
- alita_sdk/configurations/figma.py,sha256=FClV6kBbOJdwzmCQbM7GMKHAz4PeGokLvUEG8FpCMG8,1143
14
+ alita_sdk/configurations/figma.py,sha256=91P-R5hqTwpXQvuAcUMXztzqvSvmtPkguR88Zw830Og,1025
15
15
  alita_sdk/configurations/github.py,sha256=6F7P9BPu9zE54q8m8IPjIct8cEX3WODYzZvn9WtxOXI,6283
16
16
  alita_sdk/configurations/gitlab.py,sha256=0W35igIlue6QxOnPgw65ToLf4HSdPVuRyObdwQuEld8,1053
17
17
  alita_sdk/configurations/google_places.py,sha256=jXhlPXywkDhHNrgB4KoVWogf3CVi1bY3wFLRzDqMr-E,589
@@ -121,7 +121,7 @@ alita_sdk/runtime/tools/prompt.py,sha256=nJafb_e5aOM1Rr3qGFCR-SKziU9uCsiP2okIMs9
121
121
  alita_sdk/runtime/tools/router.py,sha256=wCvZjVkdXK9dMMeEerrgKf5M790RudH68pDortnHSz0,1517
122
122
  alita_sdk/runtime/tools/tool.py,sha256=lE1hGi6qOAXG7qxtqxarD_XMQqTghdywf261DZawwno,5631
123
123
  alita_sdk/runtime/tools/vectorstore.py,sha256=PN_Im5pkbFR6vXUhlBppEwHEhsg-UsO9eYrMS8UstFk,35826
124
- alita_sdk/runtime/tools/vectorstore_base.py,sha256=AoTTkpygbcstzUQsgbK0eP0RdoAS5wU-qSbbbA9U-pU,27751
124
+ alita_sdk/runtime/tools/vectorstore_base.py,sha256=GOqU6MV-V3jdL2suUZbatvHXXk1cejnmPg_6GPmmOzY,27557
125
125
  alita_sdk/runtime/utils/AlitaCallback.py,sha256=E4LlSBuCHWiUq6W7IZExERHZY0qcmdjzc_rJlF2iQIw,7356
126
126
  alita_sdk/runtime/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
127
  alita_sdk/runtime/utils/constants.py,sha256=Xntx1b_uxUzT4clwqHA_U6K8y5bBqf_4lSQwXdcWrp4,13586
@@ -133,20 +133,20 @@ alita_sdk/runtime/utils/toolkit_runtime.py,sha256=MU63Fpxj0b5_r1IUUc0Q3-PN9VwL7r
133
133
  alita_sdk/runtime/utils/toolkit_utils.py,sha256=I9QFqnaqfVgN26LUr6s3XlBlG6y0CoHURnCzG7XcwVs,5311
134
134
  alita_sdk/runtime/utils/utils.py,sha256=VXNLsdeTmf6snn9EtUyobv4yL-xzLhUcH8P_ORMifYc,675
135
135
  alita_sdk/tools/__init__.py,sha256=jUj1ztC2FbkIUB-YYmiqaz_rqW7Il5kWzDPn1mJmj5w,10545
136
- alita_sdk/tools/base_indexer_toolkit.py,sha256=jfgxX79I-DgCWlr70_S3oIq-C5TDSrf4jc1SIz51B4E,20143
137
- alita_sdk/tools/elitea_base.py,sha256=DaU1UkZVF0CVExNYk8I-MH3ZTW7qy9Ts9OaJgWr8b40,33397
136
+ alita_sdk/tools/base_indexer_toolkit.py,sha256=GSeJQN9q22em94C89hbidM1zNpPQYtihUkVhIX-0dhQ,20152
137
+ alita_sdk/tools/elitea_base.py,sha256=OEEDpSS7_tKZa6vrt5hH9jd4-ySVNaPVT1rVHwcSi-A,34565
138
138
  alita_sdk/tools/non_code_indexer_toolkit.py,sha256=v9uq1POE1fQKCd152mbqDtF-HSe0qoDj83k4E5LAkMI,1080
139
139
  alita_sdk/tools/ado/__init__.py,sha256=u2tdDgufGuDb-7lIgKKQlqgStL9Wd1gzNmRNYems2c0,1267
140
140
  alita_sdk/tools/ado/utils.py,sha256=PTCludvaQmPLakF2EbCGy66Mro4-rjDtavVP-xcB2Wc,1252
141
- alita_sdk/tools/ado/repos/__init__.py,sha256=n-IhKED05RwQGWT4LfCaxJ85uDyG4S9zTjSjK6A8N4o,5192
141
+ alita_sdk/tools/ado/repos/__init__.py,sha256=rR-c40Pw_WpQeOXtEuS-COvgRUs1_cTkcJfHlK09N88,5339
142
142
  alita_sdk/tools/ado/repos/repos_wrapper.py,sha256=y1wJZNhuoWaSkFsGU5Pct3LClc1xfgmgBy2u_dgBF-4,49769
143
- alita_sdk/tools/ado/test_plan/__init__.py,sha256=4fEw_3cm4shuZ868HhAU-uMH3xNXPyb3uRjyNWoBKls,5243
143
+ alita_sdk/tools/ado/test_plan/__init__.py,sha256=qANjEjxwEEs0aTarH9LaQ745Dv_6iRdXxMKP8RDoeGs,5344
144
144
  alita_sdk/tools/ado/test_plan/test_plan_wrapper.py,sha256=68m5lmThE8Hhi-5PpCf96lVQyLHN-_xc7pJrnBQbaqQ,21948
145
- alita_sdk/tools/ado/wiki/__init__.py,sha256=uBKo_Meu2ZxMxcxGsMmvCXyplRE2um1_PIRvdYd37rM,5171
145
+ alita_sdk/tools/ado/wiki/__init__.py,sha256=ela6FOuT1fqN3FvHGBflzAh16HS1SSPsJYS2SldRX7A,5272
146
146
  alita_sdk/tools/ado/wiki/ado_wrapper.py,sha256=o5Zp0z9NvEZ5Ua1BgDZbFJocmZfoYNDiRRXaMrffGP4,14956
147
- alita_sdk/tools/ado/work_item/__init__.py,sha256=HNcdIMwTSNe-25_Pg-KmVVXTFci3vNa84tkTFkls36c,5373
147
+ alita_sdk/tools/ado/work_item/__init__.py,sha256=jml_zSkdC7gdGIoX2ZqRgDb45nhT3ZWzNsZ0II0iVJI,5474
148
148
  alita_sdk/tools/ado/work_item/ado_wrapper.py,sha256=TXl3V46SgGafQaxQKSTD3AN4MoQ3yNuQBwgVZ6-JhSk,28315
149
- alita_sdk/tools/advanced_jira_mining/__init__.py,sha256=pUTzECqGvYaR5qWY3JPUhrImrZgc7pCXuqSe5eWIE80,4604
149
+ alita_sdk/tools/advanced_jira_mining/__init__.py,sha256=GdrFVsyG8h43BnQwBKUtZ_ca_0atP1rQ_0adkd9mssc,4703
150
150
  alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py,sha256=nZPtuwVWp8VeHw1B8q9kdwf-6ZvHnlXTOGdcIMDkKpw,44211
151
151
  alita_sdk/tools/aws/__init__.py,sha256=tB6GCOg4XGSpR6qgbgAF4MUQ5-YmQCbWurWgrVKEKQ8,181
152
152
  alita_sdk/tools/aws/delta_lake/__init__.py,sha256=NIqSgkBFU3VI3fRWyRerEu13_oSmORnvDRhRQcz3Q5k,5326
@@ -154,11 +154,11 @@ alita_sdk/tools/aws/delta_lake/api_wrapper.py,sha256=bo0MPnhIQ787RL-dIA-e2dDMzxH
154
154
  alita_sdk/tools/aws/delta_lake/schemas.py,sha256=yl8yYSCY3OrapElCcDSpirM9P-H2Hi6zZyZATv6JWrc,967
155
155
  alita_sdk/tools/aws/delta_lake/tool.py,sha256=xXaaKnTGdoXhvYn89TmzWaV_zn79uTibpxCsi5FS_eU,1104
156
156
  alita_sdk/tools/azure_ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
- alita_sdk/tools/azure_ai/search/__init__.py,sha256=hidiQeRM1hYtYjk-OetioiIG0AG11AqDfpts79UBJuQ,4147
157
+ alita_sdk/tools/azure_ai/search/__init__.py,sha256=78ClnTkEn73b3Y9xYP_t65DaVQyECvj1TTv7aO08CEw,4248
158
158
  alita_sdk/tools/azure_ai/search/api_wrapper.py,sha256=E4p6HPDlwgxfT_i6cvg9rN4Vn_47CVAyNBAKLIGq3mU,7265
159
159
  alita_sdk/tools/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
160
  alita_sdk/tools/base/tool.py,sha256=-N27AodZS49vdPCgFkU-bFS9bxoPopZBnNrmwInx3d0,864
161
- alita_sdk/tools/bitbucket/__init__.py,sha256=BPPPuA0l7-g_VbJF6QKgUoMi0Rv2HS5WfSnZs_5KV44,5487
161
+ alita_sdk/tools/bitbucket/__init__.py,sha256=uOLXcrbumjsBMt08NT1gr_mECN9L2Do-bidViiSpvKU,5586
162
162
  alita_sdk/tools/bitbucket/api_wrapper.py,sha256=L98xy5NLHwm2kGQyc9KRZm2G9q50M6Hhdnp-nxwV9UM,19992
163
163
  alita_sdk/tools/bitbucket/bitbucket_constants.py,sha256=UsbhQ1iEvrKoxceTFPWTYhaXS1zSxbmjs1TwY0-P4gw,462
164
164
  alita_sdk/tools/bitbucket/cloud_api_wrapper.py,sha256=QHdud-d3xcz3mOP3xb1Htk1sv9QFg7bTm1szdN_zohQ,15517
@@ -168,7 +168,7 @@ alita_sdk/tools/browser/duck_duck_go_search.py,sha256=iKws923v34o-ySXohJw-8xTDBW
168
168
  alita_sdk/tools/browser/google_search_rag.py,sha256=QVHFbVwymiJGuno_HLSJOK1c_MpgMdBSTYQKf6fLRk8,1838
169
169
  alita_sdk/tools/browser/utils.py,sha256=4k3YM_f1Kqlhjz9vt2pNsGkvCjhy-EmY3nvcwdFCsLA,2501
170
170
  alita_sdk/tools/browser/wiki.py,sha256=Qh3HBFd4dkS2VavXbFJOm4b8SjVSIe5xSD7CY1vEkKE,1126
171
- alita_sdk/tools/carrier/__init__.py,sha256=Q8aQKQR1sXNSQlgS94ZBGOwkHZSCYqVMPDsqrMgUppg,4197
171
+ alita_sdk/tools/carrier/__init__.py,sha256=Ove5wAXBxyLS5F5ZxgydV2xKZJIR3OoMB5fMkn8jNUc,4296
172
172
  alita_sdk/tools/carrier/api_wrapper.py,sha256=tP7oR_U0HX1rxqat0Jkz6oh3RB9BEr1ESKQ9J8OWDcE,9093
173
173
  alita_sdk/tools/carrier/backend_reports_tool.py,sha256=8qnHQVCuUErW6eCH2nLF4bUl1AFuMWm2GQnKvOhfUCs,13452
174
174
  alita_sdk/tools/carrier/backend_tests_tool.py,sha256=a6EivWZee8HVU2eXUM5NWS6oB3pt1-orxLz1YARrqHA,26572
@@ -212,21 +212,21 @@ alita_sdk/tools/chunkers/sematic/markdown_chunker.py,sha256=HmAGKuIodnMcHl-kBwAb
212
212
  alita_sdk/tools/chunkers/sematic/proposal_chunker.py,sha256=t8JjX9TH6yHXXaemiDK1E6000tlES2Kl8XfyezmlIoo,5116
213
213
  alita_sdk/tools/chunkers/sematic/statistical_chunker.py,sha256=VDQcMC-ky72GqdWJiHMmcRmfJTTU5XglBF1IWg2Qews,13403
214
214
  alita_sdk/tools/cloud/__init__.py,sha256=ekqANTJAyuURqpjNTn6MmSn2q6qEKwENxEXBUFGkkck,512
215
- alita_sdk/tools/cloud/aws/__init__.py,sha256=mhmsdTT6YiKUtKEg2GliAa7haup_YAZber76yQn3v28,3032
215
+ alita_sdk/tools/cloud/aws/__init__.py,sha256=dewHtDC0lS4ZtB0B98RX8I8CdHY54k13Tcwb7YdjXlQ,3132
216
216
  alita_sdk/tools/cloud/aws/api_wrapper.py,sha256=uY4QfwgWud18kqSJc2WQV5V_5HYTvFRtR4ma4octP2U,1993
217
- alita_sdk/tools/cloud/azure/__init__.py,sha256=u39sv031g4GAMGgopkJBTZ2i9UMjGAbC2b3cSOITtw0,2875
217
+ alita_sdk/tools/cloud/azure/__init__.py,sha256=6sFmwe-xtc2F2_mViICN7nCvQLGgVoh1QHeZnAPHa44,2975
218
218
  alita_sdk/tools/cloud/azure/api_wrapper.py,sha256=neHpaxsE-BHU-qhMoMekLWPuZOj9d-ERAwfE3U-vzcU,4042
219
- alita_sdk/tools/cloud/gcp/__init__.py,sha256=C-rgdPEcIQZQS2QN51wUtCZlY4ZYKufllyMt4kPVyYQ,2322
219
+ alita_sdk/tools/cloud/gcp/__init__.py,sha256=fHcOan53TXQcS57O6EnYjME-o6M55yT9CU7kD80q3p0,2422
220
220
  alita_sdk/tools/cloud/gcp/api_wrapper.py,sha256=cq6pT4khy_eYt8noqOjDDh4ZqaYk9sBMSLY0K5JWRiE,3197
221
- alita_sdk/tools/cloud/k8s/__init__.py,sha256=sUXRUc7Yj8AgNwDm1U6HWk5ZGPM3XM8PvI1K3XIJZ7o,2761
221
+ alita_sdk/tools/cloud/k8s/__init__.py,sha256=Tu6w6sqZLSNAl4MJiu-8cAo2-EFHqJZCI1p-Tp_E340,2861
222
222
  alita_sdk/tools/cloud/k8s/api_wrapper.py,sha256=ZRtmlYND86SPLJcl9MiKFmlIPsXFlqBnvY0Unwqg0Bg,5535
223
223
  alita_sdk/tools/code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
224
  alita_sdk/tools/code/linter/__init__.py,sha256=SJPWxsSnoouuz5z2VBoVahhBkxcU0WmLdV5XRKbyoMc,2272
225
225
  alita_sdk/tools/code/linter/api_wrapper.py,sha256=wylpwhAw02Jt8L18CqBq2He5PbwIkxUPFTc3tQTdXMM,3865
226
226
  alita_sdk/tools/code/loaders/codesearcher.py,sha256=XoXXZtIQZhvjIwZlnl_4wVGHC-3saYzFo5oDR_Zh3EY,529
227
- alita_sdk/tools/code/sonar/__init__.py,sha256=G03U4f4rEpRF4F3om-6RREsPfOxdTp9b_1K4VmKhFqY,3260
227
+ alita_sdk/tools/code/sonar/__init__.py,sha256=iPqj2PnUY4-btJjaDeWIPdn-c9L_uCr_qOoP_uwRoXw,3360
228
228
  alita_sdk/tools/code/sonar/api_wrapper.py,sha256=nNqxcWN_6W8c0ckj-Er9HkNuAdgQLoWBXh5UyzNutis,2653
229
- alita_sdk/tools/confluence/__init__.py,sha256=vg5tJ_OUPoR5i0POtWKg7Xd4U2wmMR2LjbT4oZX8siA,6794
229
+ alita_sdk/tools/confluence/__init__.py,sha256=9XmoKkfNepxRsjwEQ_hQIVFMK3c6_ZgXFLJbob4hfHY,6894
230
230
  alita_sdk/tools/confluence/api_wrapper.py,sha256=-wQduJUk2wwfBQGQHSWuCnrt35gfp195nSKUFVSPS1s,85218
231
231
  alita_sdk/tools/confluence/loader.py,sha256=4bf5qrJMEiJzuZp2NlxO2XObLD1w7fxss_WyMUpe8sg,9290
232
232
  alita_sdk/tools/confluence/utils.py,sha256=Lxo6dBD0OlvM4o0JuK6qeB_4LV9BptiwJA9e1vqNcDw,435
@@ -234,20 +234,20 @@ alita_sdk/tools/custom_open_api/__init__.py,sha256=9aT5SPNPWcJC6jMZEM-3rUCXVULj_
234
234
  alita_sdk/tools/custom_open_api/api_wrapper.py,sha256=sDSFpvEqpSvXHGiBISdQQcUecfO3md-_F8hAi6p2dvg,4340
235
235
  alita_sdk/tools/elastic/__init__.py,sha256=iwnSRppRpzvJ1da2K3Glu8Uu41MhBDCYbguboLkEbW0,2818
236
236
  alita_sdk/tools/elastic/api_wrapper.py,sha256=pl8CqQxteJAGwyOhMcld-ZgtOTFwwbv42OITQVe8rM0,1948
237
- alita_sdk/tools/figma/__init__.py,sha256=hfe7FxMCCKnHNUdj9dCLuCu69pabBq6OmmlxODBXqzc,4410
237
+ alita_sdk/tools/figma/__init__.py,sha256=W6vIMMkZI2Lmpg6_CRRV3oadaIbVI-qTLmKUh6enqWs,4509
238
238
  alita_sdk/tools/figma/api_wrapper.py,sha256=HCOl8upJl5_yjtrgy0A8mEWVkqIq5oPzUCJAlNfyPzc,25856
239
- alita_sdk/tools/github/__init__.py,sha256=2LLkgtm8mp5e1vlgx2VtPiUlV95iCeYLOXdWVz1kXP0,5092
239
+ alita_sdk/tools/github/__init__.py,sha256=lWFPpK-JIf5sqyevMvmxuVVpPkfyq2Z7xDAMUwq1UEI,5280
240
240
  alita_sdk/tools/github/api_wrapper.py,sha256=uDwYckdnpYRJtb0uZnDkaz2udvdDLVxuCh1tSwspsiU,8411
241
241
  alita_sdk/tools/github/github_client.py,sha256=nxnSXsDul2PPbWvYZS8TmAFFmR-5ALyakNoV5LN2D4U,86617
242
242
  alita_sdk/tools/github/graphql_client_wrapper.py,sha256=d3AGjzLGH_hdQV2V8HeAX92dJ4dlnE5OXqUlCO_PBr0,71539
243
243
  alita_sdk/tools/github/schemas.py,sha256=TxEWR3SjDKVwzo9i2tLnss_uPAv85Mh7oWjvQvYLDQE,14000
244
244
  alita_sdk/tools/github/tool.py,sha256=Jnnv5lenV5ds8AAdyo2m8hSzyJ117HZBjzHC6T1ck-M,1037
245
245
  alita_sdk/tools/github/tool_prompts.py,sha256=y6ZW_FpUCE87Uop3WuQAZVRnzxO5t7xjBOI5bCqiluw,30194
246
- alita_sdk/tools/gitlab/__init__.py,sha256=_ZmoZaaxJ9qmkTSZ8xsAiXMqR075GHvW1w6USvEyKf8,4478
246
+ alita_sdk/tools/gitlab/__init__.py,sha256=aRLSLBwNnOWWX-7W6uW0bB3ScRv-PFSbURVQef-FphI,4577
247
247
  alita_sdk/tools/gitlab/api_wrapper.py,sha256=opBIlIizZkBq0XKguTOr2EaIQVm_Ohk93LpMaIwgIlk,21825
248
248
  alita_sdk/tools/gitlab/tools.py,sha256=vOGTlSaGaFmWn6LS6YFP-FuTqUPun9vnv1VrUcUHAZQ,16500
249
249
  alita_sdk/tools/gitlab/utils.py,sha256=Z2XiqIg54ouqqt1to-geFybmkCb1I6bpE91wfnINH1I,2320
250
- alita_sdk/tools/gitlab_org/__init__.py,sha256=YnKmILGaaC-ws6xgh-DAbELxqwLwIIyBs2kqgX3GOf4,3765
250
+ alita_sdk/tools/gitlab_org/__init__.py,sha256=PSTsC4BcPoyDv03Wj9VQHrEGUeR8hw4MRarB64VeqFg,3865
251
251
  alita_sdk/tools/gitlab_org/api_wrapper.py,sha256=RYt5gIZffpukKAvynCMgHbXJy8c8ABMbm56ZVPttCbU,30130
252
252
  alita_sdk/tools/gmail/__init__.py,sha256=RkVWqVT335tpSUEVZUWqqPYMOYnxjkPmkBKLYdkpKto,887
253
253
  alita_sdk/tools/gmail/gmail_wrapper.py,sha256=t0IYM3zb77Ub8o9kv6HugNm_OoG5tN9T730hYmY8F-c,1312
@@ -257,9 +257,9 @@ alita_sdk/tools/google/bigquery/__init__.py,sha256=RIpupKYkB1uJjtmY5HZxJsfotaJ2-
257
257
  alita_sdk/tools/google/bigquery/api_wrapper.py,sha256=I8wETiA36w6odKZwb_4TA1g_5RgUr1LOZg4hOpBC5to,19683
258
258
  alita_sdk/tools/google/bigquery/schemas.py,sha256=Gb8KQZSoRkmjXiz21dTC95c1MHEHFcnA0lPTqb8ZjCY,4455
259
259
  alita_sdk/tools/google/bigquery/tool.py,sha256=Esf9Hsp8I0e7-5EdkFqQ-bid0cfrg-bfSoHoW_IIARo,1027
260
- alita_sdk/tools/google_places/__init__.py,sha256=Tg_dfKTc0qxcG-1HVuQQB11PYph2RDWSUVhrlgxqk64,3491
260
+ alita_sdk/tools/google_places/__init__.py,sha256=QtmBCI0bHDK79u4hsCSWFcUihu-h4EmPSh9Yll7zz3w,3590
261
261
  alita_sdk/tools/google_places/api_wrapper.py,sha256=7nZly6nk4f4Tm7s2MVdnnwlb-1_WHRrDhyjDiqoyPjA,4674
262
- alita_sdk/tools/jira/__init__.py,sha256=0NJikFWEqK8DSohXPUYD4iDLJFS8btxhqQ60acWwC3k,6063
262
+ alita_sdk/tools/jira/__init__.py,sha256=KVpFEvLs-tqXLo-AQjT_KTJxWehrNPXexB66NOTzRfs,6611
263
263
  alita_sdk/tools/jira/api_wrapper.py,sha256=htEqFLhiRHHJhq0kmmF0eSFRvk4p1gwG0A_ENnT_hRQ,79264
264
264
  alita_sdk/tools/keycloak/__init__.py,sha256=0WB9yXMUUAHQRni1ghDEmd7GYa7aJPsTVlZgMCM9cQ0,3050
265
265
  alita_sdk/tools/keycloak/api_wrapper.py,sha256=cOGr0f3S3-c6tRDBWI8wMnetjoNSxiV5rvC_0VHb8uw,3100
@@ -298,59 +298,59 @@ alita_sdk/tools/postman/api_wrapper.py,sha256=bKgnEQVGv3QhqTevzBOwiXxAd0-Y5vUI1-
298
298
  alita_sdk/tools/postman/postman_analysis.py,sha256=2d-Oi2UORosIePIUyncSONw9hY7dw8Zc7BQvCd4aqpg,45115
299
299
  alita_sdk/tools/pptx/__init__.py,sha256=vVUrWnj7KWJgEk9oxGSsCAQ2SMSXrp_SFOdUHYQKcAo,3444
300
300
  alita_sdk/tools/pptx/pptx_wrapper.py,sha256=yyCYcTlIY976kJ4VfPo4dyxj4yeii9j9TWP6W8ZIpN8,29195
301
- alita_sdk/tools/qtest/__init__.py,sha256=6HOWCShZal5yZhWLlJ0Ak0BrywYP4YiJwt504jV3LhU,4074
301
+ alita_sdk/tools/qtest/__init__.py,sha256=MxjcMRV9xwSVv_ROT9trazDXftASeud1PAzh-OJhqe4,4173
302
302
  alita_sdk/tools/qtest/api_wrapper.py,sha256=cWXpmjjel9CYIXXjetJkARLYZXqvHufSghctTHN0ggc,22296
303
303
  alita_sdk/tools/qtest/tool.py,sha256=kKzNPS4fUC76WQQttQ6kdVANViHEvKE8Kf174MQiNYU,562
304
- alita_sdk/tools/rally/__init__.py,sha256=IcHXH_PhNdyWI1XMGQrstpVe2AyqyDipYmnQ0zn9p0U,3413
304
+ alita_sdk/tools/rally/__init__.py,sha256=2BPPXJxAOKgfmaxVFVvxndfK0JxOXDLkoRmzu2dUwOE,3512
305
305
  alita_sdk/tools/rally/api_wrapper.py,sha256=mouzU6g0KML4UNapdk0k6Q0pU3MpJuWnNo71n9PSEHM,11752
306
- alita_sdk/tools/report_portal/__init__.py,sha256=AmmKJLT2hHymr-wFZkx-X2acHNXpoghICUHMwbz-CrA,3030
306
+ alita_sdk/tools/report_portal/__init__.py,sha256=GCq_0-JhamtyF_26oMkOtBPluv3eSCnEnIEEU5YLxn8,3129
307
307
  alita_sdk/tools/report_portal/api_wrapper.py,sha256=-xiCeWyAnvDa9qLZ2cUr_KCR3feZ-UzUFw1PabkhrPU,9512
308
308
  alita_sdk/tools/report_portal/report_portal_client.py,sha256=-wUDudCQJZCJ38LI2aApRFb-IQOD8bp_YmVUz3xubZ4,2812
309
- alita_sdk/tools/salesforce/__init__.py,sha256=9OXfGRfmlTf1Oz5J0ts0xdTDcj_YHKCRb8-EOyQ8KcA,2930
309
+ alita_sdk/tools/salesforce/__init__.py,sha256=JoMET78UKnGeikjKfqmdSf4l1H-OkOBLxueRLWrWXVc,3030
310
310
  alita_sdk/tools/salesforce/api_wrapper.py,sha256=kvl7WGzN8Kto5OSgm91AxMFmBFJHRhV_5aFwKWExFMM,9451
311
311
  alita_sdk/tools/salesforce/model.py,sha256=wzpbTdUx5mANApAZFQIKzq7xXtYBiiSlKvrTX4ySQS8,1887
312
- alita_sdk/tools/servicenow/__init__.py,sha256=ntD-2qoeGEn2d4-qlukcfsE4kRLjDzvqUrYHImtyL-s,4530
312
+ alita_sdk/tools/servicenow/__init__.py,sha256=ziEt2juPrGFyB98ZXbGf25v6gZo4UJTHszA_eF7qCoY,4630
313
313
  alita_sdk/tools/servicenow/api_wrapper.py,sha256=WpH-bBLGFdhehs4g-K-WAkNuaD1CSrwsDpdgB3RG53s,6120
314
314
  alita_sdk/tools/servicenow/servicenow_client.py,sha256=Rdqfu-ll-qbnclMzChLZBsfXRDzgoX_FdeI2WLApWxc,3269
315
- alita_sdk/tools/sharepoint/__init__.py,sha256=PlZywrLp_LjjxZztD14RBIpwSRsrhWg-zS5iurhcsEI,3946
316
- alita_sdk/tools/sharepoint/api_wrapper.py,sha256=btyfIAAnxpj-MB5fq264JzMp6Q8svpSkOEUQEhhg9TM,11438
315
+ alita_sdk/tools/sharepoint/__init__.py,sha256=5z2iSmm-0kbHKf70wN6OOgS4Px7tOzwkIpHXz0Vrbj4,4045
316
+ alita_sdk/tools/sharepoint/api_wrapper.py,sha256=6D0pGsCx33KxfbZkG331I1gucmqLToI2qBMonFZtl6o,12245
317
317
  alita_sdk/tools/sharepoint/authorization_helper.py,sha256=n-nL5dlBoLMK70nHu7P2RYCb8C6c9HMA_gEaw8LxuhE,2007
318
318
  alita_sdk/tools/sharepoint/utils.py,sha256=fZ1YzAu5CTjKSZeslowpOPH974902S8vCp1Wu7L44LM,446
319
- alita_sdk/tools/slack/__init__.py,sha256=axFbRrlAaBUzci1s0pzseWejoCZBE094Rwy0Psddcxw,3891
319
+ alita_sdk/tools/slack/__init__.py,sha256=YiPAoRc6y6uVpfHl0K1Qi-flcyPlWFIMVcVbhicGWXY,3990
320
320
  alita_sdk/tools/slack/api_wrapper.py,sha256=5VrV7iSGno8ZcDzEHdGPNhInhtODGPPvAzoZ9W9iQWE,14009
321
- alita_sdk/tools/sql/__init__.py,sha256=ZULOUV2bf_TJmBojFaLW08Fk37TCYhcXjLuShSQzQmI,3385
321
+ alita_sdk/tools/sql/__init__.py,sha256=F3eewPEKqVh3gZdNTUvcoFPOgG9Mn11qKoadtCmhQ4Q,3484
322
322
  alita_sdk/tools/sql/api_wrapper.py,sha256=Rky0_CX9HWDQ2mClHGAgP3LHjYVX4iymPuilZMtaDlQ,3687
323
323
  alita_sdk/tools/sql/models.py,sha256=AKJgSl_kEEz4fZfw3kbvdGHXaRZ-yiaqfJOB6YOj3i0,641
324
- alita_sdk/tools/testio/__init__.py,sha256=-4pEdEv0xfXml5bn8Nij28D5o9Y8hDllYoXfPeJ6os4,2699
324
+ alita_sdk/tools/testio/__init__.py,sha256=NEvQtzsffqAXryaffVk0GpdcxZQ1AMkfeztnxHwNql4,2798
325
325
  alita_sdk/tools/testio/api_wrapper.py,sha256=BvmL5h634BzG6p7ajnQLmj-uoAw1gjWnd4FHHu1h--Q,21638
326
- alita_sdk/tools/testrail/__init__.py,sha256=0kETjWKLU7R6mugBWsjwEUsh10pipbAeNSGJAO0FBh0,4634
326
+ alita_sdk/tools/testrail/__init__.py,sha256=RrSQjHdelMG6XDePYiQqJF-NwIAl0V2W9doOkONqye8,4733
327
327
  alita_sdk/tools/testrail/api_wrapper.py,sha256=PKhtf04C6PFDexGCAJm-hjA9Gpu4crx6EXKT5K-b_Pk,32985
328
328
  alita_sdk/tools/utils/__init__.py,sha256=155xepXPr4OEzs2Mz5YnjXcBpxSv1X2eznRUVoPtyK0,3268
329
329
  alita_sdk/tools/utils/available_tools_decorator.py,sha256=IbrdfeQkswxUFgvvN7-dyLMZMyXLiwvX7kgi3phciCk,273
330
330
  alita_sdk/tools/utils/content_parser.py,sha256=8cq-6dHYp-jEYU1Yt3P6rVedVgVaOfgnNIyQ2qU4Yrk,13722
331
331
  alita_sdk/tools/vector_adapters/VectorStoreAdapter.py,sha256=ypBEAkFRGHv5edW0N9rdo1yKurNGQ4pRVEWtrN_7SeA,17656
332
332
  alita_sdk/tools/vector_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
333
- alita_sdk/tools/xray/__init__.py,sha256=AsHDvRgyD-6vvGyAyQDPWHbOD2WoMJ5Llt029bLuu6U,4277
333
+ alita_sdk/tools/xray/__init__.py,sha256=eOMWP8VamFbbJgt1xrGpGPqB9ByOTA0Cd3LCaETzGk4,4376
334
334
  alita_sdk/tools/xray/api_wrapper.py,sha256=X7OLDiIpA5aXUZ8rpSBas8E27mE_XWTn211o9MYiqzU,30313
335
335
  alita_sdk/tools/yagmail/__init__.py,sha256=c4Qn3em0tLxzRmFKpzbBgY9W2EnOoKf0azoDJHng5CY,2208
336
336
  alita_sdk/tools/yagmail/yagmail_wrapper.py,sha256=SKoGVd1X4Ew3ad5tOdtPoY00M6jStNdT3q7GXEjQc5g,1952
337
337
  alita_sdk/tools/zephyr/Zephyr.py,sha256=ODZbg9Aw0H0Rbv-HcDXLI4KHbPiLDHoteDofshw9A_k,1508
338
- alita_sdk/tools/zephyr/__init__.py,sha256=8B2Ibz5QTmB5WkV0q8Sq4kuj92FFaFWZLrT877zRRLg,2897
338
+ alita_sdk/tools/zephyr/__init__.py,sha256=i5j-nHEZ5bRSTCM844rM8QAU2jLwhSYVQlJB3sB-J-U,2996
339
339
  alita_sdk/tools/zephyr/api_wrapper.py,sha256=lJCYPG03ej0qgdpLflnS7LFB4HSAfGzIvTjAJt07CQs,6244
340
340
  alita_sdk/tools/zephyr/rest_client.py,sha256=7vSD3oYIX-3KbAFed-mphSQif_VRuXrq5O07ryNQ7Pk,6208
341
- alita_sdk/tools/zephyr_enterprise/__init__.py,sha256=IoWQPH2lf2Yuj2ejZ74818JTXdrMoh_ZxAJORukYODU,4172
341
+ alita_sdk/tools/zephyr_enterprise/__init__.py,sha256=zmUZ7q3ACkHsOrfDO5UdbBPQ-0rWBK_Z9g8cmU1tpsk,4271
342
342
  alita_sdk/tools/zephyr_enterprise/api_wrapper.py,sha256=I0Ih3HBHV-C7lsI9YBTYWiLJ4r9A0bYBitFdX8Rdf0k,12116
343
343
  alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py,sha256=hV9LIrYfJT6oYp-ZfQR0YHflqBFPsUw2Oc55HwK0H48,6809
344
- alita_sdk/tools/zephyr_essential/__init__.py,sha256=2SymL6TIF1ad52w5DTtWaYvNygEvE1ssNNeKx3Y-_Zg,3980
344
+ alita_sdk/tools/zephyr_essential/__init__.py,sha256=osbquER9AHy4QBuFplyHfcIMoyjphyOdkhGy243oVso,4079
345
345
  alita_sdk/tools/zephyr_essential/api_wrapper.py,sha256=SMru8XGTiHFYRmeRC4A3v9YC4n8Ggb7PkhO3N_bOCHs,46876
346
346
  alita_sdk/tools/zephyr_essential/client.py,sha256=fX_n2pACNzDiHxry3F4Xc6baUdw7d9U2m4srbfBv5Eg,9882
347
- alita_sdk/tools/zephyr_scale/__init__.py,sha256=eetAVRclO1j_N0T3mRnWeLfi3BS98i5FwhNReXO0PlE,4289
347
+ alita_sdk/tools/zephyr_scale/__init__.py,sha256=pV8Uo3HT3DsZXqAHZ_bVGTwmryekcRnJYxqBs2DaTUU,4388
348
348
  alita_sdk/tools/zephyr_scale/api_wrapper.py,sha256=A6CUEKjENt3mZlPU9lai88WV9esCDHuaoR_CtBupkDw,78618
349
- alita_sdk/tools/zephyr_squad/__init__.py,sha256=0AI_j27xVO5Gk5HQMFrqPTd4uvuVTpiZUicBrdfEpKg,2796
349
+ alita_sdk/tools/zephyr_squad/__init__.py,sha256=0ne8XLJEQSLOWfzd2HdnqOYmQlUliKHbBED5kW_Vias,2895
350
350
  alita_sdk/tools/zephyr_squad/api_wrapper.py,sha256=kmw_xol8YIYFplBLWTqP_VKPRhL_1ItDD0_vXTe_UuI,14906
351
351
  alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py,sha256=R371waHsms4sllHCbijKYs90C-9Yu0sSR3N4SUfQOgU,5066
352
- alita_sdk-0.3.302.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
353
- alita_sdk-0.3.302.dist-info/METADATA,sha256=YDI8mcnXOPPebfmmnHGp9NFQ6krooEfStZnrYCctwUI,18897
354
- alita_sdk-0.3.302.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
355
- alita_sdk-0.3.302.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
356
- alita_sdk-0.3.302.dist-info/RECORD,,
352
+ alita_sdk-0.3.303.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
353
+ alita_sdk-0.3.303.dist-info/METADATA,sha256=skkqSkfVGOD_IXpPLgT7GcJsams6nSC0ubxnL0DDr9w,18897
354
+ alita_sdk-0.3.303.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
355
+ alita_sdk-0.3.303.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
356
+ alita_sdk-0.3.303.dist-info/RECORD,,