alita-sdk 0.3.416__py3-none-any.whl → 0.3.418__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.
@@ -143,6 +143,7 @@ class SandboxClient:
143
143
  self.configurations_url = f'{self.base_url}{self.api_path}/integrations/integrations/default/{self.project_id}?section=configurations&unsecret=true'
144
144
  self.ai_section_url = f'{self.base_url}{self.api_path}/integrations/integrations/default/{self.project_id}?section=ai'
145
145
  self.image_generation_url = f'{self.base_url}{self.llm_path}/images/generations'
146
+ self.auth_user_url = f'{self.base_url}{self.api_path}/auth/user'
146
147
  self.configurations: list = configurations or []
147
148
  self.model_timeout = kwargs.get('model_timeout', 120)
148
149
  self.model_image_generation = kwargs.get('model_image_generation')
@@ -363,3 +364,10 @@ class SandboxClient:
363
364
  url = f'{self.artifact_url}/{bucket_name}'
364
365
  data = requests.delete(url, headers=self.headers, verify=False, params={'filename': quote(artifact_name)})
365
366
  return self._process_requst(data)
367
+
368
+ def get_user_data(self) -> Dict[str, Any]:
369
+ resp = requests.get(self.auth_user_url, headers=self.headers, verify=False)
370
+ if resp.ok:
371
+ return resp.json()
372
+ logger.error(f'Failed to fetch user data: {resp.status_code} - {resp.text}')
373
+ raise ApiDetailsRequestError(f'Failed to fetch user data with status code {resp.status_code}.')
@@ -48,23 +48,24 @@ def get_tools(tools_list: list, alita_client, llm, memory_store: BaseStore = Non
48
48
  selected_tools=tool['settings']['selected_tools'],
49
49
  toolkit_name=tool.get('toolkit_name', '') or tool.get('name', '')
50
50
  ).get_tools())
51
- elif tool['type'] == 'application' and tool.get('agent_type', '') != 'pipeline' :
51
+ elif tool['type'] == 'application':
52
52
  tools.extend(ApplicationToolkit.get_toolkit(
53
53
  alita_client,
54
54
  application_id=int(tool['settings']['application_id']),
55
55
  application_version_id=int(tool['settings']['application_version_id']),
56
56
  selected_tools=[]
57
57
  ).get_tools())
58
- elif tool['type'] == 'application' and tool.get('agent_type', '') == 'pipeline':
59
- # static get_toolkit returns a list of CompiledStateGraph stubs
60
- tools.extend(SubgraphToolkit.get_toolkit(
61
- alita_client,
62
- application_id=int(tool['settings']['application_id']),
63
- application_version_id=int(tool['settings']['application_version_id']),
64
- app_api_key=alita_client.auth_token,
65
- selected_tools=[],
66
- llm=llm
67
- ))
58
+ # backward compatibility for pipeline application type as subgraph node
59
+ if tool.get('agent_type', '') == 'pipeline':
60
+ # static get_toolkit returns a list of CompiledStateGraph stubs
61
+ tools.extend(SubgraphToolkit.get_toolkit(
62
+ alita_client,
63
+ application_id=int(tool['settings']['application_id']),
64
+ application_version_id=int(tool['settings']['application_version_id']),
65
+ app_api_key=alita_client.auth_token,
66
+ selected_tools=[],
67
+ llm=llm
68
+ ))
68
69
  elif tool['type'] == 'memory':
69
70
  tools += MemoryToolkit.get_toolkit(
70
71
  namespace=tool['settings'].get('namespace', str(tool['id'])),
@@ -115,9 +115,8 @@ class GitLabAPIWrapper(CodeIndexerToolkit):
115
115
  """Remove trailing slash from URL if present."""
116
116
  return url.rstrip('/') if url else url
117
117
 
118
- @model_validator(mode='before')
119
- @classmethod
120
- def validate_toolkit(cls, values: Dict) -> Dict:
118
+ @model_validator(mode='after')
119
+ def validate_toolkit(self):
121
120
  try:
122
121
  import gitlab
123
122
  except ImportError:
@@ -125,17 +124,17 @@ class GitLabAPIWrapper(CodeIndexerToolkit):
125
124
  "python-gitlab is not installed. "
126
125
  "Please install it with `pip install python-gitlab`"
127
126
  )
128
- values['repository'] = cls._sanitize_url(values['repository'])
127
+ self.repository = self._sanitize_url(self.repository)
129
128
  g = gitlab.Gitlab(
130
- url=cls._sanitize_url(values['url']),
131
- private_token=values['private_token'],
129
+ url=self._sanitize_url(self.url),
130
+ private_token=self.private_token.get_secret_value(),
132
131
  keep_base_url=True,
133
132
  )
134
133
 
135
134
  g.auth()
136
- cls._git = g
137
- cls._active_branch = values.get('branch')
138
- return super().validate_toolkit(values)
135
+ self._git = g
136
+ self._active_branch = self.branch
137
+ return self
139
138
 
140
139
  @property
141
140
  def repo_instance(self):
@@ -135,9 +135,8 @@ class QtestApiWrapper(BaseToolApiWrapper):
135
135
  values['qtest_project_id'] = values.pop('project_id')
136
136
  return values
137
137
 
138
- @model_validator(mode='before')
139
- @classmethod
140
- def validate_toolkit(cls, values):
138
+ @model_validator(mode='after')
139
+ def validate_toolkit(self):
141
140
  try:
142
141
  import swagger_client # noqa: F401
143
142
  except ImportError:
@@ -146,15 +145,13 @@ class QtestApiWrapper(BaseToolApiWrapper):
146
145
  "`pip install git+https://github.com/Roman-Mitusov/qtest-api.git`"
147
146
  )
148
147
 
149
- url = values['base_url']
150
- api_token = values.get('qtest_api_token')
151
- if api_token:
148
+ if self.qtest_api_token:
152
149
  configuration = swagger_client.Configuration()
153
- configuration.host = url
154
- configuration.api_key['Authorization'] = api_token
150
+ configuration.host = self.base_url
151
+ configuration.api_key['Authorization'] = self.qtest_api_token.get_secret_value()
155
152
  configuration.api_key_prefix['Authorization'] = 'Bearer'
156
- cls._client = swagger_client.ApiClient(configuration)
157
- return values
153
+ self._client = swagger_client.ApiClient(configuration)
154
+ return self
158
155
 
159
156
  def __instantiate_test_api_instance(self) -> TestCaseApi:
160
157
  # Instantiate the TestCaseApi instance according to the qtest api documentation and swagger client
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.416
3
+ Version: 0.3.418
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
@@ -39,7 +39,7 @@ alita_sdk/runtime/clients/artifact.py,sha256=b7hVuGRROt6qUcT11uAZqzJqslzmlgW-Y6o
39
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
44
  alita_sdk/runtime/langchain/assistant.py,sha256=qKoEjbGuUnX-OZDHmSaK3plb1jON9unzEwAjxBT9DY8,16044
45
45
  alita_sdk/runtime/langchain/chat_message_template.py,sha256=kPz8W2BG6IMyITFDA5oeb5BxVRkHEVZhuiGl4MBZKdc,2176
@@ -102,7 +102,7 @@ alita_sdk/runtime/toolkits/configurations.py,sha256=kIDAlnryPQfbZyFxV-9SzN2-Vefz
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=XBbbEZOTbzt1cogu7b9mg-nluZgD5EEUuaZp5QvE9b8,10122
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
107
  alita_sdk/runtime/tools/__init__.py,sha256=Fx7iHqkzA90-KfjdcUUzMUI_7kDarjuTsSpSzOW2pN0,568
108
108
  alita_sdk/runtime/tools/agent.py,sha256=m98QxOHwnCRTT9j18Olbb5UPS8-ZGeQaGiUyZJSyFck,3162
@@ -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
@@ -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=gQm3meevpoqMMXwVE4tURehAOpakF8hg0f_Tt10zjVw,25539
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
@@ -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.416.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
357
- alita_sdk-0.3.416.dist-info/METADATA,sha256=xpHzYFIm96DkXmUsu_JoplbDNalxbdA0xipgUA8GyNI,19071
358
- alita_sdk-0.3.416.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
359
- alita_sdk-0.3.416.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
360
- alita_sdk-0.3.416.dist-info/RECORD,,
356
+ alita_sdk-0.3.418.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
357
+ alita_sdk-0.3.418.dist-info/METADATA,sha256=rVvyl2LbdC2yBz1PsgmHzvzlew-bTpmmI6gpi-VOYYE,19071
358
+ alita_sdk-0.3.418.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
359
+ alita_sdk-0.3.418.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
360
+ alita_sdk-0.3.418.dist-info/RECORD,,