alita-sdk 0.3.232__py3-none-any.whl → 0.3.233__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.
@@ -31,6 +31,7 @@ class ConfluenceConfiguration(BaseModel):
31
31
  }
32
32
  }
33
33
  )
34
+ base_url: str = Field(description="Confluence URL")
34
35
  username: Optional[str] = Field(description="Confluence Username", default=None)
35
36
  api_key: Optional[SecretStr] = Field(description="Confluence API Key", default=None)
36
- token: Optional[SecretStr] = Field(description="Confluence Token", default=None)
37
+ token: Optional[SecretStr] = Field(description="Confluence Token", default=None)
@@ -15,11 +15,11 @@ class SlackConfiguration(BaseModel):
15
15
  "subsections": [
16
16
  {
17
17
  "name": "Bot Token",
18
- "fields": ["bot_token"]
18
+ "fields": ["name"]
19
19
  },
20
20
  {
21
21
  "name": "User Token",
22
- "fields": ["user_token"]
22
+ "fields": ["slack_token"]
23
23
  }
24
24
  ]
25
25
  },
@@ -231,13 +231,13 @@ class VectorStoreWrapper(BaseToolApiWrapper):
231
231
  tool_name="_clean_collection"
232
232
  )
233
233
 
234
- def _get_indexed_data(self):
234
+ def _get_indexed_data(self, collection_name: str):
235
235
  """ Get all indexed data from vectorstore for non-code content """
236
- return self.vector_adapter.get_indexed_data(self)
236
+ return self.vector_adapter.get_indexed_data(self, collection_name)
237
237
 
238
- def _get_code_indexed_data(self) -> Dict[str, Dict[str, Any]]:
238
+ def _get_code_indexed_data(self, collection_suffix: str) -> Dict[str, Dict[str, Any]]:
239
239
  """ Get all indexed data from vectorstore for code content """
240
- return self.vector_adapter.get_code_indexed_data(self)
240
+ return self.vector_adapter.get_code_indexed_data(self, collection_suffix)
241
241
 
242
242
  def _add_to_collection(self, entry_id, new_collection_value):
243
243
  """Add a new collection name to the `collection` key in the `metadata` column."""
@@ -255,7 +255,7 @@ class VectorStoreWrapper(BaseToolApiWrapper):
255
255
  ) -> List[Any]:
256
256
  """Generic duplicate reduction logic for documents."""
257
257
  self._log_data(log_msg, tool_name="index_documents")
258
- indexed_data = get_indexed_data()
258
+ indexed_data = get_indexed_data(collection_suffix)
259
259
  indexed_keys = set(indexed_data.keys())
260
260
  if not indexed_keys:
261
261
  self._log_data("Vectorstore is empty, indexing all incoming documents", tool_name="index_documents")
@@ -66,7 +66,6 @@ class ConfluenceToolkit(BaseToolkit):
66
66
 
67
67
  model = create_model(
68
68
  name,
69
- base_url=(str, Field(description="Confluence URL", json_schema_extra={'configuration': True, 'configuration_title': True})),
70
69
  space=(str, Field(description="Space", json_schema_extra={'toolkit_name': True,
71
70
  'max_toolkit_length': ConfluenceToolkit.toolkit_max_length})),
72
71
  cloud=(bool, Field(description="Hosting Option", json_schema_extra={'configuration': True})),
@@ -397,7 +397,7 @@ class BaseVectorStoreToolApiWrapper(BaseToolApiWrapper):
397
397
  reranking_config=reranking_config,
398
398
  extended_search=extended_search
399
399
  )
400
- return f"Found {len(found_docs)} documents matching the query\n{json.dumps(found_docs, indent=4)}" if found_docs else "No documents found matching the query."
400
+ return found_docs if found_docs else f"No documents found by query '{query}' and filter '{filter}'"
401
401
 
402
402
  def stepback_search_index(self,
403
403
  query: str,
@@ -55,7 +55,14 @@ class SlackToolkit(BaseToolkit):
55
55
  channel_id=(Optional[str], Field(default=None, description="Channel ID", json_schema_extra={'configuration': True})),
56
56
  selected_tools=(List[Literal[tuple(selected_tools)]],
57
57
  Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
58
- __config__={'json_schema_extra': {'metadata': {"label": "Slack", "icon_url": "slack-icon.svg"}}}
58
+ __config__={'json_schema_extra': {
59
+ 'metadata': {
60
+ "label": "Slack",
61
+ "icon_url": "slack-icon.svg",
62
+ "categories": ["communication"],
63
+ "extra_categories": ["slack", "chat", "messaging", "collaboration"],
64
+ }
65
+ }}
59
66
  )
60
67
  model.check_connection = check_connection
61
68
  return model
@@ -39,7 +39,7 @@ class VectorStoreAdapter(ABC):
39
39
  pass
40
40
 
41
41
  @abstractmethod
42
- def get_code_indexed_data(self, vectorstore_wrapper) -> Dict[str, Dict[str, Any]]:
42
+ def get_code_indexed_data(self, vectorstore_wrapper, collection_suffix) -> Dict[str, Dict[str, Any]]:
43
43
  """Get all indexed data from vectorstore for code content"""
44
44
  pass
45
45
 
@@ -124,9 +124,10 @@ class PGVectorAdapter(VectorStoreAdapter):
124
124
  """Check if the vectorstore is a PGVector store."""
125
125
  return hasattr(vectorstore, 'session_maker') and hasattr(vectorstore, 'EmbeddingStore')
126
126
 
127
- def get_indexed_data(self, vectorstore_wrapper):
128
- """Get all indexed data from PGVector for non-code content"""
127
+ def get_indexed_data(self, vectorstore_wrapper, collection_suffix: str)-> Dict[str, Dict[str, Any]]:
128
+ """Get all indexed data from PGVector for non-code content per collection_suffix."""
129
129
  from sqlalchemy.orm import Session
130
+ from sqlalchemy import func
130
131
  from ...runtime.utils.utils import IndexerKeywords
131
132
 
132
133
  result = {}
@@ -139,6 +140,8 @@ class PGVectorAdapter(VectorStoreAdapter):
139
140
  store.EmbeddingStore.id,
140
141
  store.EmbeddingStore.document,
141
142
  store.EmbeddingStore.cmetadata
143
+ ).filter(
144
+ func.jsonb_extract_path_text(store.EmbeddingStore.cmetadata, 'collection') == collection_suffix
142
145
  ).all()
143
146
 
144
147
  # Process the retrieved data
@@ -171,19 +174,22 @@ class PGVectorAdapter(VectorStoreAdapter):
171
174
 
172
175
  return result
173
176
 
174
- def get_code_indexed_data(self, vectorstore_wrapper) -> Dict[str, Dict[str, Any]]:
175
- """Get all indexed code data from PGVector."""
177
+ def get_code_indexed_data(self, vectorstore_wrapper, collection_suffix: str) -> Dict[str, Dict[str, Any]]:
178
+ """Get all indexed code data from PGVector per collection suffix."""
176
179
  from sqlalchemy.orm import Session
180
+ from sqlalchemy import func
177
181
 
178
182
  result = {}
179
183
  try:
180
184
  vectorstore_wrapper._log_data("Retrieving already indexed code data from PGVector vectorstore",
181
185
  tool_name="index_code_data")
182
186
  store = vectorstore_wrapper.vectorstore
183
- with Session(store.session_maker.bind) as session:
187
+ with (Session(store.session_maker.bind) as session):
184
188
  docs = session.query(
185
189
  store.EmbeddingStore.id,
186
190
  store.EmbeddingStore.cmetadata
191
+ ).filter(
192
+ func.jsonb_extract_path_text(store.EmbeddingStore.cmetadata, 'collection') == collection_suffix
187
193
  ).all()
188
194
 
189
195
  for db_id, meta in docs:
@@ -319,7 +325,7 @@ class ChromaAdapter(VectorStoreAdapter):
319
325
 
320
326
  return result
321
327
 
322
- def get_code_indexed_data(self, vectorstore_wrapper) -> Dict[str, Dict[str, Any]]:
328
+ def get_code_indexed_data(self, vectorstore_wrapper, collection_suffix) -> Dict[str, Dict[str, Any]]:
323
329
  """Get all indexed code data from Chroma."""
324
330
  result = {}
325
331
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.232
3
+ Version: 0.3.233
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 <lifedjik@gmail.com>, Artem Dubrovskiy <ad13box@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -6,7 +6,7 @@ alita_sdk/configurations/ado.py,sha256=rVi-HnKuBsXadVNpBlXoeYvfydL2OxJqqyQ9K9bf7
6
6
  alita_sdk/configurations/azure_search.py,sha256=CLbIkOnWlr9tjySV9GsR6D12bnDX9ifLR9xTMmKH_H0,777
7
7
  alita_sdk/configurations/bigquery.py,sha256=NlyfUm7jMmiDcPSbpHhrpYy7wgbSTdP_cdti_hxRtV0,888
8
8
  alita_sdk/configurations/bitbucket.py,sha256=wSmvFwGuiSTaRg4DTSVJNrj1J_6VlY2Tci3s28mXfPk,1156
9
- alita_sdk/configurations/confluence.py,sha256=9dUQ-ZE4LnHUrcNw9iFS3vzxwudHVB0RYpqBKTZFENw,1368
9
+ alita_sdk/configurations/confluence.py,sha256=LFFjhp0whiWcAN-2DnOVSUnQmjURBmV4C4iDyKs7vys,1423
10
10
  alita_sdk/configurations/delta_lake.py,sha256=MTVsX6stX6D1uEfFMgbb3fYBJRqCrB6cktfUKc9S9ho,1101
11
11
  alita_sdk/configurations/github.py,sha256=GSj6sA4f6SfW0ZpoHXKi5FzbPDC6wE1AlscwWqIPj14,1832
12
12
  alita_sdk/configurations/gitlab.py,sha256=zCI4RDZ3UZFLMWPcAYwuGosUbb-piTwtQjuY4QCJWBk,1031
@@ -15,7 +15,7 @@ alita_sdk/configurations/pgvector.py,sha256=P-Q07ocIg4CXN_7hUBDM6r9gN62XS1N2jyP7
15
15
  alita_sdk/configurations/postman.py,sha256=srup-SaimnSHO8UW1jr05sfUBqd_zKdVc5hs4PLSup4,993
16
16
  alita_sdk/configurations/qtest.py,sha256=u1kkhOJJ-oT5YsjAO8pS5F6pLdQV0yiZzcPf9qazMaE,639
17
17
  alita_sdk/configurations/service_now.py,sha256=na3gBBBLFNBbsk-AW08h8dd60HC5UvNSlxWwc_6w1U4,1141
18
- alita_sdk/configurations/slack.py,sha256=JPdcI7v7PrrHNO5uTY5M10tFPw4tGxjyZKmld4Owc20,1256
18
+ alita_sdk/configurations/slack.py,sha256=l4D_rYgRsKak6Kx7l0WoxCzWaWf1---FlKY6y2ZWGYk,1252
19
19
  alita_sdk/configurations/testrail.py,sha256=K8J3PmYVeDMWuIcgRDqFzbbgzXRXs78SP6H6VNq_aqQ,724
20
20
  alita_sdk/runtime/__init__.py,sha256=4W0UF-nl3QF2bvET5lnah4o24CoTwSoKXhuN0YnwvEE,828
21
21
  alita_sdk/runtime/clients/__init__.py,sha256=BdehU5GBztN1Qi1Wul0cqlU46FxUfMnI6Vq2Zd_oq1M,296
@@ -100,7 +100,7 @@ alita_sdk/runtime/tools/pgvector_search.py,sha256=NN2BGAnq4SsDHIhUcFZ8d_dbEOM8Qw
100
100
  alita_sdk/runtime/tools/prompt.py,sha256=nJafb_e5aOM1Rr3qGFCR-SKziU9uCsiP2okIMs9PppM,741
101
101
  alita_sdk/runtime/tools/router.py,sha256=wCvZjVkdXK9dMMeEerrgKf5M790RudH68pDortnHSz0,1517
102
102
  alita_sdk/runtime/tools/tool.py,sha256=lE1hGi6qOAXG7qxtqxarD_XMQqTghdywf261DZawwno,5631
103
- alita_sdk/runtime/tools/vectorstore.py,sha256=0VWmYRWgFvzGViFlhYbUk2fjkofrLlVQQg6Vnx6nxhs,33659
103
+ alita_sdk/runtime/tools/vectorstore.py,sha256=qNIDID1VjSdIfH6KTdOBL3_lnyVyfsR-fcRj4XN1jRM,33758
104
104
  alita_sdk/runtime/utils/AlitaCallback.py,sha256=E4LlSBuCHWiUq6W7IZExERHZY0qcmdjzc_rJlF2iQIw,7356
105
105
  alita_sdk/runtime/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
106
  alita_sdk/runtime/utils/constants.py,sha256=Xntx1b_uxUzT4clwqHA_U6K8y5bBqf_4lSQwXdcWrp4,13586
@@ -112,7 +112,7 @@ alita_sdk/runtime/utils/toolkit_runtime.py,sha256=MU63Fpxj0b5_r1IUUc0Q3-PN9VwL7r
112
112
  alita_sdk/runtime/utils/toolkit_utils.py,sha256=I9QFqnaqfVgN26LUr6s3XlBlG6y0CoHURnCzG7XcwVs,5311
113
113
  alita_sdk/runtime/utils/utils.py,sha256=CpEl3LCeLbhzQySz08lkKPm7Auac6IiLF7WB8wmArMI,589
114
114
  alita_sdk/tools/__init__.py,sha256=1AHqP2xyLjn92xVm70l9XIke6FkfHkLo5OoQVe4BuP8,10421
115
- alita_sdk/tools/elitea_base.py,sha256=pxcUj_z4xDy5EQDbEkBuneDBh8QdUzevDcHkCKR35v4,30361
115
+ alita_sdk/tools/elitea_base.py,sha256=WeYunN9QqXx2EZB0GwYiSxjTJs0djO8iSwPorZZuaOE,30302
116
116
  alita_sdk/tools/ado/__init__.py,sha256=j4lt6MLWlpkIIVkHmAyVG3i_qQeQ3ZmL_g8BfMhVhVI,1289
117
117
  alita_sdk/tools/ado/utils.py,sha256=PTCludvaQmPLakF2EbCGy66Mro4-rjDtavVP-xcB2Wc,1252
118
118
  alita_sdk/tools/ado/repos/__init__.py,sha256=kc4ZJI3B9CDUp4q3jRSj7JZNc3fJwwMTsV40CiKO7Po,6111
@@ -203,7 +203,7 @@ alita_sdk/tools/code/linter/api_wrapper.py,sha256=wylpwhAw02Jt8L18CqBq2He5PbwIkx
203
203
  alita_sdk/tools/code/loaders/codesearcher.py,sha256=XoXXZtIQZhvjIwZlnl_4wVGHC-3saYzFo5oDR_Zh3EY,529
204
204
  alita_sdk/tools/code/sonar/__init__.py,sha256=u8wpgXJ_shToLl3G9-XEtGDor5dhmsnurIImh1-e-U0,3165
205
205
  alita_sdk/tools/code/sonar/api_wrapper.py,sha256=nNqxcWN_6W8c0ckj-Er9HkNuAdgQLoWBXh5UyzNutis,2653
206
- alita_sdk/tools/confluence/__init__.py,sha256=y4nc4NoDvzeIEZaTlYqxgo8S8JVw6RtUl9_eOFddvQo,7389
206
+ alita_sdk/tools/confluence/__init__.py,sha256=B8JiTA-iUN8G21nAb3HyXwbA05ZjNzvjhb0vmymjna4,7252
207
207
  alita_sdk/tools/confluence/api_wrapper.py,sha256=4WqjVeFWyFeb4-VD5v4_J69pbyjire4Op7cBSKU9EXw,85057
208
208
  alita_sdk/tools/confluence/loader.py,sha256=4bf5qrJMEiJzuZp2NlxO2XObLD1w7fxss_WyMUpe8sg,9290
209
209
  alita_sdk/tools/confluence/utils.py,sha256=Lxo6dBD0OlvM4o0JuK6qeB_4LV9BptiwJA9e1vqNcDw,435
@@ -293,7 +293,7 @@ alita_sdk/tools/sharepoint/__init__.py,sha256=ZoqNrKPqswuwTg2jTj8_jHlNUSCZQUiK1O
293
293
  alita_sdk/tools/sharepoint/api_wrapper.py,sha256=YCD0DkdgTyrDs4cSOO_LQjTVfmoA8U_keGGJlefxSTo,9083
294
294
  alita_sdk/tools/sharepoint/authorization_helper.py,sha256=n-nL5dlBoLMK70nHu7P2RYCb8C6c9HMA_gEaw8LxuhE,2007
295
295
  alita_sdk/tools/sharepoint/utils.py,sha256=fZ1YzAu5CTjKSZeslowpOPH974902S8vCp1Wu7L44LM,446
296
- alita_sdk/tools/slack/__init__.py,sha256=Z0gzBVHHISd3EO7bo6A0WJf-fU178s-7F8bBKkwLn-E,3801
296
+ alita_sdk/tools/slack/__init__.py,sha256=srHQyTomfV1I4eTa8m4xjEiG4PrwxfTfmnC9hAd-gRs,4032
297
297
  alita_sdk/tools/slack/api_wrapper.py,sha256=5VrV7iSGno8ZcDzEHdGPNhInhtODGPPvAzoZ9W9iQWE,14009
298
298
  alita_sdk/tools/sql/__init__.py,sha256=9Lh8YHKO8zD5eeolpR4O9swTUsjpXj9LVDn8fM-T5IM,3506
299
299
  alita_sdk/tools/sql/api_wrapper.py,sha256=Rky0_CX9HWDQ2mClHGAgP3LHjYVX4iymPuilZMtaDlQ,3687
@@ -304,7 +304,7 @@ alita_sdk/tools/testrail/__init__.py,sha256=577XVaOAoXG3mDkojCsy5XCUlxCsdJf_2-_5
304
304
  alita_sdk/tools/testrail/api_wrapper.py,sha256=Aax0jspgidXYNxLIw6qTWu3dO2JOIS0ALIqsCzQuFbQ,32087
305
305
  alita_sdk/tools/utils/__init__.py,sha256=155xepXPr4OEzs2Mz5YnjXcBpxSv1X2eznRUVoPtyK0,3268
306
306
  alita_sdk/tools/utils/content_parser.py,sha256=yi1IDLreqfM41w-PnoFEvVLtSV50qpNvKshJwbDTgqs,7172
307
- alita_sdk/tools/vector_adapters/VectorStoreAdapter.py,sha256=kB6KYN4IRisyNc3U4SYJ4PdOoPKH1wrRvRwvdrjZ0OQ,16850
307
+ alita_sdk/tools/vector_adapters/VectorStoreAdapter.py,sha256=a6FAsiix_EvATIKUf5YT6vHh5LDyJ5uSP3LJqoxFo04,17367
308
308
  alita_sdk/tools/vector_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
309
309
  alita_sdk/tools/xray/__init__.py,sha256=OYa1wveTm-lAhsJaGXMnwOrDQWl6ch--NjNLBeR63eM,4331
310
310
  alita_sdk/tools/xray/api_wrapper.py,sha256=A8PJmY2k7TowaD_vk6ZxkMnSUoZUt9A6g4TJrZfNTAw,32225
@@ -325,8 +325,8 @@ alita_sdk/tools/zephyr_scale/api_wrapper.py,sha256=JAeWf-RXohsxheUpT0iMDClc_izj-
325
325
  alita_sdk/tools/zephyr_squad/__init__.py,sha256=0AI_j27xVO5Gk5HQMFrqPTd4uvuVTpiZUicBrdfEpKg,2796
326
326
  alita_sdk/tools/zephyr_squad/api_wrapper.py,sha256=kmw_xol8YIYFplBLWTqP_VKPRhL_1ItDD0_vXTe_UuI,14906
327
327
  alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py,sha256=R371waHsms4sllHCbijKYs90C-9Yu0sSR3N4SUfQOgU,5066
328
- alita_sdk-0.3.232.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
329
- alita_sdk-0.3.232.dist-info/METADATA,sha256=HMHMoJWO6wQ3h3u5c-p_27RlppcpFUaw9BDyOL7Y9_c,18896
330
- alita_sdk-0.3.232.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
331
- alita_sdk-0.3.232.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
332
- alita_sdk-0.3.232.dist-info/RECORD,,
328
+ alita_sdk-0.3.233.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
329
+ alita_sdk-0.3.233.dist-info/METADATA,sha256=SnQfpYgQ6ClxxESrl0oE_3RKxWpQ-1ETR3HjiAjxqMs,18896
330
+ alita_sdk-0.3.233.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
331
+ alita_sdk-0.3.233.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
332
+ alita_sdk-0.3.233.dist-info/RECORD,,