alita-sdk 0.3.315__py3-none-any.whl → 0.3.317__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.
- alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +1 -1
- alita_sdk/runtime/langchain/document_loaders/constants.py +3 -3
- alita_sdk/runtime/tools/vectorstore.py +2 -28
- alita_sdk/runtime/tools/vectorstore_base.py +4 -0
- alita_sdk/tools/browser/__init__.py +2 -5
- alita_sdk/tools/browser/crawler.py +1 -2
- alita_sdk/tools/browser/utils.py +3 -3
- alita_sdk/tools/confluence/api_wrapper.py +77 -21
- alita_sdk/tools/jira/api_wrapper.py +0 -1
- alita_sdk/tools/xray/api_wrapper.py +0 -5
- {alita_sdk-0.3.315.dist-info → alita_sdk-0.3.317.dist-info}/METADATA +1 -1
- {alita_sdk-0.3.315.dist-info → alita_sdk-0.3.317.dist-info}/RECORD +15 -15
- {alita_sdk-0.3.315.dist-info → alita_sdk-0.3.317.dist-info}/WHEEL +0 -0
- {alita_sdk-0.3.315.dist-info → alita_sdk-0.3.317.dist-info}/licenses/LICENSE +0 -0
- {alita_sdk-0.3.315.dist-info → alita_sdk-0.3.317.dist-info}/top_level.txt +0 -0
@@ -113,7 +113,7 @@ loaders_map = {
|
|
113
113
|
'is_multimodal_processing': False,
|
114
114
|
'kwargs': {
|
115
115
|
'encoding': 'utf-8',
|
116
|
-
'raw_content':
|
116
|
+
'raw_content': True,
|
117
117
|
'cleanse': False
|
118
118
|
},
|
119
119
|
'allowed_to_override': ['max_tokens']
|
@@ -122,7 +122,7 @@ loaders_map = {
|
|
122
122
|
'class': AlitaExcelLoader,
|
123
123
|
'is_multimodal_processing': False,
|
124
124
|
'kwargs': {
|
125
|
-
'raw_content':
|
125
|
+
'raw_content': True,
|
126
126
|
'cleanse': False
|
127
127
|
},
|
128
128
|
'allowed_to_override': ['max_tokens', LoaderProperties.LLM.value, LoaderProperties.PROMPT.value, LoaderProperties.PROMPT_DEFAULT.value]
|
@@ -131,7 +131,7 @@ loaders_map = {
|
|
131
131
|
'class': AlitaExcelLoader,
|
132
132
|
'is_multimodal_processing': False,
|
133
133
|
'kwargs': {
|
134
|
-
'raw_content':
|
134
|
+
'raw_content': True,
|
135
135
|
'cleanse': False
|
136
136
|
},
|
137
137
|
'allowed_to_override': ['max_tokens', LoaderProperties.LLM.value, LoaderProperties.PROMPT.value, LoaderProperties.PROMPT_DEFAULT.value]
|
@@ -12,7 +12,6 @@ from alita_sdk.tools.vector_adapters.VectorStoreAdapter import VectorStoreAdapte
|
|
12
12
|
from logging import getLogger
|
13
13
|
|
14
14
|
from ..utils.logging import dispatch_custom_event
|
15
|
-
from ..utils.utils import IndexerKeywords
|
16
15
|
|
17
16
|
logger = getLogger(__name__)
|
18
17
|
|
@@ -248,10 +247,6 @@ class VectorStoreWrapper(BaseToolApiWrapper):
|
|
248
247
|
tool_name="_clean_collection"
|
249
248
|
)
|
250
249
|
|
251
|
-
def _get_indexed_data(self, collection_name: str):
|
252
|
-
""" Get all indexed data from vectorstore for non-code content """
|
253
|
-
return self.vector_adapter.get_indexed_data(self, collection_name)
|
254
|
-
|
255
250
|
def _get_code_indexed_data(self, collection_suffix: str) -> Dict[str, Dict[str, Any]]:
|
256
251
|
""" Get all indexed data from vectorstore for code content """
|
257
252
|
return self.vector_adapter.get_code_indexed_data(self, collection_suffix)
|
@@ -308,26 +303,6 @@ class VectorStoreWrapper(BaseToolApiWrapper):
|
|
308
303
|
|
309
304
|
return final_docs
|
310
305
|
|
311
|
-
def _reduce_non_code_duplicates(self, documents: Generator[Any, None, None], collection_suffix: str) -> List[Any]:
|
312
|
-
return self._reduce_duplicates(
|
313
|
-
documents,
|
314
|
-
collection_suffix,
|
315
|
-
self._get_indexed_data,
|
316
|
-
lambda doc: doc.metadata.get('id'),
|
317
|
-
lambda doc, idx: (
|
318
|
-
doc.metadata.get('updated_on') and
|
319
|
-
idx['metadata'].get('updated_on') and
|
320
|
-
doc.metadata.get('updated_on') == idx['metadata'].get('updated_on')
|
321
|
-
),
|
322
|
-
lambda idx_data, key: (
|
323
|
-
idx_data[key]['all_chunks'] +
|
324
|
-
[idx_data[dep_id]['id'] for dep_id in idx_data[key][IndexerKeywords.DEPENDENT_DOCS.value]] +
|
325
|
-
[chunk_db_id for dep_id in idx_data[key][IndexerKeywords.DEPENDENT_DOCS.value]
|
326
|
-
for chunk_db_id in idx_data[dep_id]['all_chunks']]
|
327
|
-
),
|
328
|
-
log_msg="Verification of documents to index started"
|
329
|
-
)
|
330
|
-
|
331
306
|
def _reduce_code_duplicates(self, documents: Generator[Any, None, None], collection_suffix: str) -> List[Any]:
|
332
307
|
return self._reduce_duplicates(
|
333
308
|
documents,
|
@@ -343,7 +318,7 @@ class VectorStoreWrapper(BaseToolApiWrapper):
|
|
343
318
|
log_msg="Verification of code documents to index started"
|
344
319
|
)
|
345
320
|
|
346
|
-
def index_documents(self, documents: Generator[Document, None, None], collection_suffix: str, progress_step: int = 20, clean_index: bool = True, is_code: bool =
|
321
|
+
def index_documents(self, documents: Generator[Document, None, None], collection_suffix: str, progress_step: int = 20, clean_index: bool = True, is_code: bool = True):
|
347
322
|
""" Index documents in the vectorstore.
|
348
323
|
|
349
324
|
Args:
|
@@ -374,8 +349,7 @@ class VectorStoreWrapper(BaseToolApiWrapper):
|
|
374
349
|
message="Filter for duplicates",
|
375
350
|
tool_name="index_documents")
|
376
351
|
# remove duplicates based on metadata 'id' and 'updated_on' or 'commit_hash' fields
|
377
|
-
documents = self._reduce_code_duplicates(documents, collection_suffix)
|
378
|
-
else self._reduce_non_code_duplicates(documents, collection_suffix)
|
352
|
+
documents = self._reduce_code_duplicates(documents, collection_suffix)
|
379
353
|
self._log_tool_event(
|
380
354
|
message="All the duplicates were filtered out. Proceeding with indexing.",
|
381
355
|
tool_name="index_documents")
|
@@ -256,6 +256,10 @@ class VectorStoreWrapperBase(BaseToolApiWrapper):
|
|
256
256
|
progress_step = 20 if progress_step not in range(0, 100) else progress_step
|
257
257
|
next_progress_point = progress_step
|
258
258
|
for document in documents:
|
259
|
+
if not document.page_content:
|
260
|
+
# To avoid case when all documents have empty content
|
261
|
+
# See llm_processor.add_documents which exclude metadata of docs with empty content
|
262
|
+
continue
|
259
263
|
documents_count += 1
|
260
264
|
# logger.debug(f"Indexing document: {document}")
|
261
265
|
try:
|
@@ -66,10 +66,6 @@ class BrowserToolkit(BaseToolkit):
|
|
66
66
|
pgvector_configuration=(Optional[PgVectorConfiguration],
|
67
67
|
Field(description="PgVector configuration (required for tools `multi_url_crawler`)",
|
68
68
|
default=None, json_schema_extra={'configuration_types': ['pgvector']})),
|
69
|
-
embedding_model=(Optional[str],
|
70
|
-
Field(default=None,
|
71
|
-
description="Embedding configuration (required for tools `multi_url_crawler`)",
|
72
|
-
json_schema_extra={'configuration_model': 'embedding'})),
|
73
69
|
selected_tools=(List[Literal[tuple(selected_tools)]],
|
74
70
|
Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
75
71
|
__validators__={
|
@@ -116,7 +112,8 @@ class BrowserToolkit(BaseToolkit):
|
|
116
112
|
elif tool == 'google':
|
117
113
|
try:
|
118
114
|
google_api_wrapper = GoogleSearchAPIWrapper(
|
119
|
-
|
115
|
+
google_api_key=wrapper_payload_google.get('google_api_key'),
|
116
|
+
google_cse_id=wrapper_payload_google.get('google_cse_id')
|
120
117
|
)
|
121
118
|
tool_entry = GoogleSearchResults(api_wrapper=google_api_wrapper)
|
122
119
|
# rename the tool to avoid conflicts
|
@@ -27,7 +27,6 @@ class MultiURLCrawler(BaseTool):
|
|
27
27
|
max_response_size: int = 3000
|
28
28
|
name: str = "multi_url_crawler"
|
29
29
|
description: str = "Crawls multiple URLs and returns the content related to query"
|
30
|
-
embedding_model: str = None
|
31
30
|
connection_string: str = None
|
32
31
|
args_schema: Type[BaseModel] = create_model("MultiURLCrawlerModel",
|
33
32
|
query=(str, Field(description="Query text to search pages")),
|
@@ -36,7 +35,7 @@ class MultiURLCrawler(BaseTool):
|
|
36
35
|
def _run(self, query: str, urls: list[str], run_manager=None):
|
37
36
|
urls = [url.strip() for url in urls]
|
38
37
|
return webRag(urls=urls, max_response_size=self.max_response_size, query=query,
|
39
|
-
connection_string=self.connection_string
|
38
|
+
connection_string=self.connection_string)
|
40
39
|
|
41
40
|
|
42
41
|
class GetHTMLContent(BaseTool):
|
alita_sdk/tools/browser/utils.py
CHANGED
@@ -32,15 +32,15 @@ def get_page(urls, html_only=False):
|
|
32
32
|
return docs_transformed
|
33
33
|
|
34
34
|
|
35
|
-
def webRag(urls, max_response_size, query, connection_string=None
|
35
|
+
def webRag(urls, max_response_size, query, connection_string=None):
|
36
36
|
if PGVector is None:
|
37
37
|
return "PGVector is not initialized. Web rag is not available."
|
38
38
|
|
39
|
-
if not connection_string
|
39
|
+
if not connection_string:
|
40
40
|
return "Connection string or embedding model is missing. Web rag is not available."
|
41
41
|
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
|
42
42
|
docs = text_splitter.split_documents(get_page(urls))
|
43
|
-
embedding_function = SentenceTransformerEmbeddings(model_name=
|
43
|
+
embedding_function = SentenceTransformerEmbeddings(model_name="all-MiniLM-L6-v2")
|
44
44
|
db = PGVector.from_documents(
|
45
45
|
documents=docs,
|
46
46
|
embedding=embedding_function,
|
@@ -1,24 +1,25 @@
|
|
1
|
-
import re
|
2
|
-
import logging
|
3
|
-
import requests
|
4
|
-
import json
|
5
1
|
import base64
|
2
|
+
import json
|
3
|
+
import logging
|
4
|
+
import re
|
6
5
|
import traceback
|
7
|
-
from typing import Optional, List, Any, Dict, Callable, Generator, Literal
|
8
6
|
from json import JSONDecodeError
|
7
|
+
from typing import Optional, List, Any, Dict, Callable, Generator, Literal
|
9
8
|
|
10
|
-
|
11
|
-
from
|
12
|
-
|
9
|
+
import requests
|
10
|
+
from langchain_community.document_loaders.confluence import ContentFormat
|
13
11
|
from langchain_core.documents import Document
|
14
|
-
from langchain_core.tools import ToolException
|
15
12
|
from langchain_core.messages import HumanMessage
|
13
|
+
from langchain_core.tools import ToolException
|
16
14
|
from markdownify import markdownify
|
17
|
-
from
|
15
|
+
from pydantic import Field, PrivateAttr, model_validator, create_model, SecretStr
|
16
|
+
from tenacity import retry, stop_after_attempt, wait_exponential, before_sleep_log
|
18
17
|
|
19
|
-
from
|
18
|
+
from alita_sdk.tools.non_code_indexer_toolkit import NonCodeIndexerToolkit
|
19
|
+
from alita_sdk.tools.utils.available_tools_decorator import extend_with_parent_available_tools
|
20
20
|
from ..llm.img_utils import ImageDescriptionCache
|
21
21
|
from ..utils import is_cookie_token, parse_cookie_string
|
22
|
+
from ...runtime.utils.utils import IndexerKeywords
|
22
23
|
|
23
24
|
logger = logging.getLogger(__name__)
|
24
25
|
|
@@ -171,7 +172,7 @@ def parse_payload_params(params: Optional[str]) -> Dict[str, Any]:
|
|
171
172
|
return {}
|
172
173
|
|
173
174
|
|
174
|
-
class ConfluenceAPIWrapper(
|
175
|
+
class ConfluenceAPIWrapper(NonCodeIndexerToolkit):
|
175
176
|
# Changed from PrivateAttr to Optional field with exclude=True
|
176
177
|
client: Optional[Any] = Field(default=None, exclude=True)
|
177
178
|
base_url: str
|
@@ -229,7 +230,7 @@ class ConfluenceAPIWrapper(BaseVectorStoreToolApiWrapper):
|
|
229
230
|
client_instance._update_header(header, value)
|
230
231
|
|
231
232
|
values['client'] = client_instance
|
232
|
-
return values
|
233
|
+
return super().validate_toolkit(values)
|
233
234
|
|
234
235
|
def __unquote_confluence_space(self) -> str | None:
|
235
236
|
if self.space:
|
@@ -843,13 +844,68 @@ class ConfluenceAPIWrapper(BaseVectorStoreToolApiWrapper):
|
|
843
844
|
yield document
|
844
845
|
|
845
846
|
def _process_document(self, document: Document) -> Generator[Document, None, None]:
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
847
|
+
try:
|
848
|
+
page_id = document.metadata.get('id')
|
849
|
+
attachments = self.client.get_attachments_from_content(page_id)
|
850
|
+
if not attachments or not attachments.get('results'):
|
851
|
+
return f"No attachments found for page ID {page_id}."
|
852
|
+
|
853
|
+
# Get attachment history for created/updated info
|
854
|
+
history_map = {}
|
855
|
+
for attachment in attachments['results']:
|
856
|
+
try:
|
857
|
+
hist = self.client.history(attachment['id'])
|
858
|
+
history_map[attachment['id']] = hist
|
859
|
+
except Exception as e:
|
860
|
+
logger.warning(f"Failed to fetch history for attachment {attachment.get('title', '')}: {str(e)}")
|
861
|
+
history_map[attachment['id']] = None
|
862
|
+
|
863
|
+
import re
|
864
|
+
for attachment in attachments['results']:
|
865
|
+
title = attachment.get('title', '')
|
866
|
+
file_ext = title.lower().split('.')[-1] if '.' in title else ''
|
867
|
+
|
868
|
+
media_type = attachment.get('metadata', {}).get('mediaType', '')
|
869
|
+
# Core metadata extraction with history
|
870
|
+
hist = history_map.get(attachment['id']) or {}
|
871
|
+
created_by = hist.get('createdBy', {}).get('displayName', '') if hist else attachment.get('creator', {}).get('displayName', '')
|
872
|
+
created_date = hist.get('createdDate', '') if hist else attachment.get('created', '')
|
873
|
+
last_updated = hist.get('lastUpdated', {}).get('when', '') if hist else ''
|
874
|
+
|
875
|
+
metadata = {
|
876
|
+
'name': title,
|
877
|
+
'size': attachment.get('extensions', {}).get('fileSize', None),
|
878
|
+
'creator': created_by,
|
879
|
+
'created': created_date,
|
880
|
+
'updated': last_updated,
|
881
|
+
'media_type': media_type,
|
882
|
+
'labels': [label['name'] for label in
|
883
|
+
attachment.get('metadata', {}).get('labels', {}).get('results', [])],
|
884
|
+
'download_url': self.base_url.rstrip('/') + attachment['_links']['download'] if attachment.get(
|
885
|
+
'_links', {}).get('download') else None
|
886
|
+
}
|
887
|
+
|
888
|
+
download_url = self.base_url.rstrip('/') + attachment['_links']['download']
|
889
|
+
|
890
|
+
try:
|
891
|
+
resp = self.client.request(method="GET", path=download_url[len(self.base_url):], advanced_mode=True)
|
892
|
+
if resp.status_code == 200:
|
893
|
+
content = resp.content
|
894
|
+
else:
|
895
|
+
content = f"[Failed to download {download_url}: HTTP status code {resp.status_code}]"
|
896
|
+
except Exception as e:
|
897
|
+
content = f"[Error downloading content: {str(e)}]"
|
898
|
+
|
899
|
+
if isinstance(content, str):
|
900
|
+
yield Document(page_content=content, metadata=metadata)
|
901
|
+
else:
|
902
|
+
yield Document(page_content="", metadata={
|
903
|
+
**metadata,
|
904
|
+
IndexerKeywords.CONTENT_FILE_NAME.value: f".{file_ext}",
|
905
|
+
IndexerKeywords.CONTENT_IN_BYTES.value: content
|
906
|
+
})
|
907
|
+
except Exception as e:
|
908
|
+
yield from ()
|
853
909
|
|
854
910
|
def _download_image(self, image_url):
|
855
911
|
"""
|
@@ -1598,7 +1654,7 @@ class ConfluenceAPIWrapper(BaseVectorStoreToolApiWrapper):
|
|
1598
1654
|
"bins_with_llm": (Optional[bool], Field(description="Use LLM for processing binary files.", default=False)),
|
1599
1655
|
}
|
1600
1656
|
|
1601
|
-
@
|
1657
|
+
@extend_with_parent_available_tools
|
1602
1658
|
def get_available_tools(self):
|
1603
1659
|
# Confluence-specific tools
|
1604
1660
|
confluence_tools = [
|
@@ -13,7 +13,6 @@ from langchain_core.tools import ToolException
|
|
13
13
|
from pydantic import Field, PrivateAttr, model_validator, create_model, SecretStr
|
14
14
|
import requests
|
15
15
|
|
16
|
-
from ..elitea_base import BaseVectorStoreToolApiWrapper, extend_with_vector_tools
|
17
16
|
from ..llm.img_utils import ImageDescriptionCache
|
18
17
|
from ..non_code_indexer_toolkit import NonCodeIndexerToolkit
|
19
18
|
from ..utils import is_cookie_token, parse_cookie_string
|
@@ -9,14 +9,9 @@ from langchain_core.tools import ToolException
|
|
9
9
|
from pydantic import PrivateAttr, SecretStr, create_model, model_validator, Field
|
10
10
|
from python_graphql_client import GraphqlClient
|
11
11
|
|
12
|
-
from ..elitea_base import (
|
13
|
-
BaseVectorStoreToolApiWrapper,
|
14
|
-
extend_with_vector_tools,
|
15
|
-
)
|
16
12
|
from ..non_code_indexer_toolkit import NonCodeIndexerToolkit
|
17
13
|
from ..utils.available_tools_decorator import extend_with_parent_available_tools
|
18
14
|
from ...runtime.utils.utils import IndexerKeywords
|
19
|
-
from ..utils.content_parser import file_extension_by_chunker
|
20
15
|
|
21
16
|
try:
|
22
17
|
from alita_sdk.runtime.langchain.interfaces.llm_processor import get_embeddings
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: alita_sdk
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.317
|
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
|
@@ -56,7 +56,7 @@ alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py,sha256=3ne-a5qIkB
|
|
56
56
|
alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py,sha256=NzpoL4C7UzyzLouTSL_xTQw70MitNt-WZz3Eyl7QkTA,8294
|
57
57
|
alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py,sha256=fKezkgvIcLG7S2PVJp1a8sZd6C4XQKNZKAFC87DbQts,7003
|
58
58
|
alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py,sha256=9hi5eHgDIfa9wBWqTuwMM6D6W64czrDTfZl_htooe8Y,5943
|
59
|
-
alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py,sha256
|
59
|
+
alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py,sha256=-c6pTWM_UvogBqrx8ndtB2uFQAk2O4-NU1frmsKLdro,3098
|
60
60
|
alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py,sha256=5WXGcyHraSVj3ANHj_U6X4EDikoekrIYtS0Q_QqNIng,2608
|
61
61
|
alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py,sha256=QwgBJE-BvOasjgT1hYHZc0MP0F_elirUjSzKixoM6fY,6610
|
62
62
|
alita_sdk/runtime/langchain/document_loaders/AlitaJSONLoader.py,sha256=Nav2cgCQKOHQi_ZgYYn_iFdP_Os56KVlVR5nHGXecBc,3445
|
@@ -70,7 +70,7 @@ alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py,sha256=o0SRFPZ-
|
|
70
70
|
alita_sdk/runtime/langchain/document_loaders/AlitaTextLoader.py,sha256=uNcV0En49_0u0RYB1sP1XfNspT2Xc5CacuJr9Jqv79Q,2972
|
71
71
|
alita_sdk/runtime/langchain/document_loaders/ImageParser.py,sha256=gao5yCCKdDai_Gx7YdEx5U6oMyJYzn69eYmEvWLh-fc,656
|
72
72
|
alita_sdk/runtime/langchain/document_loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
73
|
-
alita_sdk/runtime/langchain/document_loaders/constants.py,sha256=
|
73
|
+
alita_sdk/runtime/langchain/document_loaders/constants.py,sha256=d7Yu39NFW1tnPzgQ-YoXrXO7R5o0ZBqSQe3ScwegAsw,7161
|
74
74
|
alita_sdk/runtime/langchain/document_loaders/utils.py,sha256=9xghESf3axBbwxATyVuS0Yu-TWe8zWZnXgCD1ZVyNW0,2414
|
75
75
|
alita_sdk/runtime/langchain/interfaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
76
76
|
alita_sdk/runtime/langchain/interfaces/kwextractor.py,sha256=kSJA9L8g8UArmHu7Bd9dIO0Rrq86JPUb8RYNlnN68FQ,3072
|
@@ -120,8 +120,8 @@ alita_sdk/runtime/tools/pgvector_search.py,sha256=NN2BGAnq4SsDHIhUcFZ8d_dbEOM8Qw
|
|
120
120
|
alita_sdk/runtime/tools/prompt.py,sha256=nJafb_e5aOM1Rr3qGFCR-SKziU9uCsiP2okIMs9PppM,741
|
121
121
|
alita_sdk/runtime/tools/router.py,sha256=wCvZjVkdXK9dMMeEerrgKf5M790RudH68pDortnHSz0,1517
|
122
122
|
alita_sdk/runtime/tools/tool.py,sha256=lE1hGi6qOAXG7qxtqxarD_XMQqTghdywf261DZawwno,5631
|
123
|
-
alita_sdk/runtime/tools/vectorstore.py,sha256=
|
124
|
-
alita_sdk/runtime/tools/vectorstore_base.py,sha256=
|
123
|
+
alita_sdk/runtime/tools/vectorstore.py,sha256=UFBAJ_N2F6uB0xxIy1VMx581tHco-xDl7v2Hl6u0Xzw,34468
|
124
|
+
alita_sdk/runtime/tools/vectorstore_base.py,sha256=FXgPONBfUTKo1bV6P4uZ1JqYHkC3Ch8toR38eavEYPQ,27787
|
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
|
@@ -162,11 +162,11 @@ alita_sdk/tools/bitbucket/__init__.py,sha256=2VAY45Jij5dHkz6UGTmsEmOcLeJMWmcX-Wr
|
|
162
162
|
alita_sdk/tools/bitbucket/api_wrapper.py,sha256=xHrluV2aCckOK_lGd42fFz1c-pyuZAnC-A_v1SKiM5g,20006
|
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
|
165
|
-
alita_sdk/tools/browser/__init__.py,sha256=
|
166
|
-
alita_sdk/tools/browser/crawler.py,sha256=
|
165
|
+
alita_sdk/tools/browser/__init__.py,sha256=NvD1gfkuBt9AwtTP_Ag7LneCs0gDIVIMUZw2_SDWkG4,6577
|
166
|
+
alita_sdk/tools/browser/crawler.py,sha256=tkB5UX9FmpJrhKPfaS-a2pL9loRf8zN-V5SfpQvX2NI,2406
|
167
167
|
alita_sdk/tools/browser/duck_duck_go_search.py,sha256=iKws923v34o-ySXohJw-8xTDBWlj3fMsnzC_ZRuPugE,2002
|
168
168
|
alita_sdk/tools/browser/google_search_rag.py,sha256=QVHFbVwymiJGuno_HLSJOK1c_MpgMdBSTYQKf6fLRk8,1838
|
169
|
-
alita_sdk/tools/browser/utils.py,sha256=
|
169
|
+
alita_sdk/tools/browser/utils.py,sha256=zFbpsTw593TRqxZ8bu5RQ7PHzZTfZjxvH5IGgRRjR2Q,2811
|
170
170
|
alita_sdk/tools/browser/wiki.py,sha256=Qh3HBFd4dkS2VavXbFJOm4b8SjVSIe5xSD7CY1vEkKE,1126
|
171
171
|
alita_sdk/tools/carrier/__init__.py,sha256=Ove5wAXBxyLS5F5ZxgydV2xKZJIR3OoMB5fMkn8jNUc,4296
|
172
172
|
alita_sdk/tools/carrier/api_wrapper.py,sha256=tP7oR_U0HX1rxqat0Jkz6oh3RB9BEr1ESKQ9J8OWDcE,9093
|
@@ -227,7 +227,7 @@ alita_sdk/tools/code/loaders/codesearcher.py,sha256=XoXXZtIQZhvjIwZlnl_4wVGHC-3s
|
|
227
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
229
|
alita_sdk/tools/confluence/__init__.py,sha256=zRnPBM1c7VTRTS955HNc7AEGV5t8ACc2f9wBXmmeXao,6845
|
230
|
-
alita_sdk/tools/confluence/api_wrapper.py,sha256=
|
230
|
+
alita_sdk/tools/confluence/api_wrapper.py,sha256=HIP9zZMne9BDSnwpHKwpl-rW0MWv9jeA6APll0DNS6w,87863
|
231
231
|
alita_sdk/tools/confluence/loader.py,sha256=4bf5qrJMEiJzuZp2NlxO2XObLD1w7fxss_WyMUpe8sg,9290
|
232
232
|
alita_sdk/tools/confluence/utils.py,sha256=Lxo6dBD0OlvM4o0JuK6qeB_4LV9BptiwJA9e1vqNcDw,435
|
233
233
|
alita_sdk/tools/custom_open_api/__init__.py,sha256=9aT5SPNPWcJC6jMZEM-3rUCXVULj_3-qJLQKmnreKNo,2537
|
@@ -260,7 +260,7 @@ alita_sdk/tools/google/bigquery/tool.py,sha256=Esf9Hsp8I0e7-5EdkFqQ-bid0cfrg-bfS
|
|
260
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
262
|
alita_sdk/tools/jira/__init__.py,sha256=G-9qnOYKFWM_adG0QFexh5-2pj_WaxIxxZanB3ARFqI,6339
|
263
|
-
alita_sdk/tools/jira/api_wrapper.py,sha256=
|
263
|
+
alita_sdk/tools/jira/api_wrapper.py,sha256=T_YW328n59IS1S4-_5seTizlQkCGi9fTGhW34AqM-sA,79184
|
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
|
266
266
|
alita_sdk/tools/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -331,7 +331,7 @@ alita_sdk/tools/utils/content_parser.py,sha256=8cq-6dHYp-jEYU1Yt3P6rVedVgVaOfgnN
|
|
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
333
|
alita_sdk/tools/xray/__init__.py,sha256=eOMWP8VamFbbJgt1xrGpGPqB9ByOTA0Cd3LCaETzGk4,4376
|
334
|
-
alita_sdk/tools/xray/api_wrapper.py,sha256=
|
334
|
+
alita_sdk/tools/xray/api_wrapper.py,sha256=6eHYsIgbuplO7hFOrcsHE6rdE8Mpk4smIF_irglvcKw,30157
|
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
|
@@ -349,8 +349,8 @@ alita_sdk/tools/zephyr_scale/api_wrapper.py,sha256=A6CUEKjENt3mZlPU9lai88WV9esCD
|
|
349
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.
|
353
|
-
alita_sdk-0.3.
|
354
|
-
alita_sdk-0.3.
|
355
|
-
alita_sdk-0.3.
|
356
|
-
alita_sdk-0.3.
|
352
|
+
alita_sdk-0.3.317.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
353
|
+
alita_sdk-0.3.317.dist-info/METADATA,sha256=LoQ5c7CeCcoUxpYNpw90MobeOL_ppKCaxYzMaZeh44s,18897
|
354
|
+
alita_sdk-0.3.317.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
355
|
+
alita_sdk-0.3.317.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
|
356
|
+
alita_sdk-0.3.317.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|