alita-sdk 0.3.205__py3-none-any.whl → 0.3.207__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. alita_sdk/runtime/clients/client.py +314 -11
  2. alita_sdk/runtime/langchain/assistant.py +22 -21
  3. alita_sdk/runtime/langchain/interfaces/llm_processor.py +1 -4
  4. alita_sdk/runtime/langchain/langraph_agent.py +6 -1
  5. alita_sdk/runtime/langchain/store_manager.py +4 -4
  6. alita_sdk/runtime/toolkits/application.py +5 -10
  7. alita_sdk/runtime/toolkits/tools.py +11 -21
  8. alita_sdk/runtime/tools/vectorstore.py +25 -11
  9. alita_sdk/runtime/utils/streamlit.py +505 -222
  10. alita_sdk/runtime/utils/toolkit_runtime.py +147 -0
  11. alita_sdk/runtime/utils/toolkit_utils.py +157 -0
  12. alita_sdk/runtime/utils/utils.py +5 -0
  13. alita_sdk/tools/__init__.py +2 -0
  14. alita_sdk/tools/ado/repos/repos_wrapper.py +20 -13
  15. alita_sdk/tools/bitbucket/api_wrapper.py +5 -5
  16. alita_sdk/tools/bitbucket/cloud_api_wrapper.py +54 -29
  17. alita_sdk/tools/elitea_base.py +9 -4
  18. alita_sdk/tools/gitlab/__init__.py +22 -10
  19. alita_sdk/tools/gitlab/api_wrapper.py +278 -253
  20. alita_sdk/tools/gitlab/tools.py +354 -376
  21. alita_sdk/tools/llm/llm_utils.py +0 -6
  22. alita_sdk/tools/memory/__init__.py +54 -10
  23. alita_sdk/tools/openapi/__init__.py +14 -3
  24. alita_sdk/tools/sharepoint/__init__.py +2 -1
  25. alita_sdk/tools/sharepoint/api_wrapper.py +11 -3
  26. alita_sdk/tools/testrail/api_wrapper.py +39 -16
  27. alita_sdk/tools/utils/content_parser.py +77 -13
  28. {alita_sdk-0.3.205.dist-info → alita_sdk-0.3.207.dist-info}/METADATA +1 -1
  29. {alita_sdk-0.3.205.dist-info → alita_sdk-0.3.207.dist-info}/RECORD +32 -40
  30. alita_sdk/community/analysis/__init__.py +0 -0
  31. alita_sdk/community/analysis/ado_analyse/__init__.py +0 -103
  32. alita_sdk/community/analysis/ado_analyse/api_wrapper.py +0 -261
  33. alita_sdk/community/analysis/github_analyse/__init__.py +0 -98
  34. alita_sdk/community/analysis/github_analyse/api_wrapper.py +0 -166
  35. alita_sdk/community/analysis/gitlab_analyse/__init__.py +0 -110
  36. alita_sdk/community/analysis/gitlab_analyse/api_wrapper.py +0 -172
  37. alita_sdk/community/analysis/jira_analyse/__init__.py +0 -141
  38. alita_sdk/community/analysis/jira_analyse/api_wrapper.py +0 -252
  39. alita_sdk/runtime/llms/alita.py +0 -259
  40. {alita_sdk-0.3.205.dist-info → alita_sdk-0.3.207.dist-info}/WHEEL +0 -0
  41. {alita_sdk-0.3.205.dist-info → alita_sdk-0.3.207.dist-info}/licenses/LICENSE +0 -0
  42. {alita_sdk-0.3.205.dist-info → alita_sdk-0.3.207.dist-info}/top_level.txt +0 -0
@@ -1,16 +1,18 @@
1
1
  from typing import Dict, List, Literal, Optional
2
2
 
3
+ from alita_sdk.tools.base.tool import BaseAction
3
4
  from langchain_core.tools import BaseTool
4
5
  from langchain_core.tools import BaseToolkit
5
6
  from pydantic import create_model, BaseModel, ConfigDict, SecretStr
6
7
  from pydantic.fields import Field
7
8
 
8
9
  from .api_wrapper import GitLabAPIWrapper
9
- from .tools import __all__
10
+ # from .tools import __all__
10
11
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
11
12
 
12
13
  name = "gitlab"
13
14
 
15
+
14
16
  def get_tools(tool):
15
17
  return AlitaGitlabToolkit().get_toolkit(
16
18
  selected_tools=tool['settings'].get('selected_tools', []),
@@ -18,6 +20,15 @@ def get_tools(tool):
18
20
  repository=tool['settings']['repository'],
19
21
  branch=tool['settings']['branch'],
20
22
  private_token=tool['settings']['private_token'],
23
+
24
+ llm=tool['settings'].get('llm', None),
25
+ alita=tool['settings'].get('alita', None),
26
+ connection_string=tool['settings'].get('connection_string', None),
27
+ collection_name=f"{tool.get('toolkit_name')}_{str(tool['id'])}",
28
+ doctype='code',
29
+ embedding_model="HuggingFaceEmbeddings",
30
+ embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
31
+ vectorstore_type="PGVector",
21
32
  toolkit_name=tool.get('toolkit_name')
22
33
  ).get_tools()
23
34
 
@@ -27,10 +38,8 @@ class AlitaGitlabToolkit(BaseToolkit):
27
38
 
28
39
  @staticmethod
29
40
  def toolkit_config_schema() -> BaseModel:
30
- selected_tools = {}
31
- for t in __all__:
32
- default = t['tool'].__pydantic_fields__['args_schema'].default
33
- selected_tools[t['name']] = default.schema() if default else default
41
+ selected_tools = {x['name']: x['args_schema'].schema() for x in
42
+ GitLabAPIWrapper.model_construct().get_available_tools()}
34
43
  AlitaGitlabToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
35
44
  return create_model(
36
45
  name,
@@ -66,15 +75,18 @@ class AlitaGitlabToolkit(BaseToolkit):
66
75
  selected_tools = []
67
76
  gitlab_api_wrapper = GitLabAPIWrapper(**kwargs)
68
77
  prefix = clean_string(toolkit_name, cls.toolkit_max_length) + TOOLKIT_SPLITTER if toolkit_name else ''
69
- available_tools: List[Dict] = __all__
78
+ available_tools: List[Dict] = gitlab_api_wrapper.get_available_tools()
70
79
  tools = []
71
80
  for tool in available_tools:
72
81
  if selected_tools:
73
- if tool['name'] not in selected_tools:
82
+ if tool["name"] not in selected_tools:
74
83
  continue
75
- initiated_tool = tool['tool'](api_wrapper=gitlab_api_wrapper)
76
- initiated_tool.name = prefix + tool['name']
77
- tools.append(initiated_tool)
84
+ tools.append(BaseAction(
85
+ api_wrapper=gitlab_api_wrapper,
86
+ name=prefix + tool["name"],
87
+ description=tool["description"] + "\nrepo: " + gitlab_api_wrapper.repository,
88
+ args_schema=tool["args_schema"]
89
+ ))
78
90
  return cls(tools=tools)
79
91
 
80
92
  def get_tools(self):