alita-sdk 0.3.376__py3-none-any.whl → 0.3.423__py3-none-any.whl

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

Potentially problematic release.


This version of alita-sdk might be problematic. Click here for more details.

Files changed (50) hide show
  1. alita_sdk/configurations/bitbucket.py +95 -0
  2. alita_sdk/configurations/confluence.py +96 -1
  3. alita_sdk/configurations/gitlab.py +79 -0
  4. alita_sdk/configurations/jira.py +103 -0
  5. alita_sdk/configurations/testrail.py +88 -0
  6. alita_sdk/configurations/xray.py +93 -0
  7. alita_sdk/configurations/zephyr_enterprise.py +93 -0
  8. alita_sdk/configurations/zephyr_essential.py +75 -0
  9. alita_sdk/runtime/clients/client.py +3 -2
  10. alita_sdk/runtime/clients/sandbox_client.py +8 -0
  11. alita_sdk/runtime/langchain/assistant.py +41 -38
  12. alita_sdk/runtime/langchain/constants.py +4 -0
  13. alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +315 -3
  14. alita_sdk/runtime/langchain/document_loaders/AlitaJSONLoader.py +4 -1
  15. alita_sdk/runtime/langchain/document_loaders/constants.py +28 -12
  16. alita_sdk/runtime/langchain/langraph_agent.py +88 -27
  17. alita_sdk/runtime/langchain/utils.py +24 -4
  18. alita_sdk/runtime/toolkits/application.py +8 -1
  19. alita_sdk/runtime/toolkits/tools.py +80 -49
  20. alita_sdk/runtime/tools/__init__.py +7 -2
  21. alita_sdk/runtime/tools/application.py +7 -0
  22. alita_sdk/runtime/tools/function.py +20 -28
  23. alita_sdk/runtime/tools/graph.py +10 -4
  24. alita_sdk/runtime/tools/image_generation.py +104 -8
  25. alita_sdk/runtime/tools/llm.py +146 -114
  26. alita_sdk/runtime/tools/sandbox.py +166 -63
  27. alita_sdk/runtime/tools/vectorstore.py +3 -2
  28. alita_sdk/runtime/tools/vectorstore_base.py +4 -3
  29. alita_sdk/runtime/utils/utils.py +1 -0
  30. alita_sdk/tools/__init__.py +43 -31
  31. alita_sdk/tools/ado/work_item/ado_wrapper.py +17 -8
  32. alita_sdk/tools/base_indexer_toolkit.py +75 -66
  33. alita_sdk/tools/code_indexer_toolkit.py +13 -3
  34. alita_sdk/tools/confluence/api_wrapper.py +29 -7
  35. alita_sdk/tools/confluence/loader.py +10 -0
  36. alita_sdk/tools/elitea_base.py +7 -7
  37. alita_sdk/tools/gitlab/api_wrapper.py +8 -9
  38. alita_sdk/tools/jira/api_wrapper.py +1 -1
  39. alita_sdk/tools/openapi/__init__.py +10 -1
  40. alita_sdk/tools/qtest/api_wrapper.py +298 -51
  41. alita_sdk/tools/sharepoint/api_wrapper.py +104 -33
  42. alita_sdk/tools/sharepoint/authorization_helper.py +175 -1
  43. alita_sdk/tools/sharepoint/utils.py +8 -2
  44. alita_sdk/tools/utils/content_parser.py +27 -16
  45. alita_sdk/tools/vector_adapters/VectorStoreAdapter.py +19 -6
  46. {alita_sdk-0.3.376.dist-info → alita_sdk-0.3.423.dist-info}/METADATA +1 -1
  47. {alita_sdk-0.3.376.dist-info → alita_sdk-0.3.423.dist-info}/RECORD +50 -50
  48. {alita_sdk-0.3.376.dist-info → alita_sdk-0.3.423.dist-info}/WHEEL +0 -0
  49. {alita_sdk-0.3.376.dist-info → alita_sdk-0.3.423.dist-info}/licenses/LICENSE +0 -0
  50. {alita_sdk-0.3.376.dist-info → alita_sdk-0.3.423.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,10 @@
1
1
  from datetime import datetime, timezone
2
+ from urllib.parse import unquote, urlparse, quote
2
3
 
3
4
  import jwt
4
5
  import requests
6
+ from botocore.response import get_response
7
+
5
8
 
6
9
  class SharepointAuthorizationHelper:
7
10
 
@@ -54,4 +57,175 @@ class SharepointAuthorizationHelper:
54
57
  except jwt.ExpiredSignatureError:
55
58
  return False
56
59
  except jwt.InvalidTokenError:
57
- return False
60
+ return False
61
+
62
+ def _validate_response(self, response, required_field, error_prefix=None):
63
+ if response.status_code != 200:
64
+ raise RuntimeError(f"{error_prefix or 'Request'} failed: {response.status_code} {response.text}")
65
+ json_data = response.json()
66
+ if required_field not in json_data:
67
+ raise KeyError(f"'{required_field}' missing in response")
68
+ return json_data[required_field]
69
+
70
+ def generate_token_and_site_id(self, site_url: str) -> tuple[str, str]:
71
+ try:
72
+ parsed = urlparse(site_url)
73
+ domain = parsed.hostname
74
+ site_path = parsed.path.strip('/')
75
+ if not domain or not site_path:
76
+ raise ValueError(f"site_url missing domain or site path: {site_url}")
77
+ app_name = domain.split('.')[0]
78
+ openid_config_url = f"https://login.microsoftonline.com/{app_name}.onmicrosoft.com/v2.0/.well-known/openid-configuration"
79
+ response = requests.get(openid_config_url)
80
+ token_url = self._validate_response(response, required_field="token_endpoint", error_prefix="OpenID config")
81
+ token_data = {
82
+ "grant_type": "client_credentials",
83
+ "client_id": self.client_id,
84
+ "client_secret": self.client_secret,
85
+ "scope": "https://graph.microsoft.com/.default"
86
+ }
87
+ token_response = requests.post(token_url, data=token_data)
88
+ access_token = self._validate_response(token_response, required_field="access_token", error_prefix="Token request")
89
+ graph_site_url = f"https://graph.microsoft.com/v1.0/sites/{domain}:/{site_path}"
90
+ headers = {"Authorization": f"Bearer {access_token}"}
91
+ site_response = requests.get(graph_site_url, headers=headers)
92
+ site_id = self._validate_response(site_response, required_field="id", error_prefix="Site info")
93
+ return access_token, site_id
94
+ except Exception as e:
95
+ raise RuntimeError(f"Error while obtaining access_token and site_id: {e}")
96
+
97
+ def get_files_list(self, site_url: str, folder_name: str = None, limit_files: int = 100):
98
+ if not site_url or not site_url.startswith("https://"):
99
+ raise ValueError(f"Invalid site_url format: {site_url}")
100
+ if limit_files is not None and (not isinstance(limit_files, int) or limit_files <= 0):
101
+ raise ValueError(f"limit_files must be a positive integer, got: {limit_files}")
102
+ try:
103
+ access_token, site_id = self.generate_token_and_site_id(site_url)
104
+ headers = {"Authorization": f"Bearer {access_token}"}
105
+ drives_url = f"https://graph.microsoft.com/v1.0/sites/{site_id}/drives"
106
+ drives_response = requests.get(drives_url, headers=headers)
107
+ drives = self._validate_response(drives_response, required_field="value", error_prefix="Drives request")
108
+ result = []
109
+ def _recurse_drive(drive_id, drive_path, parent_folder, limit_files):
110
+ # Escape folder_name for URL safety if present
111
+ if parent_folder:
112
+ safe_folder_name = quote(parent_folder.strip('/'), safe="/")
113
+ url = f"https://graph.microsoft.com/v1.0/sites/{site_id}/drives/{drive_id}/root:/{safe_folder_name}:/children?$top={limit_files}"
114
+ else:
115
+ url = f"https://graph.microsoft.com/v1.0/sites/{site_id}/drives/{drive_id}/root/children?$top={limit_files}"
116
+ response = requests.get(url, headers=headers)
117
+ if response.status_code != 200:
118
+ return []
119
+ files_json = response.json()
120
+ if "value" not in files_json:
121
+ return []
122
+ files = []
123
+ for file in files_json["value"]:
124
+ file_name = file.get('name', '')
125
+ # Build full path reflecting nested folders
126
+ if parent_folder:
127
+ full_path = '/' + '/'.join([drive_path.strip('/'), parent_folder.strip('/'), file_name.strip('/')])
128
+ else:
129
+ full_path = '/' + '/'.join([drive_path.strip('/'), file_name.strip('/')])
130
+ temp_props = {
131
+ 'Name': file_name,
132
+ 'Path': full_path,
133
+ 'Created': file.get('createdDateTime'),
134
+ 'Modified': file.get('lastModifiedDateTime'),
135
+ 'Link': file.get('webUrl'),
136
+ 'id': file.get('id')
137
+ }
138
+ if not all([temp_props['Name'], temp_props['Path'], temp_props['id']]):
139
+ continue # skip files with missing required fields
140
+ if 'folder' in file:
141
+ # Recursively extract files from this folder
142
+ inner_folder = parent_folder + '/' + file_name if parent_folder else file_name
143
+ inner_files = _recurse_drive(drive_id, drive_path, inner_folder, limit_files)
144
+ files.extend(inner_files)
145
+ else:
146
+ files.append(temp_props)
147
+ if limit_files is not None and len(result) + len(files) >= limit_files:
148
+ return files[:limit_files - len(result)]
149
+ return files
150
+ for drive in drives:
151
+ drive_id = drive.get("id")
152
+ drive_path = unquote(urlparse(drive.get("webUrl")).path) if drive.get("webUrl") else ""
153
+ if not drive_id:
154
+ continue # skip drives without id
155
+ files = _recurse_drive(drive_id, drive_path, folder_name, limit_files)
156
+ result.extend(files)
157
+ if limit_files is not None and len(result) >= limit_files:
158
+ return result[:limit_files]
159
+ return result
160
+ except Exception as e:
161
+ raise RuntimeError(f"Error in get_files_list: {e}")
162
+
163
+ def get_file_content(self, site_url: str, path: str):
164
+ try:
165
+ access_token, site_id = self.generate_token_and_site_id(site_url)
166
+ headers = {"Authorization": f"Bearer {access_token}"}
167
+ drives_url = f"https://graph.microsoft.com/v1.0/sites/{site_id}/drives"
168
+ drives_response = requests.get(drives_url, headers=headers)
169
+ drives = self._validate_response(drives_response, required_field="value", error_prefix="Drives request")
170
+ path = path.strip('/')
171
+ #
172
+ for drive in drives:
173
+ drive_path = unquote(urlparse(drive.get("webUrl")).path).strip('/')
174
+ if not drive_path or not path.startswith(drive_path):
175
+ continue
176
+ drive_id = drive.get("id")
177
+ if not drive_id:
178
+ continue
179
+ path = path.replace(drive_path, '').strip('/')
180
+ safe_path = quote(path, safe="")
181
+ url = f"https://graph.microsoft.com/v1.0/drives/{drive_id}/root:/{safe_path}:/content"
182
+ response = requests.get(url, headers=headers)
183
+ if response.status_code == 200:
184
+ return response.content
185
+ raise RuntimeError(f"File '{path}' not found in any private or shared documents.")
186
+ except Exception as e:
187
+ raise RuntimeError(f"Error in get_file_content: {e}")
188
+
189
+ def get_list_items(self, site_url: str, list_title: str, limit: int = 1000):
190
+ """Fallback Graph API method to read SharePoint list items by list title.
191
+
192
+ Returns a list of dictionaries representing list item fields.
193
+ """
194
+ if not site_url or not site_url.startswith("https://"):
195
+ raise ValueError(f"Invalid site_url format: {site_url}")
196
+ try:
197
+ access_token, site_id = self.generate_token_and_site_id(site_url)
198
+ headers = {"Authorization": f"Bearer {access_token}"}
199
+ lists_url = f"https://graph.microsoft.com/v1.0/sites/{site_id}/lists"
200
+ response = requests.get(lists_url, headers=headers)
201
+ if response.status_code != 200:
202
+ raise RuntimeError(f"Lists request failed: {response.status_code} {response.text}")
203
+ lists_json = response.json()
204
+ lists = lists_json.get("value", [])
205
+ target_list = None
206
+ normalized_title = list_title.strip().lower()
207
+ for lst in lists:
208
+ # displayName is the user-visible title. name can differ (internal name)
209
+ display_name = (lst.get("displayName") or lst.get("name") or '').strip().lower()
210
+ if display_name == normalized_title:
211
+ target_list = lst
212
+ break
213
+ if not target_list:
214
+ raise RuntimeError(f"List '{list_title}' not found via Graph API.")
215
+ list_id = target_list.get('id')
216
+ if not list_id:
217
+ raise RuntimeError(f"List '{list_title}' missing id field.")
218
+ items_url = f"https://graph.microsoft.com/v1.0/sites/{site_id}/lists/{list_id}/items?expand=fields&$top={limit}"
219
+ items_response = requests.get(items_url, headers=headers)
220
+ if items_response.status_code != 200:
221
+ raise RuntimeError(f"List items request failed: {items_response.status_code} {items_response.text}")
222
+ items_json = items_response.json()
223
+ values = items_json.get('value', [])
224
+ result = []
225
+ for item in values:
226
+ fields = item.get('fields', {})
227
+ if fields:
228
+ result.append(fields)
229
+ return result
230
+ except Exception as e:
231
+ raise RuntimeError(f"Error in get_list_items: {e}")
@@ -1,5 +1,7 @@
1
- from docx import Document
1
+ import re
2
2
  from io import BytesIO
3
+ from docx import Document
4
+
3
5
 
4
6
  def read_docx_from_bytes(file_content):
5
7
  """Read and return content from a .docx file using a byte stream."""
@@ -11,4 +13,8 @@ def read_docx_from_bytes(file_content):
11
13
  return '\n'.join(text)
12
14
  except Exception as e:
13
15
  print(f"Error reading .docx from bytes: {e}")
14
- return ""
16
+ return ""
17
+
18
+
19
+ def decode_sharepoint_string(s):
20
+ return re.sub(r'_x([0-9A-Fa-f]{4})_', lambda m: chr(int(m.group(1), 16)), s)
@@ -92,21 +92,24 @@ def parse_file_content(file_name=None, file_content=None, is_capture_image: bool
92
92
  return ToolException(
93
93
  "Not supported type of files entered. Supported types are TXT, DOCX, PDF, PPTX, XLSX and XLS only.")
94
94
 
95
- if hasattr(loader, 'get_content'):
96
- return loader.get_content()
97
- else:
98
- extension = Path(file_path if file_path else file_name).suffix
99
- loader_kwargs = get_loader_kwargs(loaders_map.get(extension), file_name, file_content, is_capture_image, page_number, sheet_name, llm, file_path, excel_by_sheets)
100
- if file_content:
101
- return load_content_from_bytes(file_content=file_content,
102
- extension=extension,
103
- loader_extra_config=loader_kwargs,
104
- llm=llm)
95
+ try:
96
+ if hasattr(loader, 'get_content'):
97
+ return loader.get_content()
105
98
  else:
106
- return load_content(file_path=file_path,
107
- extension=extension,
108
- loader_extra_config=loader_kwargs,
109
- llm=llm)
99
+ extension = Path(file_path if file_path else file_name).suffix
100
+ loader_kwargs = get_loader_kwargs(loaders_map.get(extension), file_name, file_content, is_capture_image, page_number, sheet_name, llm, file_path, excel_by_sheets)
101
+ if file_content:
102
+ return load_content_from_bytes(file_content=file_content,
103
+ extension=extension,
104
+ loader_extra_config=loader_kwargs,
105
+ llm=llm)
106
+ else:
107
+ return load_content(file_path=file_path,
108
+ extension=extension,
109
+ loader_extra_config=loader_kwargs,
110
+ llm=llm)
111
+ except Exception as e:
112
+ return ToolException(f"Error reading file ({file_name or file_path}) content. Make sure these types are supported: {str(e)}")
110
113
 
111
114
  def load_file_docs(file_name=None, file_content=None, is_capture_image: bool = False, page_number: int = None,
112
115
  sheet_name: str = None, llm=None, file_path: str = None, excel_by_sheets: bool = False) -> List[Document] | ToolException:
@@ -153,7 +156,7 @@ def prepare_loader(file_name=None, file_content=None, is_capture_image: bool = F
153
156
 
154
157
  loader_object = loaders_map.get(extension)
155
158
  if not loader_object:
156
- return None
159
+ loader_object = loaders_map.get('.txt') # Default to text loader if no specific loader found
157
160
  loader_kwargs = get_loader_kwargs(loader_object, file_name, file_content, is_capture_image, page_number, sheet_name, llm, file_path, excel_by_sheets, prompt)
158
161
  loader = loader_object['class'](**loader_kwargs)
159
162
  return loader
@@ -222,10 +225,18 @@ def process_document_by_type(content, extension_source: str, document: Document
222
225
  metadata={**document.metadata, 'chunk_id': 1}
223
226
  )
224
227
  return
228
+ #
229
+ chunks_counter = 0
225
230
  for chunk in chunks:
231
+ chunks_counter += 1
232
+ metadata = {**document.metadata, **chunk.metadata}
233
+ #
234
+ # ensure each chunk has a unique chunk_id
235
+ metadata['chunk_id'] = chunks_counter
236
+ #
226
237
  yield Document(
227
238
  page_content=sanitize_for_postgres(chunk.page_content),
228
- metadata={**document.metadata, **chunk.metadata}
239
+ metadata=metadata
229
240
  )
230
241
 
231
242
 
@@ -109,7 +109,7 @@ class PGVectorAdapter(VectorStoreAdapter):
109
109
  def get_indexed_ids(self, vectorstore_wrapper, index_name: Optional[str] = '') -> List[str]:
110
110
  """Get all indexed document IDs from PGVector"""
111
111
  from sqlalchemy.orm import Session
112
- from sqlalchemy import func
112
+ from sqlalchemy import func, or_
113
113
 
114
114
  store = vectorstore_wrapper.vectorstore
115
115
  try:
@@ -119,7 +119,12 @@ class PGVectorAdapter(VectorStoreAdapter):
119
119
  # Apply filter only if index_name is provided
120
120
  if index_name:
121
121
  query = query.filter(
122
- func.jsonb_extract_path_text(store.EmbeddingStore.cmetadata, 'collection') == index_name
122
+ func.jsonb_extract_path_text(store.EmbeddingStore.cmetadata, 'collection') == index_name,
123
+ or_(
124
+ func.jsonb_extract_path_text(store.EmbeddingStore.cmetadata, 'type').is_(None),
125
+ func.jsonb_extract_path_text(store.EmbeddingStore.cmetadata,
126
+ 'type') != IndexerKeywords.INDEX_META_TYPE.value
127
+ )
123
128
  )
124
129
  ids = query.all()
125
130
  return [str(id_tuple[0]) for id_tuple in ids]
@@ -131,7 +136,15 @@ class PGVectorAdapter(VectorStoreAdapter):
131
136
  """Clean the vectorstore collection by deleting all indexed data."""
132
137
  # This logic deletes all data from the vectorstore collection without removal of collection.
133
138
  # Collection itself remains available for future indexing.
134
- vectorstore_wrapper.vectorstore.delete(ids=self.get_indexed_ids(vectorstore_wrapper, index_name))
139
+ from sqlalchemy.orm import Session
140
+ from sqlalchemy import func
141
+
142
+ store = vectorstore_wrapper.vectorstore
143
+ with Session(store.session_maker.bind) as session:
144
+ session.query(store.EmbeddingStore).filter(
145
+ func.jsonb_extract_path_text(store.EmbeddingStore.cmetadata, 'collection') == index_name
146
+ ).delete(synchronize_session=False)
147
+ session.commit()
135
148
 
136
149
  def is_vectorstore_type(self, vectorstore) -> bool:
137
150
  """Check if the vectorstore is a PGVector store."""
@@ -145,7 +158,7 @@ class PGVectorAdapter(VectorStoreAdapter):
145
158
 
146
159
  result = {}
147
160
  try:
148
- vectorstore_wrapper._log_data("Retrieving already indexed data from PGVector vectorstore",
161
+ vectorstore_wrapper._log_tool_event("Retrieving already indexed data from PGVector vectorstore",
149
162
  tool_name="get_indexed_data")
150
163
  store = vectorstore_wrapper.vectorstore
151
164
  with Session(store.session_maker.bind) as session:
@@ -194,7 +207,7 @@ class PGVectorAdapter(VectorStoreAdapter):
194
207
 
195
208
  result = {}
196
209
  try:
197
- vectorstore_wrapper._log_data("Retrieving already indexed code data from PGVector vectorstore",
210
+ vectorstore_wrapper._log_tool_event(message="Retrieving already indexed code data from PGVector vectorstore",
198
211
  tool_name="index_code_data")
199
212
  store = vectorstore_wrapper.vectorstore
200
213
  with (Session(store.session_maker.bind) as session):
@@ -307,7 +320,7 @@ class ChromaAdapter(VectorStoreAdapter):
307
320
 
308
321
  def list_collections(self, vectorstore_wrapper) -> str:
309
322
  vector_client = vectorstore_wrapper.vectorstore._client
310
- return ','.join([collection.name for collection in vector_client.list_indexes()])
323
+ return ','.join([collection.name for collection in vector_client.list_collections()])
311
324
 
312
325
  def remove_collection(self, vectorstore_wrapper, collection_name: str):
313
326
  vectorstore_wrapper.vectorstore.delete_collection()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.376
3
+ Version: 0.3.423
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
@@ -5,17 +5,17 @@ alita_sdk/configurations/__init__.py,sha256=3_MlzyzAi1dog6MFQD_ICOZvaPfXf2UfhSZw
5
5
  alita_sdk/configurations/ado.py,sha256=Djw1_8QmssETVpjpk2LeFN--Wg5-D1_L1NdwH8dtbGM,1274
6
6
  alita_sdk/configurations/azure_search.py,sha256=WDBc38uSmRBA_ypezb04wob2qUMqcw275FI39SWvrPo,808
7
7
  alita_sdk/configurations/bigquery.py,sha256=kuJ9AUAHynnyM4wkaQbiW3x5VmrJkjR0RGmsyAec194,917
8
- alita_sdk/configurations/bitbucket.py,sha256=D_RNwFHm3wEnAK-wMdJbsVy2RNLlH52xHiKsuDfehDg,1157
8
+ alita_sdk/configurations/bitbucket.py,sha256=I7LrgLxI28F9Dge5h5gdf9Fp6rdHdl7daocVaZVebfk,5249
9
9
  alita_sdk/configurations/browser.py,sha256=2ZMUrqk8M9oZi3HX4ouGp9b-qdYgpGN-hVin--zgzpc,670
10
10
  alita_sdk/configurations/carrier.py,sha256=QPgXyNXki8ECQAwBB1I64vsltV5patZUnZrd5m8obyY,693
11
- alita_sdk/configurations/confluence.py,sha256=mAW2fgSEOg-BAV768Sc6b_EuRA3H5UL9xfqQ12Zh_w4,1421
11
+ alita_sdk/configurations/confluence.py,sha256=bGGw8R_JtcH1m3NCIuE-W52GDQXELgB9JoxrNmjj974,5469
12
12
  alita_sdk/configurations/delta_lake.py,sha256=sCNDClaO6-b1Qv5WDxOMHjQUrHnr6S6EPQuS9o6q8Z8,1130
13
13
  alita_sdk/configurations/embedding.py,sha256=8GSC8Feh8CH7bT_6cQhNqlS6raE91S2YRAtb2N9bUA8,552
14
14
  alita_sdk/configurations/figma.py,sha256=91P-R5hqTwpXQvuAcUMXztzqvSvmtPkguR88Zw830Og,1025
15
15
  alita_sdk/configurations/github.py,sha256=6F7P9BPu9zE54q8m8IPjIct8cEX3WODYzZvn9WtxOXI,6283
16
- alita_sdk/configurations/gitlab.py,sha256=0W35igIlue6QxOnPgw65ToLf4HSdPVuRyObdwQuEld8,1053
16
+ alita_sdk/configurations/gitlab.py,sha256=ZDe3uGYp7Or01YxIPAHUfvNQNw5jbQHpHakx3XJRO4M,4177
17
17
  alita_sdk/configurations/google_places.py,sha256=jXhlPXywkDhHNrgB4KoVWogf3CVi1bY3wFLRzDqMr-E,589
18
- alita_sdk/configurations/jira.py,sha256=ASh8I2iVXzOOtwjRX7kYNllXpCXyAIxFMP_YD4Q0PTI,1379
18
+ alita_sdk/configurations/jira.py,sha256=isZPChfvzVNaoWLcVq4jWVDUcDGszieWdLg8gqxAU84,5914
19
19
  alita_sdk/configurations/pgvector.py,sha256=P-Q07ocIg4CXN_7hUBDM6r9gN62XS1N2jyP79tM9Tig,500
20
20
  alita_sdk/configurations/postman.py,sha256=A4swgV_0eEJ3LXYWzUUIDD5zFu9rS_vndqp1xd4YHnM,1114
21
21
  alita_sdk/configurations/qtest.py,sha256=i-09LUFDqcBKmzSiKd8C3NEKcRDAH6wwKsajC_TbBnM,642
@@ -28,39 +28,39 @@ alita_sdk/configurations/slack.py,sha256=ppwfV7YMpkq-qU6YREK7EH8VmYBZ0EN_9WIwz3E
28
28
  alita_sdk/configurations/sonar.py,sha256=b5Mh-s8C6Wts0KF0VX6AN8KmdXwVSu1UXJOf2AVGQbs,676
29
29
  alita_sdk/configurations/sql.py,sha256=0n2q2Tmc19_xUol6EN1LO6H1tZgJuxm7PvK3bFklGnM,754
30
30
  alita_sdk/configurations/testio.py,sha256=yoGWTuwcjFoBxbsxHLGVbcQBBZAFDQwuVcTijyUrW_U,612
31
- alita_sdk/configurations/testrail.py,sha256=k0fPmHBIrWAfEKhrDdB9Rdirw-UFHFoXkRePyrsqcWI,725
32
- alita_sdk/configurations/xray.py,sha256=_XCW5eGEAyhDuRvXCtTAZ24BGsIwzvIaeAZT10xoW6M,1147
31
+ alita_sdk/configurations/testrail.py,sha256=URm7nT3inwdwnD-_BVMlL5QSIPbKwtZGfxoeaXyyAm8,4355
32
+ alita_sdk/configurations/xray.py,sha256=mWic9HMJlYaxMWu0Hs6wpBvRAcJTUnrXMJjAgSzSinM,4968
33
33
  alita_sdk/configurations/zephyr.py,sha256=ndqGYFy5OFxjoXB7DzC71rd5W6qGBGAlKMWoqT8TuNk,1653
34
- alita_sdk/configurations/zephyr_enterprise.py,sha256=UaBk3qWcT2-bCzko5HEPvgxArw1ZpvOvwXwFYrIHZjM,710
35
- alita_sdk/configurations/zephyr_essential.py,sha256=tUIrh-PRNvdrLBj6rJXqlF-h6oaMXUQI1wgit07kFBw,752
34
+ alita_sdk/configurations/zephyr_enterprise.py,sha256=x2ZNvR2tYJySzEmBY3fovUe7B-_QawCMZPWl8GzmfkU,4830
35
+ alita_sdk/configurations/zephyr_essential.py,sha256=TiZedsBlfIDroflipvoqxjJeEWPonQzeT7e1bYns98s,3869
36
36
  alita_sdk/runtime/__init__.py,sha256=4W0UF-nl3QF2bvET5lnah4o24CoTwSoKXhuN0YnwvEE,828
37
37
  alita_sdk/runtime/clients/__init__.py,sha256=BdehU5GBztN1Qi1Wul0cqlU46FxUfMnI6Vq2Zd_oq1M,296
38
38
  alita_sdk/runtime/clients/artifact.py,sha256=b7hVuGRROt6qUcT11uAZqzJqslzmlgW-Y6oGsiwNmjI,4029
39
- alita_sdk/runtime/clients/client.py,sha256=BIF6QSnhlTfsTQ_dQs-QZjeBJHZsOtSuv_q7_ABUUQg,45737
39
+ alita_sdk/runtime/clients/client.py,sha256=ElJdZHYLpuXLQadoHMcuhiHzs8HVUiiv5rZE7UU-iNg,45896
40
40
  alita_sdk/runtime/clients/datasource.py,sha256=HAZovoQN9jBg0_-lIlGBQzb4FJdczPhkHehAiVG3Wx0,1020
41
41
  alita_sdk/runtime/clients/prompt.py,sha256=li1RG9eBwgNK_Qf0qUaZ8QNTmsncFrAL2pv3kbxZRZg,1447
42
- alita_sdk/runtime/clients/sandbox_client.py,sha256=OhEasE0MxBBDw4o76xkxVCpNpr3xJ8spQsrsVxMrjUA,16192
42
+ alita_sdk/runtime/clients/sandbox_client.py,sha256=kGOGfm3OAFmYeTM4bIuKbhRsOiOhF0M1q8takBe-sWY,16637
43
43
  alita_sdk/runtime/langchain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
- alita_sdk/runtime/langchain/assistant.py,sha256=rCtlB4Yuf9Sl-SSurUpALB4ETdADpGrdTngtbM7Aj3A,16184
44
+ alita_sdk/runtime/langchain/assistant.py,sha256=qKoEjbGuUnX-OZDHmSaK3plb1jON9unzEwAjxBT9DY8,16044
45
45
  alita_sdk/runtime/langchain/chat_message_template.py,sha256=kPz8W2BG6IMyITFDA5oeb5BxVRkHEVZhuiGl4MBZKdc,2176
46
- alita_sdk/runtime/langchain/constants.py,sha256=eHVJ_beJNTf1WJo4yq7KMK64fxsRvs3lKc34QCXSbpk,3319
46
+ alita_sdk/runtime/langchain/constants.py,sha256=I3dwexVp_Qq3MueRA2ClLgFDEhk4BkJhgR6m7V0gVPc,3404
47
47
  alita_sdk/runtime/langchain/indexer.py,sha256=0ENHy5EOhThnAiYFc7QAsaTNp9rr8hDV_hTK8ahbatk,37592
48
- alita_sdk/runtime/langchain/langraph_agent.py,sha256=dUnyIAKe6i96cYeqHKPCiv40OFnKzwrxKgBQHyNPyLI,48649
48
+ alita_sdk/runtime/langchain/langraph_agent.py,sha256=Tdcp9YrwiCHRqXqype6EBPT7DOaC0oQcHAQQ8jm0W18,51643
49
49
  alita_sdk/runtime/langchain/mixedAgentParser.py,sha256=M256lvtsL3YtYflBCEp-rWKrKtcY1dJIyRGVv7KW9ME,2611
50
50
  alita_sdk/runtime/langchain/mixedAgentRenderes.py,sha256=asBtKqm88QhZRILditjYICwFVKF5KfO38hu2O-WrSWE,5964
51
51
  alita_sdk/runtime/langchain/store_manager.py,sha256=i8Fl11IXJhrBXq1F1ukEVln57B1IBe-tqSUvfUmBV4A,2218
52
- alita_sdk/runtime/langchain/utils.py,sha256=tzoNe8V8B7nMgDFfQhQrjQehZDIQGH0zYU1uOvz2Sio,6884
52
+ alita_sdk/runtime/langchain/utils.py,sha256=L0BLiIYb1zSkt8NEHDRq6RVcrQrHPJZQiPG-Jn1onvM,8037
53
53
  alita_sdk/runtime/langchain/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
54
  alita_sdk/runtime/langchain/agents/xml_chat.py,sha256=Mx7PK5T97_GrFCwHHZ3JZP42S7MwtUzV0W-_8j6Amt8,6212
55
55
  alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py,sha256=4kFU1ijrM1Jw7cywQv8mUiBHlE6w-uqfzSZP4hUV5P4,3771
56
56
  alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py,sha256=3ne-a5qIkBuGL2pzIePxDr79n3RJhASbOdS5izYWDMg,2321
57
57
  alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py,sha256=NzpoL4C7UzyzLouTSL_xTQw70MitNt-WZz3Eyl7QkTA,8294
58
58
  alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py,sha256=fKezkgvIcLG7S2PVJp1a8sZd6C4XQKNZKAFC87DbQts,7003
59
- alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py,sha256=9hi5eHgDIfa9wBWqTuwMM6D6W64czrDTfZl_htooe8Y,5943
59
+ alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py,sha256=HU4NZHYxLAgPkIrR-NKOfNz2SsfmkWp7F414SGSm3W0,18453
60
60
  alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py,sha256=YI8QaHRjCl8WtxuQKMXi_iTJBZ6da3OTNgoDFqNjz1g,9294
61
61
  alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py,sha256=5WXGcyHraSVj3ANHj_U6X4EDikoekrIYtS0Q_QqNIng,2608
62
62
  alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py,sha256=QwgBJE-BvOasjgT1hYHZc0MP0F_elirUjSzKixoM6fY,6610
63
- alita_sdk/runtime/langchain/document_loaders/AlitaJSONLoader.py,sha256=Nav2cgCQKOHQi_ZgYYn_iFdP_Os56KVlVR5nHGXecBc,3445
63
+ alita_sdk/runtime/langchain/document_loaders/AlitaJSONLoader.py,sha256=iKCHUkEISLX1mSiMrhbKXhLPWHIVov6gQ0FahUrHAFM,3607
64
64
  alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py,sha256=M2q3YThkps0yAZOjfoLcyE7qycVTYKcXEGtpmp0N6C8,10950
65
65
  alita_sdk/runtime/langchain/document_loaders/AlitaMarkdownLoader.py,sha256=RGHDfleYTn7AAc3H-yFZrjm06L0Ux14ZtEJpFlVBNCA,2474
66
66
  alita_sdk/runtime/langchain/document_loaders/AlitaPDFLoader.py,sha256=olVThKX9Mmv4muTW0cAQBkgeNqU4IcdLVhqpBuzwly4,5904
@@ -71,7 +71,7 @@ alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py,sha256=EO1nJDRP
71
71
  alita_sdk/runtime/langchain/document_loaders/AlitaTextLoader.py,sha256=EiCIAF_OxSrbuwgOFk2IpxRMvFbctITt2jAI0g_atpk,3586
72
72
  alita_sdk/runtime/langchain/document_loaders/ImageParser.py,sha256=RQ4zGdSw42ec8c6Eb48uFadayWuiT4FbwhGVwhSw60s,1065
73
73
  alita_sdk/runtime/langchain/document_loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
- alita_sdk/runtime/langchain/document_loaders/constants.py,sha256=L8sgQsD5LH8kMSWEnGkc00j5FsC2VZQcUV95jpnbQlQ,9007
74
+ alita_sdk/runtime/langchain/document_loaders/constants.py,sha256=BFXPTMI8ocF2uzWcY6ZAZ6F_uRNaurA5ibK6YvhcH3A,9425
75
75
  alita_sdk/runtime/langchain/document_loaders/utils.py,sha256=9xghESf3axBbwxATyVuS0Yu-TWe8zWZnXgCD1ZVyNW0,2414
76
76
  alita_sdk/runtime/langchain/interfaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
77
  alita_sdk/runtime/langchain/interfaces/kwextractor.py,sha256=kSJA9L8g8UArmHu7Bd9dIO0Rrq86JPUb8RYNlnN68FQ,3072
@@ -96,35 +96,35 @@ alita_sdk/runtime/langchain/tools/bdd_parser/parser.py,sha256=1H1Nd_OH5Wx8A5YV1z
96
96
  alita_sdk/runtime/llms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
97
  alita_sdk/runtime/llms/preloaded.py,sha256=3AaUbZK3d8fvxAQMjR3ftOoYa0SnkCOL1EvdvDCXIHE,11321
98
98
  alita_sdk/runtime/toolkits/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
- alita_sdk/runtime/toolkits/application.py,sha256=Mn8xwIdlbuyNzroH-WVVWJG0biOUV7u8qS15fQJ_XmI,2186
99
+ alita_sdk/runtime/toolkits/application.py,sha256=HHAKgwKOckxc7EQG-AV7rz4POOzQJKFRr7AGEjmLudE,2688
100
100
  alita_sdk/runtime/toolkits/artifact.py,sha256=YChNCX4QhVpaQG7Jk4TS-Wl0Aruc4slQ2K21zh9nNO0,3176
101
101
  alita_sdk/runtime/toolkits/configurations.py,sha256=kIDAlnryPQfbZyFxV-9SzN2-Vefzx06TX1BBdIIpN90,141
102
102
  alita_sdk/runtime/toolkits/datasource.py,sha256=qk78OdPoReYPCWwahfkKLbKc4pfsu-061oXRryFLP6I,2498
103
103
  alita_sdk/runtime/toolkits/prompt.py,sha256=WIpTkkVYWqIqOWR_LlSWz3ug8uO9tm5jJ7aZYdiGRn0,1192
104
104
  alita_sdk/runtime/toolkits/subgraph.py,sha256=wwUK8JjPXkGzyVZ3tAukmvST6eGbqx_U11rpnmbrvtg,2105
105
- alita_sdk/runtime/toolkits/tools.py,sha256=WBTU-ou5u0R9QLses5N_JHP2TryrsWUr_gY8uG5xY3E,8319
105
+ alita_sdk/runtime/toolkits/tools.py,sha256=vJGZtXAP-EMT6HXTeDzKd_BuH3fx3Ht_8Skp_BvI9O8,10168
106
106
  alita_sdk/runtime/toolkits/vectorstore.py,sha256=BGppQADa1ZiLO17fC0uCACTTEvPHlodEDYEzUcBRbAA,2901
107
- alita_sdk/runtime/tools/__init__.py,sha256=TbHPnDtCdQvNzK1YQnk_ufkuI7FgHfvY1-JWUgycZhQ,497
107
+ alita_sdk/runtime/tools/__init__.py,sha256=Fx7iHqkzA90-KfjdcUUzMUI_7kDarjuTsSpSzOW2pN0,568
108
108
  alita_sdk/runtime/tools/agent.py,sha256=m98QxOHwnCRTT9j18Olbb5UPS8-ZGeQaGiUyZJSyFck,3162
109
- alita_sdk/runtime/tools/application.py,sha256=z3vLZODs-_xEEnZFmGF0fKz1j3VtNJxqsAmg5ovExpQ,3129
109
+ alita_sdk/runtime/tools/application.py,sha256=RCGe-mRfj8372gTFkEX2xBvcYhw7IKdU1t50lXaBPOY,3701
110
110
  alita_sdk/runtime/tools/artifact.py,sha256=u3szFwZqguHrPZ3tZJ7S_TiZl7cxlT3oHYd6zbdpRDE,13842
111
111
  alita_sdk/runtime/tools/datasource.py,sha256=pvbaSfI-ThQQnjHG-QhYNSTYRnZB0rYtZFpjCfpzxYI,2443
112
112
  alita_sdk/runtime/tools/echo.py,sha256=spw9eCweXzixJqHnZofHE1yWiSUa04L4VKycf3KCEaM,486
113
- alita_sdk/runtime/tools/function.py,sha256=eTq4em9N1-6CrZ4CZQ4eLZt1kMdY4o7Q3LOUaxzz760,6928
114
- alita_sdk/runtime/tools/graph.py,sha256=MbnZYqdmvZY7SGDp43lOVVIjUt5ARHSgj43mdtBjSjQ,3092
115
- alita_sdk/runtime/tools/image_generation.py,sha256=8ZH4SoRrbS4EzmtF6cpNMRvuFephCYD2S8uqNC9KGE4,4274
113
+ alita_sdk/runtime/tools/function.py,sha256=VOgcCjsDfyH2kBbX4k3DtwpsW7aX0JETahC26dwYsuA,6540
114
+ alita_sdk/runtime/tools/graph.py,sha256=7jImBBSEdP5Mjnn2keOiyUwdGDFhEXLUrgUiugO3mgA,3503
115
+ alita_sdk/runtime/tools/image_generation.py,sha256=Kls9D_ke_SK7xmVr7I9SlQcAEBJc86gf66haN0qIj9k,7469
116
116
  alita_sdk/runtime/tools/indexer_tool.py,sha256=whSLPevB4WD6dhh2JDXEivDmTvbjiMV1MrPl9cz5eLA,4375
117
- alita_sdk/runtime/tools/llm.py,sha256=YDb0kIu3QCiv2DkgpnFv5-pbAor6CMQ5IcYnyVMQrtY,15142
117
+ alita_sdk/runtime/tools/llm.py,sha256=iRG_wU4T01LRsjEMPZe5Uah7LiMqDc-vspwkMuQtltk,16136
118
118
  alita_sdk/runtime/tools/loop.py,sha256=uds0WhZvwMxDVFI6MZHrcmMle637cQfBNg682iLxoJA,8335
119
119
  alita_sdk/runtime/tools/loop_output.py,sha256=U4hO9PCQgWlXwOq6jdmCGbegtAxGAPXObSxZQ3z38uk,8069
120
120
  alita_sdk/runtime/tools/mcp_server_tool.py,sha256=MhLxZJ44LYrB_0GrojmkyqKoDRaqIHkEQAsg718ipog,4277
121
121
  alita_sdk/runtime/tools/pgvector_search.py,sha256=NN2BGAnq4SsDHIhUcFZ8d_dbEOM8QwB0UwpsWCYruXU,11692
122
122
  alita_sdk/runtime/tools/prompt.py,sha256=nJafb_e5aOM1Rr3qGFCR-SKziU9uCsiP2okIMs9PppM,741
123
123
  alita_sdk/runtime/tools/router.py,sha256=p7e0tX6YAWw2M2Nq0A_xqw1E2P-Xz1DaJvhUstfoZn4,1584
124
- alita_sdk/runtime/tools/sandbox.py,sha256=0OjCNsDVO1N0cFNEFVr6GVICSaqGWesUzF6LcYg-Hn0,11349
124
+ alita_sdk/runtime/tools/sandbox.py,sha256=LTCHC9xnuYThWX30PCTVEtjeg50FX7w2c29KU5E68W0,15251
125
125
  alita_sdk/runtime/tools/tool.py,sha256=lE1hGi6qOAXG7qxtqxarD_XMQqTghdywf261DZawwno,5631
126
- alita_sdk/runtime/tools/vectorstore.py,sha256=iRiB1VDDrgEJ4JmgsPtbkY6qldDfRci7spcikLFdY_U,34323
127
- alita_sdk/runtime/tools/vectorstore_base.py,sha256=7F_kpDkuVvkurCS2Z5oMKWnVjbzmli-D-gz3jXVCrVI,28244
126
+ alita_sdk/runtime/tools/vectorstore.py,sha256=0SzfY1dYrGr7YUapJzXY01JFyzLv36dPjwHzs1XZIM4,34392
127
+ alita_sdk/runtime/tools/vectorstore_base.py,sha256=k_6LAhhBJEs5SXCQJI3bBvJLQli6_3pHjqF6SCQGJGc,28312
128
128
  alita_sdk/runtime/utils/AlitaCallback.py,sha256=E4LlSBuCHWiUq6W7IZExERHZY0qcmdjzc_rJlF2iQIw,7356
129
129
  alita_sdk/runtime/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
130
130
  alita_sdk/runtime/utils/constants.py,sha256=Xntx1b_uxUzT4clwqHA_U6K8y5bBqf_4lSQwXdcWrp4,13586
@@ -134,11 +134,11 @@ alita_sdk/runtime/utils/save_dataframe.py,sha256=i-E1wp-t4wb17Zq3nA3xYwgSILjoXNi
134
134
  alita_sdk/runtime/utils/streamlit.py,sha256=GQ69CsjfRMcGXcCrslL0Uoj24Cl07Jeji0rZxELaKTQ,104930
135
135
  alita_sdk/runtime/utils/toolkit_runtime.py,sha256=MU63Fpxj0b5_r1IUUc0Q3-PN9VwL7rUxp2MRR4tmYR8,5136
136
136
  alita_sdk/runtime/utils/toolkit_utils.py,sha256=I9QFqnaqfVgN26LUr6s3XlBlG6y0CoHURnCzG7XcwVs,5311
137
- alita_sdk/runtime/utils/utils.py,sha256=BVEVLkYiiotcUD0XsHyx-wACpHfALsQg7PLZpObqvK8,1008
138
- alita_sdk/tools/__init__.py,sha256=jUj1ztC2FbkIUB-YYmiqaz_rqW7Il5kWzDPn1mJmj5w,10545
139
- alita_sdk/tools/base_indexer_toolkit.py,sha256=ZYQONHUjrpK_UBd2HU14WpE0QYECKSnzDD32ey_Xc4A,26608
140
- alita_sdk/tools/code_indexer_toolkit.py,sha256=p3zVnCnQTUf7JUGra9Rl6GEK2W1-hvvz0Xsgz0v0muM,7292
141
- alita_sdk/tools/elitea_base.py,sha256=jbgWUXHif0CS2dTZj87cPX_17dGk_WvYkjDwn1x4AwA,34389
137
+ alita_sdk/runtime/utils/utils.py,sha256=PJK8A-JVIzY1IowOjGG8DIqsIiEFe65qDKvFcjJCKWA,1041
138
+ alita_sdk/tools/__init__.py,sha256=wrcSP0AN6HukZHPXpObCKI58cY0lVpHyzbpq609CMhE,10726
139
+ alita_sdk/tools/base_indexer_toolkit.py,sha256=hK1Q2dvNctZCw2K1-khlQrR1Q0JDQviZjqDUiqpnazg,27180
140
+ alita_sdk/tools/code_indexer_toolkit.py,sha256=2VkOC8JfBDc25_jp-NWyMYqpaYRETIzTJFLrIYrfBpE,7814
141
+ alita_sdk/tools/elitea_base.py,sha256=34fmVdYgd2YXifU5LFNjMQysr4OOIZ6AOZjq4GxLgSw,34417
142
142
  alita_sdk/tools/non_code_indexer_toolkit.py,sha256=6Lrqor1VeSLbPLDHAfg_7UAUqKFy1r_n6bdsc4-ak98,1315
143
143
  alita_sdk/tools/ado/__init__.py,sha256=NnNYpNFW0_N_v1td_iekYOoQRRB7PIunbpT2f9ZFJM4,1201
144
144
  alita_sdk/tools/ado/utils.py,sha256=PTCludvaQmPLakF2EbCGy66Mro4-rjDtavVP-xcB2Wc,1252
@@ -149,7 +149,7 @@ alita_sdk/tools/ado/test_plan/test_plan_wrapper.py,sha256=MHM1WJUUWIgOUxGPjQUhNU
149
149
  alita_sdk/tools/ado/wiki/__init__.py,sha256=ela6FOuT1fqN3FvHGBflzAh16HS1SSPsJYS2SldRX7A,5272
150
150
  alita_sdk/tools/ado/wiki/ado_wrapper.py,sha256=qqKJw755X-kgB2KkcwFECa464xLKmlKrhqKfZ5Da5Gs,18188
151
151
  alita_sdk/tools/ado/work_item/__init__.py,sha256=jml_zSkdC7gdGIoX2ZqRgDb45nhT3ZWzNsZ0II0iVJI,5474
152
- alita_sdk/tools/ado/work_item/ado_wrapper.py,sha256=LTZl9yiqjsoKdy-6zD4as3NCZg1NY1Ogp9LQbiV-IZw,30851
152
+ alita_sdk/tools/ado/work_item/ado_wrapper.py,sha256=uURYPFEj2kVa-mxgaa6duQ0RRwUQTi4yBopdmHeiMPQ,31420
153
153
  alita_sdk/tools/advanced_jira_mining/__init__.py,sha256=GdrFVsyG8h43BnQwBKUtZ_ca_0atP1rQ_0adkd9mssc,4703
154
154
  alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py,sha256=nZPtuwVWp8VeHw1B8q9kdwf-6ZvHnlXTOGdcIMDkKpw,44211
155
155
  alita_sdk/tools/aws/__init__.py,sha256=tB6GCOg4XGSpR6qgbgAF4MUQ5-YmQCbWurWgrVKEKQ8,181
@@ -231,8 +231,8 @@ alita_sdk/tools/code/loaders/codesearcher.py,sha256=XoXXZtIQZhvjIwZlnl_4wVGHC-3s
231
231
  alita_sdk/tools/code/sonar/__init__.py,sha256=iPqj2PnUY4-btJjaDeWIPdn-c9L_uCr_qOoP_uwRoXw,3360
232
232
  alita_sdk/tools/code/sonar/api_wrapper.py,sha256=nNqxcWN_6W8c0ckj-Er9HkNuAdgQLoWBXh5UyzNutis,2653
233
233
  alita_sdk/tools/confluence/__init__.py,sha256=zRnPBM1c7VTRTS955HNc7AEGV5t8ACc2f9wBXmmeXao,6845
234
- alita_sdk/tools/confluence/api_wrapper.py,sha256=1HZftLQFzpNwGSN-9LPp8RQr1X-0fsKzmFlc-WEadZU,89545
235
- alita_sdk/tools/confluence/loader.py,sha256=4bf5qrJMEiJzuZp2NlxO2XObLD1w7fxss_WyMUpe8sg,9290
234
+ alita_sdk/tools/confluence/api_wrapper.py,sha256=TrB4g0gYlollej9kG68kQXrrOUiFwVUxYKo-tZ4ngac,90719
235
+ alita_sdk/tools/confluence/loader.py,sha256=xJhV80zM4x_oalwe36UqiEf4GOgCm_XEezLQNKj4j4k,10025
236
236
  alita_sdk/tools/confluence/utils.py,sha256=Lxo6dBD0OlvM4o0JuK6qeB_4LV9BptiwJA9e1vqNcDw,435
237
237
  alita_sdk/tools/custom_open_api/__init__.py,sha256=9aT5SPNPWcJC6jMZEM-3rUCXVULj_3-qJLQKmnreKNo,2537
238
238
  alita_sdk/tools/custom_open_api/api_wrapper.py,sha256=sDSFpvEqpSvXHGiBISdQQcUecfO3md-_F8hAi6p2dvg,4340
@@ -248,7 +248,7 @@ alita_sdk/tools/github/schemas.py,sha256=TxEWR3SjDKVwzo9i2tLnss_uPAv85Mh7oWjvQvY
248
248
  alita_sdk/tools/github/tool.py,sha256=Jnnv5lenV5ds8AAdyo2m8hSzyJ117HZBjzHC6T1ck-M,1037
249
249
  alita_sdk/tools/github/tool_prompts.py,sha256=y6ZW_FpUCE87Uop3WuQAZVRnzxO5t7xjBOI5bCqiluw,30194
250
250
  alita_sdk/tools/gitlab/__init__.py,sha256=iis7RHD3YgKWxF_ryTfdtA8RPGV-W8zUfy4BgiTDADw,4540
251
- alita_sdk/tools/gitlab/api_wrapper.py,sha256=gmL6o6yZDJKvAOVVgd-gG4wyjD3SlxJ4Ipoyz0GvqW8,22799
251
+ alita_sdk/tools/gitlab/api_wrapper.py,sha256=csANoMp_hiOODU3bSa19gqvKdF_x1ub8aBkDHKeekVs,22726
252
252
  alita_sdk/tools/gitlab/tools.py,sha256=vOGTlSaGaFmWn6LS6YFP-FuTqUPun9vnv1VrUcUHAZQ,16500
253
253
  alita_sdk/tools/gitlab/utils.py,sha256=Z2XiqIg54ouqqt1to-geFybmkCb1I6bpE91wfnINH1I,2320
254
254
  alita_sdk/tools/gitlab_org/__init__.py,sha256=PSTsC4BcPoyDv03Wj9VQHrEGUeR8hw4MRarB64VeqFg,3865
@@ -264,7 +264,7 @@ alita_sdk/tools/google/bigquery/tool.py,sha256=Esf9Hsp8I0e7-5EdkFqQ-bid0cfrg-bfS
264
264
  alita_sdk/tools/google_places/__init__.py,sha256=QtmBCI0bHDK79u4hsCSWFcUihu-h4EmPSh9Yll7zz3w,3590
265
265
  alita_sdk/tools/google_places/api_wrapper.py,sha256=7nZly6nk4f4Tm7s2MVdnnwlb-1_WHRrDhyjDiqoyPjA,4674
266
266
  alita_sdk/tools/jira/__init__.py,sha256=G-9qnOYKFWM_adG0QFexh5-2pj_WaxIxxZanB3ARFqI,6339
267
- alita_sdk/tools/jira/api_wrapper.py,sha256=N-aPpzV1CZaB5uU56sqXO4t2FEdmK2lVQt3VU9EYY0g,82584
267
+ alita_sdk/tools/jira/api_wrapper.py,sha256=xmbZNYL1YkSsVXKuKEVQs1j0Fh7weGj4MdW5CnkXK-o,82611
268
268
  alita_sdk/tools/keycloak/__init__.py,sha256=0WB9yXMUUAHQRni1ghDEmd7GYa7aJPsTVlZgMCM9cQ0,3050
269
269
  alita_sdk/tools/keycloak/api_wrapper.py,sha256=cOGr0f3S3-c6tRDBWI8wMnetjoNSxiV5rvC_0VHb8uw,3100
270
270
  alita_sdk/tools/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -277,7 +277,7 @@ alita_sdk/tools/memory/__init__.py,sha256=aOF0-PAAqBZS3rI2IOezyLhZpn-WpV--ABy4J_
277
277
  alita_sdk/tools/ocr/__init__.py,sha256=pvslKVXyJmK0q23FFDNieuc7RBIuzNXTjTNj-GqhGb0,3335
278
278
  alita_sdk/tools/ocr/api_wrapper.py,sha256=08UF8wj1sR8DcW0z16pw19bgLatLkBF8dySW-Ds8iRk,29649
279
279
  alita_sdk/tools/ocr/text_detection.py,sha256=1DBxt54r3_HdEi93QynSIVta3rH3UpIvy799TPtDTtk,23825
280
- alita_sdk/tools/openapi/__init__.py,sha256=x1U4SGApL6MmNFz9SSsQCv352wMAIdGv0z4eMmYnjCw,4984
280
+ alita_sdk/tools/openapi/__init__.py,sha256=a3eE1zL2InB_bnngKhFoQlR-B4voywqs3s9mEbWypCE,5417
281
281
  alita_sdk/tools/pandas/__init__.py,sha256=rGenKJH5b9__qM4GerpyLT5YEhNk7W1gA7gn6Zpew04,2748
282
282
  alita_sdk/tools/pandas/api_wrapper.py,sha256=wn0bagB45Tz_kN0FoKUCIxKcYklMMWTqQP5NOM8_Kwc,11100
283
283
  alita_sdk/tools/pandas/dataframe/__init__.py,sha256=iOZRlYDEtwqg2MaYFFxETjN8yHAkUqSNe86cm6ao4LA,108
@@ -303,7 +303,7 @@ alita_sdk/tools/postman/postman_analysis.py,sha256=ckc2BfKEop0xnmLPksVRE_Y94ixuq
303
303
  alita_sdk/tools/pptx/__init__.py,sha256=vVUrWnj7KWJgEk9oxGSsCAQ2SMSXrp_SFOdUHYQKcAo,3444
304
304
  alita_sdk/tools/pptx/pptx_wrapper.py,sha256=yyCYcTlIY976kJ4VfPo4dyxj4yeii9j9TWP6W8ZIpN8,29195
305
305
  alita_sdk/tools/qtest/__init__.py,sha256=Jf0xo5S_4clXR2TfCbJbB1sFgCbcFQRM-YYX2ltWBzo,4461
306
- alita_sdk/tools/qtest/api_wrapper.py,sha256=jQSnmYUXyqZyRImzOaxJ7TjrvPwxUw-AWJk3UErwHcw,25597
306
+ alita_sdk/tools/qtest/api_wrapper.py,sha256=6MVRokCZTpI7kPAqZtnO6CfLkx7HyDAV7yrP4MhyXcA,37310
307
307
  alita_sdk/tools/qtest/tool.py,sha256=kKzNPS4fUC76WQQttQ6kdVANViHEvKE8Kf174MQiNYU,562
308
308
  alita_sdk/tools/rally/__init__.py,sha256=2BPPXJxAOKgfmaxVFVvxndfK0JxOXDLkoRmzu2dUwOE,3512
309
309
  alita_sdk/tools/rally/api_wrapper.py,sha256=mouzU6g0KML4UNapdk0k6Q0pU3MpJuWnNo71n9PSEHM,11752
@@ -317,9 +317,9 @@ alita_sdk/tools/servicenow/__init__.py,sha256=ziEt2juPrGFyB98ZXbGf25v6gZo4UJTHsz
317
317
  alita_sdk/tools/servicenow/api_wrapper.py,sha256=WpH-bBLGFdhehs4g-K-WAkNuaD1CSrwsDpdgB3RG53s,6120
318
318
  alita_sdk/tools/servicenow/servicenow_client.py,sha256=Rdqfu-ll-qbnclMzChLZBsfXRDzgoX_FdeI2WLApWxc,3269
319
319
  alita_sdk/tools/sharepoint/__init__.py,sha256=5z2iSmm-0kbHKf70wN6OOgS4Px7tOzwkIpHXz0Vrbj4,4045
320
- alita_sdk/tools/sharepoint/api_wrapper.py,sha256=6D0pGsCx33KxfbZkG331I1gucmqLToI2qBMonFZtl6o,12245
321
- alita_sdk/tools/sharepoint/authorization_helper.py,sha256=n-nL5dlBoLMK70nHu7P2RYCb8C6c9HMA_gEaw8LxuhE,2007
322
- alita_sdk/tools/sharepoint/utils.py,sha256=fZ1YzAu5CTjKSZeslowpOPH974902S8vCp1Wu7L44LM,446
320
+ alita_sdk/tools/sharepoint/api_wrapper.py,sha256=yOAZfa9-GcjohTak-TqcFL8f7s18hIA89FNO0qXjb_s,16614
321
+ alita_sdk/tools/sharepoint/authorization_helper.py,sha256=GN_UkI_HOn9b5UFlxqck7sm6HuB_Kh4wCIGBYFPe2dg,11924
322
+ alita_sdk/tools/sharepoint/utils.py,sha256=CO1PNRC5CpQaVo2Gdenj_jqm2bReSqUT92Bk5s37d8M,573
323
323
  alita_sdk/tools/slack/__init__.py,sha256=YiPAoRc6y6uVpfHl0K1Qi-flcyPlWFIMVcVbhicGWXY,3990
324
324
  alita_sdk/tools/slack/api_wrapper.py,sha256=5VrV7iSGno8ZcDzEHdGPNhInhtODGPPvAzoZ9W9iQWE,14009
325
325
  alita_sdk/tools/sql/__init__.py,sha256=F3eewPEKqVh3gZdNTUvcoFPOgG9Mn11qKoadtCmhQ4Q,3484
@@ -331,8 +331,8 @@ alita_sdk/tools/testrail/__init__.py,sha256=Xg4nVjULL_D8JpIXLYXppnwUfGF4-lguFwKH
331
331
  alita_sdk/tools/testrail/api_wrapper.py,sha256=tQcGlFJmftvs5ZiO4tsP19fCo4CrJeq_UEvQR1liVfE,39891
332
332
  alita_sdk/tools/utils/__init__.py,sha256=xB9OQgW65DftadrSpoAAitnEIbIXZKBOCji0NDe7FRM,3923
333
333
  alita_sdk/tools/utils/available_tools_decorator.py,sha256=IbrdfeQkswxUFgvvN7-dyLMZMyXLiwvX7kgi3phciCk,273
334
- alita_sdk/tools/utils/content_parser.py,sha256=7ohj8HeL_-rmc-Fv0TS8IpxIQC8tOpfuhyT3XlWx-gQ,15368
335
- alita_sdk/tools/vector_adapters/VectorStoreAdapter.py,sha256=TmMgrvmUUP7pWAH0iEaHkMH6fwNsU_X44AFmotqXaHY,19015
334
+ alita_sdk/tools/utils/content_parser.py,sha256=KqiZzsurLspxCLemf9eqYhgW266FgWP4r-xElcK8a38,15881
335
+ alita_sdk/tools/vector_adapters/VectorStoreAdapter.py,sha256=-9ByRh8bVRraTcJPS7SE-2l3en6A4UkKGS9iAd9fa3w,19722
336
336
  alita_sdk/tools/vector_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
337
337
  alita_sdk/tools/xray/__init__.py,sha256=eOMWP8VamFbbJgt1xrGpGPqB9ByOTA0Cd3LCaETzGk4,4376
338
338
  alita_sdk/tools/xray/api_wrapper.py,sha256=uj5kzUgPdo_Oct9WCNMOpkb6o_3L7J4LZrEGtrwYMmc,30157
@@ -353,8 +353,8 @@ alita_sdk/tools/zephyr_scale/api_wrapper.py,sha256=kT0TbmMvuKhDUZc0i7KO18O38JM9S
353
353
  alita_sdk/tools/zephyr_squad/__init__.py,sha256=0ne8XLJEQSLOWfzd2HdnqOYmQlUliKHbBED5kW_Vias,2895
354
354
  alita_sdk/tools/zephyr_squad/api_wrapper.py,sha256=kmw_xol8YIYFplBLWTqP_VKPRhL_1ItDD0_vXTe_UuI,14906
355
355
  alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py,sha256=R371waHsms4sllHCbijKYs90C-9Yu0sSR3N4SUfQOgU,5066
356
- alita_sdk-0.3.376.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
357
- alita_sdk-0.3.376.dist-info/METADATA,sha256=zOktQPOXmbGzvlxCp6JnqppE-1adGSuHWO8GuBSA0mk,19071
358
- alita_sdk-0.3.376.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
359
- alita_sdk-0.3.376.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
360
- alita_sdk-0.3.376.dist-info/RECORD,,
356
+ alita_sdk-0.3.423.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
357
+ alita_sdk-0.3.423.dist-info/METADATA,sha256=eTJxaeFX-hl-mNOiNRGZ3Tk6w7nXD0L4niy8pTzSCSg,19071
358
+ alita_sdk-0.3.423.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
359
+ alita_sdk-0.3.423.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
360
+ alita_sdk-0.3.423.dist-info/RECORD,,