alita-sdk 0.3.449__py3-none-any.whl → 0.3.465__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.
- alita_sdk/cli/__init__.py +10 -0
- alita_sdk/cli/__main__.py +17 -0
- alita_sdk/cli/agent/__init__.py +0 -0
- alita_sdk/cli/agent/default.py +176 -0
- alita_sdk/cli/agent_executor.py +155 -0
- alita_sdk/cli/agent_loader.py +197 -0
- alita_sdk/cli/agent_ui.py +218 -0
- alita_sdk/cli/agents.py +1911 -0
- alita_sdk/cli/callbacks.py +576 -0
- alita_sdk/cli/cli.py +159 -0
- alita_sdk/cli/config.py +164 -0
- alita_sdk/cli/formatting.py +182 -0
- alita_sdk/cli/input_handler.py +256 -0
- alita_sdk/cli/mcp_loader.py +315 -0
- alita_sdk/cli/toolkit.py +330 -0
- alita_sdk/cli/toolkit_loader.py +55 -0
- alita_sdk/cli/tools/__init__.py +36 -0
- alita_sdk/cli/tools/approval.py +224 -0
- alita_sdk/cli/tools/filesystem.py +905 -0
- alita_sdk/cli/tools/planning.py +403 -0
- alita_sdk/cli/tools/terminal.py +280 -0
- alita_sdk/runtime/clients/client.py +16 -1
- alita_sdk/runtime/langchain/constants.py +2 -1
- alita_sdk/runtime/langchain/langraph_agent.py +74 -20
- alita_sdk/runtime/langchain/utils.py +20 -4
- alita_sdk/runtime/toolkits/artifact.py +5 -6
- alita_sdk/runtime/toolkits/mcp.py +5 -2
- alita_sdk/runtime/toolkits/tools.py +1 -0
- alita_sdk/runtime/tools/function.py +19 -6
- alita_sdk/runtime/tools/llm.py +65 -7
- alita_sdk/runtime/tools/vectorstore_base.py +17 -2
- alita_sdk/runtime/utils/mcp_sse_client.py +64 -6
- alita_sdk/tools/ado/repos/__init__.py +1 -0
- alita_sdk/tools/ado/test_plan/__init__.py +1 -1
- alita_sdk/tools/ado/wiki/__init__.py +1 -5
- alita_sdk/tools/ado/work_item/__init__.py +1 -5
- alita_sdk/tools/base_indexer_toolkit.py +64 -8
- alita_sdk/tools/bitbucket/__init__.py +1 -0
- alita_sdk/tools/code/sonar/__init__.py +1 -1
- alita_sdk/tools/confluence/__init__.py +2 -2
- alita_sdk/tools/github/__init__.py +2 -2
- alita_sdk/tools/gitlab/__init__.py +2 -1
- alita_sdk/tools/gitlab_org/__init__.py +1 -2
- alita_sdk/tools/google_places/__init__.py +2 -1
- alita_sdk/tools/jira/__init__.py +1 -0
- alita_sdk/tools/memory/__init__.py +1 -1
- alita_sdk/tools/pandas/__init__.py +1 -1
- alita_sdk/tools/postman/__init__.py +2 -1
- alita_sdk/tools/pptx/__init__.py +2 -2
- alita_sdk/tools/qtest/__init__.py +3 -3
- alita_sdk/tools/qtest/api_wrapper.py +1235 -51
- alita_sdk/tools/rally/__init__.py +1 -2
- alita_sdk/tools/report_portal/__init__.py +1 -0
- alita_sdk/tools/salesforce/__init__.py +1 -0
- alita_sdk/tools/servicenow/__init__.py +2 -3
- alita_sdk/tools/sharepoint/__init__.py +1 -0
- alita_sdk/tools/sharepoint/api_wrapper.py +22 -2
- alita_sdk/tools/sharepoint/authorization_helper.py +17 -1
- alita_sdk/tools/slack/__init__.py +1 -0
- alita_sdk/tools/sql/__init__.py +2 -1
- alita_sdk/tools/testio/__init__.py +1 -0
- alita_sdk/tools/testrail/__init__.py +1 -3
- alita_sdk/tools/xray/__init__.py +2 -1
- alita_sdk/tools/zephyr/__init__.py +2 -1
- alita_sdk/tools/zephyr_enterprise/__init__.py +1 -0
- alita_sdk/tools/zephyr_essential/__init__.py +1 -0
- alita_sdk/tools/zephyr_scale/__init__.py +1 -0
- alita_sdk/tools/zephyr_squad/__init__.py +1 -0
- {alita_sdk-0.3.449.dist-info → alita_sdk-0.3.465.dist-info}/METADATA +145 -2
- {alita_sdk-0.3.449.dist-info → alita_sdk-0.3.465.dist-info}/RECORD +74 -52
- alita_sdk-0.3.465.dist-info/entry_points.txt +2 -0
- {alita_sdk-0.3.449.dist-info → alita_sdk-0.3.465.dist-info}/WHEEL +0 -0
- {alita_sdk-0.3.449.dist-info → alita_sdk-0.3.465.dist-info}/licenses/LICENSE +0 -0
- {alita_sdk-0.3.449.dist-info → alita_sdk-0.3.465.dist-info}/top_level.txt +0 -0
|
@@ -24,11 +24,6 @@ class AzureDevOpsWikiToolkit(BaseToolkit):
|
|
|
24
24
|
AzureDevOpsWikiToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
|
|
25
25
|
m = create_model(
|
|
26
26
|
name_alias,
|
|
27
|
-
name=(str, Field(description="Toolkit name",
|
|
28
|
-
json_schema_extra={
|
|
29
|
-
'toolkit_name': True,
|
|
30
|
-
'max_toolkit_length': AzureDevOpsWikiToolkit.toolkit_max_length})
|
|
31
|
-
),
|
|
32
27
|
ado_configuration=(AdoConfiguration, Field(description="Ado configuration", json_schema_extra={'configuration_types': ['ado']})),
|
|
33
28
|
# indexer settings
|
|
34
29
|
pgvector_configuration=(Optional[PgVectorConfiguration], Field(default=None,
|
|
@@ -42,6 +37,7 @@ class AzureDevOpsWikiToolkit(BaseToolkit):
|
|
|
42
37
|
'metadata': {
|
|
43
38
|
"label": "ADO wiki",
|
|
44
39
|
"icon_url": "ado-wiki-icon.svg",
|
|
40
|
+
"max_length": AzureDevOpsWikiToolkit.toolkit_max_length,
|
|
45
41
|
"categories": ["documentation"],
|
|
46
42
|
"extra_categories": ["knowledge base", "documentation management", "wiki"],
|
|
47
43
|
"sections": {
|
|
@@ -23,11 +23,6 @@ class AzureDevOpsWorkItemsToolkit(BaseToolkit):
|
|
|
23
23
|
AzureDevOpsWorkItemsToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
|
|
24
24
|
m = create_model(
|
|
25
25
|
name,
|
|
26
|
-
name=(str, Field(description="Toolkit name",
|
|
27
|
-
json_schema_extra={
|
|
28
|
-
'toolkit_name': True,
|
|
29
|
-
'max_toolkit_length': AzureDevOpsWorkItemsToolkit.toolkit_max_length})
|
|
30
|
-
),
|
|
31
26
|
ado_configuration=(AdoConfiguration, Field(description="Ado Work Item configuration", json_schema_extra={'configuration_types': ['ado']})),
|
|
32
27
|
limit=(Optional[int], Field(description="ADO plans limit used for limitation of the list with results", default=5)),
|
|
33
28
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
|
@@ -42,6 +37,7 @@ class AzureDevOpsWorkItemsToolkit(BaseToolkit):
|
|
|
42
37
|
'metadata': {
|
|
43
38
|
"label": "ADO boards",
|
|
44
39
|
"icon_url": "ado-boards-icon.svg",
|
|
40
|
+
"max_length": AzureDevOpsWorkItemsToolkit.toolkit_max_length,
|
|
45
41
|
"categories": ["project management"],
|
|
46
42
|
"extra_categories": ["work item management", "issue tracking", "agile boards"],
|
|
47
43
|
"sections": {
|
|
@@ -4,6 +4,7 @@ import logging
|
|
|
4
4
|
import time
|
|
5
5
|
from typing import Any, Optional, List, Dict, Generator
|
|
6
6
|
|
|
7
|
+
from langchain_core.callbacks import dispatch_custom_event
|
|
7
8
|
from langchain_core.documents import Document
|
|
8
9
|
from pydantic import create_model, Field, SecretStr
|
|
9
10
|
|
|
@@ -15,6 +16,8 @@ from ..runtime.utils.utils import IndexerKeywords
|
|
|
15
16
|
|
|
16
17
|
logger = logging.getLogger(__name__)
|
|
17
18
|
|
|
19
|
+
DEFAULT_CUT_OFF = 0.2
|
|
20
|
+
|
|
18
21
|
# Base Vector Store Schema Models
|
|
19
22
|
BaseIndexParams = create_model(
|
|
20
23
|
"BaseIndexParams",
|
|
@@ -37,7 +40,7 @@ BaseSearchParams = create_model(
|
|
|
37
40
|
default={},
|
|
38
41
|
examples=["{\"key\": \"value\"}", "{\"status\": \"active\"}"]
|
|
39
42
|
)),
|
|
40
|
-
cut_off=(Optional[float], Field(description="Cut-off score for search results", default=
|
|
43
|
+
cut_off=(Optional[float], Field(description="Cut-off score for search results", default=DEFAULT_CUT_OFF, ge=0, le=1)),
|
|
41
44
|
search_top=(Optional[int], Field(description="Number of top results to return", default=10)),
|
|
42
45
|
full_text_search=(Optional[Dict[str, Any]], Field(
|
|
43
46
|
description="Full text search parameters. Can be a dictionary with search options.",
|
|
@@ -67,7 +70,7 @@ BaseStepbackSearchParams = create_model(
|
|
|
67
70
|
default={},
|
|
68
71
|
examples=["{\"key\": \"value\"}", "{\"status\": \"active\"}"]
|
|
69
72
|
)),
|
|
70
|
-
cut_off=(Optional[float], Field(description="Cut-off score for search results", default=
|
|
73
|
+
cut_off=(Optional[float], Field(description="Cut-off score for search results", default=DEFAULT_CUT_OFF, ge=0, le=1)),
|
|
71
74
|
search_top=(Optional[int], Field(description="Number of top results to return", default=10)),
|
|
72
75
|
full_text_search=(Optional[Dict[str, Any]], Field(
|
|
73
76
|
description="Full text search parameters. Can be a dictionary with search options.",
|
|
@@ -177,11 +180,13 @@ class BaseIndexerToolkit(VectorStoreWrapperBase):
|
|
|
177
180
|
#
|
|
178
181
|
results_count = result["count"]
|
|
179
182
|
self.index_meta_update(index_name, IndexerKeywords.INDEX_META_COMPLETED.value, results_count)
|
|
183
|
+
self._emit_index_event(index_name)
|
|
180
184
|
#
|
|
181
185
|
return {"status": "ok", "message": f"successfully indexed {results_count} documents" if results_count > 0
|
|
182
186
|
else "no new documents to index"}
|
|
183
187
|
except Exception as e:
|
|
184
188
|
self.index_meta_update(index_name, IndexerKeywords.INDEX_META_FAILED.value, result["count"])
|
|
189
|
+
self._emit_index_event(index_name, error=str(e))
|
|
185
190
|
raise e
|
|
186
191
|
|
|
187
192
|
|
|
@@ -380,7 +385,7 @@ class BaseIndexerToolkit(VectorStoreWrapperBase):
|
|
|
380
385
|
def search_index(self,
|
|
381
386
|
query: str,
|
|
382
387
|
index_name: str = "",
|
|
383
|
-
filter: dict | str = {}, cut_off: float =
|
|
388
|
+
filter: dict | str = {}, cut_off: float = DEFAULT_CUT_OFF,
|
|
384
389
|
search_top: int = 10, reranker: dict = {},
|
|
385
390
|
full_text_search: Optional[Dict[str, Any]] = None,
|
|
386
391
|
reranking_config: Optional[Dict[str, Dict[str, Any]]] = None,
|
|
@@ -411,7 +416,7 @@ class BaseIndexerToolkit(VectorStoreWrapperBase):
|
|
|
411
416
|
query: str,
|
|
412
417
|
messages: List[Dict[str, Any]] = [],
|
|
413
418
|
index_name: str = "",
|
|
414
|
-
filter: dict | str = {}, cut_off: float =
|
|
419
|
+
filter: dict | str = {}, cut_off: float = DEFAULT_CUT_OFF,
|
|
415
420
|
search_top: int = 10, reranker: dict = {},
|
|
416
421
|
full_text_search: Optional[Dict[str, Any]] = None,
|
|
417
422
|
reranking_config: Optional[Dict[str, Dict[str, Any]]] = None,
|
|
@@ -436,7 +441,7 @@ class BaseIndexerToolkit(VectorStoreWrapperBase):
|
|
|
436
441
|
query: str,
|
|
437
442
|
messages: List[Dict[str, Any]] = [],
|
|
438
443
|
index_name: str = "",
|
|
439
|
-
filter: dict | str = {}, cut_off: float =
|
|
444
|
+
filter: dict | str = {}, cut_off: float = DEFAULT_CUT_OFF,
|
|
440
445
|
search_top: int = 10, reranker: dict = {},
|
|
441
446
|
full_text_search: Optional[Dict[str, Any]] = None,
|
|
442
447
|
reranking_config: Optional[Dict[str, Dict[str, Any]]] = None,
|
|
@@ -470,6 +475,7 @@ class BaseIndexerToolkit(VectorStoreWrapperBase):
|
|
|
470
475
|
"collection": index_name,
|
|
471
476
|
"type": IndexerKeywords.INDEX_META_TYPE.value,
|
|
472
477
|
"indexed": 0,
|
|
478
|
+
"updated": 0,
|
|
473
479
|
"state": IndexerKeywords.INDEX_META_IN_PROGRESS.value,
|
|
474
480
|
"index_configuration": index_configuration,
|
|
475
481
|
"created_on": created_on,
|
|
@@ -487,7 +493,8 @@ class BaseIndexerToolkit(VectorStoreWrapperBase):
|
|
|
487
493
|
#
|
|
488
494
|
if index_meta_raw:
|
|
489
495
|
metadata = copy.deepcopy(index_meta_raw.get("metadata", {}))
|
|
490
|
-
metadata["indexed"] =
|
|
496
|
+
metadata["indexed"] = self.get_indexed_count(index_name)
|
|
497
|
+
metadata["updated"] = result
|
|
491
498
|
metadata["state"] = state
|
|
492
499
|
metadata["updated_on"] = time.time()
|
|
493
500
|
#
|
|
@@ -507,6 +514,54 @@ class BaseIndexerToolkit(VectorStoreWrapperBase):
|
|
|
507
514
|
index_meta_doc = Document(page_content=index_meta_raw.get("content", ""), metadata=metadata)
|
|
508
515
|
add_documents(vectorstore=self.vectorstore, documents=[index_meta_doc], ids=[index_meta_raw.get("id")])
|
|
509
516
|
|
|
517
|
+
def _emit_index_event(self, index_name: str, error: Optional[str] = None):
|
|
518
|
+
"""
|
|
519
|
+
Emit custom event for index data operation.
|
|
520
|
+
|
|
521
|
+
Args:
|
|
522
|
+
index_name: The name of the index
|
|
523
|
+
error: Error message if the operation failed, None otherwise
|
|
524
|
+
"""
|
|
525
|
+
index_meta = super().get_index_meta(index_name)
|
|
526
|
+
|
|
527
|
+
if not index_meta:
|
|
528
|
+
logger.warning(
|
|
529
|
+
f"No index_meta found for index '{index_name}'. "
|
|
530
|
+
"Cannot emit index event."
|
|
531
|
+
)
|
|
532
|
+
return
|
|
533
|
+
|
|
534
|
+
metadata = index_meta.get("metadata", {})
|
|
535
|
+
|
|
536
|
+
# Determine if this is a reindex operation
|
|
537
|
+
history_raw = metadata.get("history", "[]")
|
|
538
|
+
try:
|
|
539
|
+
history = json.loads(history_raw) if history_raw.strip() else []
|
|
540
|
+
is_reindex = len(history) > 1
|
|
541
|
+
except (json.JSONDecodeError, TypeError):
|
|
542
|
+
is_reindex = False
|
|
543
|
+
|
|
544
|
+
# Build event message
|
|
545
|
+
event_data = {
|
|
546
|
+
"id": index_meta.get("id"),
|
|
547
|
+
"index_name": index_name,
|
|
548
|
+
"state": metadata.get("state"),
|
|
549
|
+
"error": error,
|
|
550
|
+
"reindex": is_reindex,
|
|
551
|
+
"indexed": metadata.get("indexed", 0),
|
|
552
|
+
"updated": metadata.get("updated", 0),
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
# Emit the event
|
|
556
|
+
try:
|
|
557
|
+
dispatch_custom_event("index_data_status", event_data)
|
|
558
|
+
logger.debug(
|
|
559
|
+
f"Emitted index_data_status event for index "
|
|
560
|
+
f"'{index_name}': {event_data}"
|
|
561
|
+
)
|
|
562
|
+
except Exception as e:
|
|
563
|
+
logger.warning(f"Failed to emit index_data_status event: {e}")
|
|
564
|
+
|
|
510
565
|
def get_available_tools(self):
|
|
511
566
|
"""
|
|
512
567
|
Returns the standardized vector search tools (search operations only).
|
|
@@ -560,6 +615,7 @@ class BaseIndexerToolkit(VectorStoreWrapperBase):
|
|
|
560
615
|
"mode": "list_collections",
|
|
561
616
|
"ref": self.list_collections,
|
|
562
617
|
"description": self.list_collections.__doc__,
|
|
563
|
-
|
|
618
|
+
# No parameters
|
|
619
|
+
"args_schema": create_model("ListCollectionsParams")
|
|
564
620
|
},
|
|
565
|
-
]
|
|
621
|
+
]
|
|
@@ -61,6 +61,7 @@ class AlitaBitbucketToolkit(BaseToolkit):
|
|
|
61
61
|
'metadata':
|
|
62
62
|
{
|
|
63
63
|
"label": "Bitbucket", "icon_url": "bitbucket-icon.svg",
|
|
64
|
+
"max_length": AlitaBitbucketToolkit.toolkit_max_length,
|
|
64
65
|
"categories": ["code repositories"],
|
|
65
66
|
"extra_categories": ["bitbucket", "git", "repository", "code", "version control"],
|
|
66
67
|
}
|
|
@@ -29,7 +29,7 @@ class SonarToolkit(BaseToolkit):
|
|
|
29
29
|
SonarToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
|
|
30
30
|
return create_model(
|
|
31
31
|
name,
|
|
32
|
-
sonar_project_name=(str, Field(description="Project name of the desired repository"
|
|
32
|
+
sonar_project_name=(str, Field(description="Project name of the desired repository")),
|
|
33
33
|
sonar_configuration=(SonarConfiguration, Field(description="Sonar Configuration", json_schema_extra={'configuration_types': ['sonar']})),
|
|
34
34
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
|
35
35
|
__config__=ConfigDict(json_schema_extra=
|
|
@@ -67,8 +67,7 @@ class ConfluenceToolkit(BaseToolkit):
|
|
|
67
67
|
|
|
68
68
|
model = create_model(
|
|
69
69
|
name,
|
|
70
|
-
space=(str, Field(description="Space",
|
|
71
|
-
'max_toolkit_length': ConfluenceToolkit.toolkit_max_length})),
|
|
70
|
+
space=(str, Field(description="Space")),
|
|
72
71
|
cloud=(bool, Field(description="Hosting Option", json_schema_extra={'configuration': True})),
|
|
73
72
|
limit=(int, Field(description="Pages limit per request", default=5)),
|
|
74
73
|
labels=(Optional[str], Field(
|
|
@@ -95,6 +94,7 @@ class ConfluenceToolkit(BaseToolkit):
|
|
|
95
94
|
'metadata': {
|
|
96
95
|
"label": "Confluence",
|
|
97
96
|
"icon_url": None,
|
|
97
|
+
"max_length": ConfluenceToolkit.toolkit_max_length,
|
|
98
98
|
"categories": ["documentation"],
|
|
99
99
|
"extra_categories": ["confluence", "wiki", "knowledge base", "documentation", "atlassian"]
|
|
100
100
|
}
|
|
@@ -53,6 +53,7 @@ class AlitaGitHubToolkit(BaseToolkit):
|
|
|
53
53
|
'metadata': {
|
|
54
54
|
"label": "GitHub",
|
|
55
55
|
"icon_url": None,
|
|
56
|
+
"max_length": AlitaGitHubToolkit.toolkit_max_length,
|
|
56
57
|
"categories": ["code repositories"],
|
|
57
58
|
"extra_categories": ["github", "git", "repository", "code", "version control"],
|
|
58
59
|
},
|
|
@@ -62,8 +63,7 @@ class AlitaGitHubToolkit(BaseToolkit):
|
|
|
62
63
|
json_schema_extra={'configuration_types': ['github']})),
|
|
63
64
|
pgvector_configuration=(Optional[PgVectorConfiguration], Field(description="PgVector configuration", default=None,
|
|
64
65
|
json_schema_extra={'configuration_types': ['pgvector']})),
|
|
65
|
-
repository=(str, Field(description="Github repository",
|
|
66
|
-
'max_toolkit_length': AlitaGitHubToolkit.toolkit_max_length})),
|
|
66
|
+
repository=(str, Field(description="Github repository")),
|
|
67
67
|
active_branch=(Optional[str], Field(description="Active branch", default="main")),
|
|
68
68
|
base_branch=(Optional[str], Field(description="Github Base branch", default="main")),
|
|
69
69
|
# embedder settings
|
|
@@ -43,7 +43,7 @@ class AlitaGitlabToolkit(BaseToolkit):
|
|
|
43
43
|
AlitaGitlabToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
|
|
44
44
|
return create_model(
|
|
45
45
|
name,
|
|
46
|
-
repository=(str, Field(description="GitLab repository"
|
|
46
|
+
repository=(str, Field(description="GitLab repository")),
|
|
47
47
|
gitlab_configuration=(GitlabConfiguration, Field(description="GitLab configuration", json_schema_extra={'configuration_types': ['gitlab']})),
|
|
48
48
|
branch=(str, Field(description="Main branch", default="main")),
|
|
49
49
|
# indexer settings
|
|
@@ -57,6 +57,7 @@ class AlitaGitlabToolkit(BaseToolkit):
|
|
|
57
57
|
'metadata': {
|
|
58
58
|
"label": "GitLab",
|
|
59
59
|
"icon_url": None,
|
|
60
|
+
"max_length": AlitaGitlabToolkit.toolkit_max_length,
|
|
60
61
|
"categories": ["code repositories"],
|
|
61
62
|
"extra_categories": ["gitlab", "git", "repository", "code", "version control"],
|
|
62
63
|
}
|
|
@@ -30,8 +30,6 @@ class AlitaGitlabSpaceToolkit(BaseToolkit):
|
|
|
30
30
|
AlitaGitlabSpaceToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
|
|
31
31
|
return create_model(
|
|
32
32
|
name,
|
|
33
|
-
name=(str, Field(description="Toolkit name", json_schema_extra={'toolkit_name': True,
|
|
34
|
-
'max_toolkit_length': AlitaGitlabSpaceToolkit.toolkit_max_length})),
|
|
35
33
|
gitlab_configuration=(GitlabConfiguration, Field(description="GitLab configuration",
|
|
36
34
|
json_schema_extra={
|
|
37
35
|
'configuration_types': ['gitlab']})),
|
|
@@ -46,6 +44,7 @@ class AlitaGitlabSpaceToolkit(BaseToolkit):
|
|
|
46
44
|
'metadata': {
|
|
47
45
|
"label": "GitLab Org",
|
|
48
46
|
"icon_url": None,
|
|
47
|
+
"max_length": AlitaGitlabSpaceToolkit.toolkit_max_length,
|
|
49
48
|
"categories": ["code repositories"],
|
|
50
49
|
"extra_categories": ["gitlab", "git", "repository", "code", "version control"],
|
|
51
50
|
}
|
|
@@ -30,7 +30,7 @@ class GooglePlacesToolkit(BaseToolkit):
|
|
|
30
30
|
GooglePlacesToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
|
|
31
31
|
return create_model(
|
|
32
32
|
name,
|
|
33
|
-
results_count=(Optional[int], Field(description="Results number to show", default=None
|
|
33
|
+
results_count=(Optional[int], Field(description="Results number to show", default=None)),
|
|
34
34
|
google_places_configuration=(GooglePlacesConfiguration, Field(description="Google Places Configuration", json_schema_extra={'configuration_types': ['google_places']})),
|
|
35
35
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
|
36
36
|
__config__=ConfigDict(json_schema_extra=
|
|
@@ -38,6 +38,7 @@ class GooglePlacesToolkit(BaseToolkit):
|
|
|
38
38
|
'metadata':
|
|
39
39
|
{
|
|
40
40
|
"label": "Google Places", "icon_url": "gplaces-icon.svg",
|
|
41
|
+
"max_length": GooglePlacesToolkit.toolkit_max_length,
|
|
41
42
|
"categories": ["other"],
|
|
42
43
|
"extra_categories": ["google", "places", "maps", "location",
|
|
43
44
|
"geolocation"],
|
alita_sdk/tools/jira/__init__.py
CHANGED
|
@@ -89,6 +89,7 @@ class JiraToolkit(BaseToolkit):
|
|
|
89
89
|
'metadata': {
|
|
90
90
|
"label": "Jira",
|
|
91
91
|
"icon_url": "jira-icon.svg",
|
|
92
|
+
"max_length": JiraToolkit.toolkit_max_length,
|
|
92
93
|
"categories": ["project management"],
|
|
93
94
|
"extra_categories": ["jira", "atlassian", "issue tracking", "project management", "task management"],
|
|
94
95
|
}
|
|
@@ -61,7 +61,7 @@ class MemoryToolkit(BaseToolkit):
|
|
|
61
61
|
|
|
62
62
|
return create_model(
|
|
63
63
|
'memory',
|
|
64
|
-
namespace=(str, Field(description="Memory namespace"
|
|
64
|
+
namespace=(str, Field(description="Memory namespace")),
|
|
65
65
|
pgvector_configuration=(PgVectorConfiguration, Field(description="PgVector Configuration",
|
|
66
66
|
json_schema_extra={
|
|
67
67
|
'configuration_types': ['pgvector']})),
|
|
@@ -29,7 +29,7 @@ class PandasToolkit(BaseToolkit):
|
|
|
29
29
|
PandasToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
|
|
30
30
|
return create_model(
|
|
31
31
|
name,
|
|
32
|
-
bucket_name=(str, Field(default=None, title="Bucket name", description="Bucket where the content file is stored"
|
|
32
|
+
bucket_name=(str, Field(default=None, title="Bucket name", description="Bucket where the content file is stored")),
|
|
33
33
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
|
34
34
|
__config__=ConfigDict(json_schema_extra={'metadata': {"label": "Pandas", "icon_url": "pandas-icon.svg",
|
|
35
35
|
"categories": ["analysis"],
|
|
@@ -62,7 +62,8 @@ class PostmanToolkit(BaseToolkit):
|
|
|
62
62
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(
|
|
63
63
|
default=[], json_schema_extra={'args_schemas': selected_tools})),
|
|
64
64
|
__config__=ConfigDict(json_schema_extra={'metadata': {
|
|
65
|
-
"label": "Postman", "icon_url": "postman.svg"
|
|
65
|
+
"label": "Postman", "icon_url": "postman.svg",
|
|
66
|
+
"max_length": PostmanToolkit.toolkit_max_length,}})
|
|
66
67
|
)
|
|
67
68
|
|
|
68
69
|
@check_connection_response
|
alita_sdk/tools/pptx/__init__.py
CHANGED
|
@@ -45,13 +45,13 @@ class PPTXToolkit(BaseToolkit):
|
|
|
45
45
|
|
|
46
46
|
return create_model(
|
|
47
47
|
name,
|
|
48
|
-
bucket_name=(str, Field(description="Bucket name where PPTX files are stored",
|
|
49
|
-
json_schema_extra={'toolkit_name': True, 'max_toolkit_length': TOOLKIT_MAX_LENGTH})),
|
|
48
|
+
bucket_name=(str, Field(description="Bucket name where PPTX files are stored")),
|
|
50
49
|
selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
|
51
50
|
__config__=ConfigDict(json_schema_extra={
|
|
52
51
|
'metadata': {
|
|
53
52
|
"label": "PPTX",
|
|
54
53
|
"icon_url": "pptx.svg",
|
|
54
|
+
"max_length": TOOLKIT_MAX_LENGTH,
|
|
55
55
|
"categories": ["office"],
|
|
56
56
|
"extra_categories": ["presentation", "office automation", "document"]
|
|
57
57
|
}
|
|
@@ -37,14 +37,14 @@ class QtestToolkit(BaseToolkit):
|
|
|
37
37
|
name,
|
|
38
38
|
qtest_configuration=(QtestConfiguration, Field(description="QTest API token", json_schema_extra={
|
|
39
39
|
'configuration_types': ['qtest']})),
|
|
40
|
-
qtest_project_id=(int, Field(default=None, description="QTest project id",
|
|
41
|
-
'max_toolkit_length': QtestToolkit.toolkit_max_length})),
|
|
40
|
+
qtest_project_id=(int, Field(default=None, description="QTest project id")),
|
|
42
41
|
no_of_tests_shown_in_dql_search=(Optional[int], Field(description="Max number of items returned by dql search",
|
|
43
42
|
default=10)),
|
|
44
43
|
|
|
45
44
|
selected_tools=(List[Literal[tuple(selected_tools)]],
|
|
46
45
|
Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
|
47
46
|
__config__=ConfigDict(json_schema_extra={'metadata': {"label": "QTest", "icon_url": "qtest.svg",
|
|
47
|
+
"max_length": QtestToolkit.toolkit_max_length,
|
|
48
48
|
"categories": ["test management"],
|
|
49
49
|
"extra_categories": ["quality assurance",
|
|
50
50
|
"test case management",
|
|
@@ -93,4 +93,4 @@ class QtestToolkit(BaseToolkit):
|
|
|
93
93
|
return cls(tools=tools)
|
|
94
94
|
|
|
95
95
|
def get_tools(self):
|
|
96
|
-
return self.tools
|
|
96
|
+
return self.tools
|