alita-sdk 0.3.221__tar.gz → 0.3.223__tar.gz

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 (323) hide show
  1. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/PKG-INFO +1 -1
  2. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/artifact.py +0 -1
  3. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/vectorstore.py +4 -4
  4. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/repos/__init__.py +7 -0
  5. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/test_plan/__init__.py +10 -0
  6. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/wiki/__init__.py +10 -0
  7. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/work_item/__init__.py +6 -0
  8. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/bitbucket/__init__.py +5 -1
  9. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/confluence/__init__.py +6 -1
  10. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/elitea_base.py +30 -56
  11. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/figma/__init__.py +5 -1
  12. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/__init__.py +5 -2
  13. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gitlab/__init__.py +5 -2
  14. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/jira/__init__.py +11 -1
  15. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sharepoint/__init__.py +5 -1
  16. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sharepoint/api_wrapper.py +0 -1
  17. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/testrail/__init__.py +4 -0
  18. alita_sdk-0.3.223/alita_sdk/tools/vector_adapters/VectorStoreAdapter.py +91 -0
  19. alita_sdk-0.3.223/alita_sdk/tools/vector_adapters/__init__.py +0 -0
  20. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/xray/__init__.py +11 -1
  21. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_enterprise/__init__.py +5 -2
  22. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +63 -20
  23. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_essential/__init__.py +5 -2
  24. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_essential/api_wrapper.py +0 -1
  25. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -1
  26. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk.egg-info/PKG-INFO +1 -1
  27. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk.egg-info/SOURCES.txt +2 -0
  28. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/pyproject.toml +1 -1
  29. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/LICENSE +0 -0
  30. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/README.md +0 -0
  31. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/__init__.py +0 -0
  32. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/community/__init__.py +0 -0
  33. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/community/utils.py +0 -0
  34. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/__init__.py +0 -0
  35. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/clients/__init__.py +0 -0
  36. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/clients/artifact.py +0 -0
  37. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/clients/client.py +0 -0
  38. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/clients/datasource.py +0 -0
  39. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/clients/prompt.py +0 -0
  40. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/__init__.py +0 -0
  41. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
  42. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
  43. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/assistant.py +0 -0
  44. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
  45. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/constants.py +0 -0
  46. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
  47. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
  48. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
  49. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
  50. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
  51. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
  52. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
  53. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
  54. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
  55. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaPDFLoader.py +0 -0
  56. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaPowerPointLoader.py +0 -0
  57. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
  58. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
  59. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/AlitaTextLoader.py +0 -0
  60. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
  61. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
  62. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
  63. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/indexer.py +0 -0
  64. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
  65. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
  66. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
  67. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
  68. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
  69. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/langraph_agent.py +0 -0
  70. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
  71. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
  72. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
  73. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
  74. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
  75. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/store_manager.py +0 -0
  76. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
  77. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
  78. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
  79. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
  80. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
  81. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
  82. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/git.py +0 -0
  83. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/log.py +0 -0
  84. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
  85. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/state.py +0 -0
  86. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
  87. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
  88. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/langchain/utils.py +0 -0
  89. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/llms/__init__.py +0 -0
  90. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/llms/preloaded.py +0 -0
  91. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/__init__.py +0 -0
  92. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/application.py +0 -0
  93. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/artifact.py +0 -0
  94. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/datasource.py +0 -0
  95. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/prompt.py +0 -0
  96. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
  97. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/tools.py +0 -0
  98. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
  99. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/__init__.py +0 -0
  100. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/agent.py +0 -0
  101. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/application.py +0 -0
  102. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/datasource.py +0 -0
  103. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/echo.py +0 -0
  104. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/function.py +0 -0
  105. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
  106. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/llm.py +0 -0
  107. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/loop.py +0 -0
  108. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/loop_output.py +0 -0
  109. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
  110. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
  111. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/prompt.py +0 -0
  112. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/router.py +0 -0
  113. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/tools/tool.py +0 -0
  114. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
  115. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/__init__.py +0 -0
  116. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/constants.py +0 -0
  117. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/evaluate.py +0 -0
  118. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/logging.py +0 -0
  119. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
  120. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/streamlit.py +0 -0
  121. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/toolkit_runtime.py +0 -0
  122. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/toolkit_utils.py +0 -0
  123. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/runtime/utils/utils.py +0 -0
  124. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/__init__.py +0 -0
  125. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/__init__.py +0 -0
  126. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
  127. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +0 -0
  128. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/utils.py +0 -0
  129. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/wiki/ado_wrapper.py +0 -0
  130. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
  131. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
  132. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
  133. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/aws/__init__.py +0 -0
  134. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/aws/delta_lake/__init__.py +0 -0
  135. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/aws/delta_lake/api_wrapper.py +0 -0
  136. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/aws/delta_lake/schemas.py +0 -0
  137. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/aws/delta_lake/tool.py +0 -0
  138. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/azure_ai/__init__.py +0 -0
  139. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/azure_ai/search/__init__.py +0 -0
  140. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
  141. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/base/__init__.py +0 -0
  142. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/base/tool.py +0 -0
  143. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
  144. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
  145. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
  146. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/bitbucket/tools.py +0 -0
  147. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/browser/__init__.py +0 -0
  148. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/browser/crawler.py +0 -0
  149. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
  150. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/browser/google_search_rag.py +0 -0
  151. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/browser/utils.py +0 -0
  152. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/browser/wiki.py +0 -0
  153. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/__init__.py +0 -0
  154. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
  155. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
  156. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
  157. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
  158. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
  159. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
  160. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
  161. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
  162. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
  163. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
  164. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
  165. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/tools.py +0 -0
  166. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
  167. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
  168. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/carrier/utils.py +0 -0
  169. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/__init__.py +0 -0
  170. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
  171. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
  172. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/constants.py +0 -0
  173. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
  174. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
  175. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
  176. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
  177. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
  178. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
  179. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
  180. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
  181. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
  182. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
  183. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
  184. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
  185. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
  186. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
  187. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
  188. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/models.py +0 -0
  189. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
  190. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
  191. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
  192. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
  193. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
  194. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/chunkers/utils.py +0 -0
  195. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/__init__.py +0 -0
  196. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
  197. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
  198. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
  199. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
  200. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
  201. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
  202. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
  203. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
  204. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/code/__init__.py +0 -0
  205. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/code/linter/__init__.py +0 -0
  206. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
  207. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
  208. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/code/sonar/__init__.py +0 -0
  209. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
  210. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
  211. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/confluence/loader.py +0 -0
  212. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/confluence/utils.py +0 -0
  213. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
  214. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
  215. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/elastic/__init__.py +0 -0
  216. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
  217. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/figma/api_wrapper.py +0 -0
  218. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/api_wrapper.py +0 -0
  219. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/github_client.py +0 -0
  220. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
  221. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/schemas.py +0 -0
  222. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/tool.py +0 -0
  223. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/github/tool_prompts.py +0 -0
  224. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
  225. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gitlab/tools.py +0 -0
  226. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gitlab/utils.py +0 -0
  227. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
  228. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
  229. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gmail/__init__.py +0 -0
  230. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
  231. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/gmail/utils.py +0 -0
  232. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google/__init__.py +0 -0
  233. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google/bigquery/__init__.py +0 -0
  234. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google/bigquery/api_wrapper.py +0 -0
  235. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google/bigquery/schemas.py +0 -0
  236. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google/bigquery/tool.py +0 -0
  237. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google_places/__init__.py +0 -0
  238. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
  239. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/jira/api_wrapper.py +0 -0
  240. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/keycloak/__init__.py +0 -0
  241. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
  242. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/llm/__init__.py +0 -0
  243. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/llm/img_utils.py +0 -0
  244. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/llm/llm_utils.py +0 -0
  245. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/localgit/__init__.py +0 -0
  246. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/localgit/local_git.py +0 -0
  247. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/localgit/tool.py +0 -0
  248. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/memory/__init__.py +0 -0
  249. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ocr/__init__.py +0 -0
  250. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
  251. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/ocr/text_detection.py +0 -0
  252. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/openapi/__init__.py +0 -0
  253. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/__init__.py +0 -0
  254. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
  255. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
  256. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
  257. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
  258. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
  259. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
  260. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
  261. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
  262. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
  263. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
  264. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
  265. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
  266. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
  267. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
  268. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
  269. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
  270. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
  271. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
  272. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/postman/__init__.py +0 -0
  273. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/postman/api_wrapper.py +0 -0
  274. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/postman/postman_analysis.py +0 -0
  275. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pptx/__init__.py +0 -0
  276. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
  277. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/qtest/__init__.py +0 -0
  278. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/qtest/api_wrapper.py +0 -0
  279. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/qtest/tool.py +0 -0
  280. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/rally/__init__.py +0 -0
  281. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/rally/api_wrapper.py +0 -0
  282. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/report_portal/__init__.py +0 -0
  283. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
  284. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
  285. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/salesforce/__init__.py +0 -0
  286. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
  287. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/salesforce/model.py +0 -0
  288. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/servicenow/__init__.py +0 -0
  289. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
  290. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
  291. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
  292. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sharepoint/utils.py +0 -0
  293. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/slack/__init__.py +0 -0
  294. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/slack/api_wrapper.py +0 -0
  295. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sql/__init__.py +0 -0
  296. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sql/api_wrapper.py +0 -0
  297. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/sql/models.py +0 -0
  298. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/testio/__init__.py +0 -0
  299. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/testio/api_wrapper.py +0 -0
  300. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
  301. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/utils/__init__.py +0 -0
  302. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/utils/content_parser.py +0 -0
  303. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/xray/api_wrapper.py +0 -0
  304. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/yagmail/__init__.py +0 -0
  305. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
  306. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
  307. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr/__init__.py +0 -0
  308. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
  309. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr/rest_client.py +0 -0
  310. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
  311. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_essential/client.py +0 -0
  312. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
  313. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_squad/__init__.py +0 -0
  314. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -0
  315. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +0 -0
  316. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk.egg-info/dependency_links.txt +0 -0
  317. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk.egg-info/requires.txt +0 -0
  318. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/alita_sdk.egg-info/top_level.txt +0 -0
  319. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/setup.cfg +0 -0
  320. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/tests/test_ado_analysis.py +0 -0
  321. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/tests/test_github_analysis.py +0 -0
  322. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/tests/test_gitlab_analysis.py +0 -0
  323. {alita_sdk-0.3.221 → alita_sdk-0.3.223}/tests/test_jira_analysis.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.221
3
+ Version: 0.3.223
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
@@ -90,7 +90,6 @@ class ArtifactWrapper(BaseVectorStoreToolApiWrapper):
90
90
  yield Document(page_content=str(value), metadata=metadata)
91
91
  else:
92
92
  document.page_content = json.dumps(str(page_content))
93
- yield document
94
93
 
95
94
  @extend_with_vector_tools
96
95
  def get_available_tools(self):
@@ -532,10 +532,10 @@ class VectorStoreWrapper(BaseToolApiWrapper):
532
532
 
533
533
  def search_documents(self, query:str, doctype: str = 'code',
534
534
  filter:dict|str={}, cut_off: float=0.5,
535
- search_top:int=10, reranker:dict = {},
536
- full_text_search: Optional[Dict[str, Any]] = None,
537
- reranking_config: Optional[Dict[str, Dict[str, Any]]] = None,
538
- extended_search: Optional[List[str]] = None):
535
+ search_top:int=10, full_text_search: Optional[Dict[str, Any]] = None,
536
+ extended_search: Optional[List[str]] = None,
537
+ reranker: dict = {}, reranking_config: Optional[Dict[str, Dict[str, Any]]] = None
538
+ ):
539
539
  """Enhanced search documents method using JSON configurations for full-text search and reranking"""
540
540
  from alita_sdk.tools.code.loaders.codesearcher import search_format as code_format
541
541
 
@@ -65,6 +65,13 @@ class AzureDevOpsReposToolkit(BaseToolkit):
65
65
  connection_string = (Optional[SecretStr], Field(description="Connection string for vectorstore",
66
66
  default=None,
67
67
  json_schema_extra={'secret': True})),
68
+
69
+ # embedder settings
70
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.",
71
+ default="HuggingFaceEmbeddings")),
72
+ embedding_model_params=(dict, Field(
73
+ description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}",
74
+ default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
68
75
 
69
76
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
70
77
  __config__={'json_schema_extra': {'metadata':
@@ -33,6 +33,16 @@ class AzureDevOpsPlansToolkit(BaseToolkit):
33
33
  project=(str, Field(title="Project", description="ADO project", json_schema_extra={'configuration': True})),
34
34
  limit=(Optional[int], Field(description="ADO plans limit used for limitation of the list with results", default=5)),
35
35
  token=(SecretStr, Field(description="ADO token", json_schema_extra={'secret': True, 'configuration': True})),
36
+ # indexer settings
37
+ connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
38
+ default=None,
39
+ json_schema_extra={'secret': True})),
40
+ # embedder settings
41
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.",
42
+ default="HuggingFaceEmbeddings")),
43
+ embedding_model_params=(dict, Field(
44
+ description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}",
45
+ default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
36
46
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
37
47
  __config__={'json_schema_extra': {'metadata':
38
48
  {
@@ -37,6 +37,16 @@ class AzureDevOpsWikiToolkit(BaseToolkit):
37
37
  Field(description="ADO token",
38
38
  json_schema_extra={'secret': True, 'configuration': True }
39
39
  )),
40
+ # indexer settings
41
+ connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
42
+ default=None,
43
+ json_schema_extra={'secret': True})),
44
+ # embedder settings
45
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.",
46
+ default="HuggingFaceEmbeddings")),
47
+ embedding_model_params=(dict, Field(
48
+ description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}",
49
+ default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
40
50
  selected_tools=(List[Literal[tuple(selected_tools)]],
41
51
  Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
42
52
  __config__={
@@ -41,6 +41,12 @@ class AzureDevOpsWorkItemsToolkit(BaseToolkit):
41
41
  connection_string = (Optional[SecretStr], Field(description="Connection string for vectorstore",
42
42
  default=None,
43
43
  json_schema_extra={'secret': True})),
44
+ # embedder settings
45
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.",
46
+ default="HuggingFaceEmbeddings")),
47
+ embedding_model_params=(dict, Field(
48
+ description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}",
49
+ default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
44
50
  __config__={
45
51
  'json_schema_extra': {
46
52
  'metadata': {
@@ -27,7 +27,7 @@ def get_tools(tool):
27
27
  llm=tool['settings'].get('llm', None),
28
28
  alita=tool['settings'].get('alita', None),
29
29
  connection_string=tool['settings'].get('connection_string', None),
30
- collection_name=str(tool['id']),
30
+ collection_name=str(tool['toolkit_name']),
31
31
  doctype='code',
32
32
  embedding_model="HuggingFaceEmbeddings",
33
33
  embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
@@ -60,6 +60,10 @@ class AlitaBitbucketToolkit(BaseToolkit):
60
60
  connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
61
61
  default=None,
62
62
  json_schema_extra={'secret': True})),
63
+
64
+ # embedder settings
65
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
66
+ embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
63
67
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
64
68
  __config__=ConfigDict(json_schema_extra=
65
69
  {
@@ -27,7 +27,7 @@ def get_tools(tool):
27
27
  toolkit_name=tool.get('toolkit_name'),
28
28
  # indexer settings
29
29
  connection_string = tool['settings'].get('connection_string', None),
30
- collection_name=str(tool['id']),
30
+ collection_name=str(tool['toolkit_name']),
31
31
  doctype='doc',
32
32
  embedding_model="HuggingFaceEmbeddings",
33
33
  embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
@@ -84,6 +84,11 @@ class ConfluenceToolkit(BaseToolkit):
84
84
  connection_string = (Optional[SecretStr], Field(description="Connection string for vectorstore",
85
85
  default=None,
86
86
  json_schema_extra={'secret': True})),
87
+
88
+ # embedder settings
89
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
90
+ embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
91
+
87
92
  __config__=ConfigDict(json_schema_extra={
88
93
  'metadata': {
89
94
  "label": "Confluence",
@@ -12,6 +12,7 @@ from pydantic import BaseModel, create_model, Field, SecretStr
12
12
  from alita_sdk.runtime.langchain.interfaces.llm_processor import get_embeddings
13
13
  from .chunkers import markdown_chunker
14
14
  from .utils import TOOLKIT_SPLITTER
15
+ from .vector_adapters.VectorStoreAdapter import VectorStoreAdapterFactory
15
16
  from ..runtime.utils.utils import IndexerKeywords
16
17
 
17
18
  logger = logging.getLogger(__name__)
@@ -59,22 +60,22 @@ BaseSearchParams = create_model(
59
60
  )),
60
61
  cut_off=(Optional[float], Field(description="Cut-off score for search results", default=0.5)),
61
62
  search_top=(Optional[int], Field(description="Number of top results to return", default=10)),
62
- reranker=(Optional[dict], Field(
63
- description="Reranker configuration. Can be a dictionary with reranking parameters.",
64
- default={}
65
- )),
66
63
  full_text_search=(Optional[Dict[str, Any]], Field(
67
64
  description="Full text search parameters. Can be a dictionary with search options.",
68
65
  default=None
69
66
  )),
70
- reranking_config=(Optional[Dict[str, Dict[str, Any]]], Field(
71
- description="Reranking configuration. Can be a dictionary with reranking settings.",
72
- default=None
73
- )),
74
67
  extended_search=(Optional[List[str]], Field(
75
68
  description="List of additional fields to include in the search results.",
76
69
  default=None
77
70
  )),
71
+ reranker=(Optional[dict], Field(
72
+ description="Reranker configuration. Can be a dictionary with reranking parameters.",
73
+ default={}
74
+ )),
75
+ reranking_config=(Optional[Dict[str, Dict[str, Any]]], Field(
76
+ description="Reranking configuration. Can be a dictionary with reranking settings.",
77
+ default=None
78
+ )),
78
79
  )
79
80
 
80
81
  BaseStepbackSearchParams = create_model(
@@ -111,7 +112,7 @@ BaseStepbackSearchParams = create_model(
111
112
  BaseIndexDataParams = create_model(
112
113
  "indexData",
113
114
  __base__=BaseIndexParams,
114
- progress_step=(Optional[int], Field(default=None, ge=0, le=100,
115
+ progress_step=(Optional[int], Field(default=10, ge=0, le=100,
115
116
  description="Optional step size for progress reporting during indexing")),
116
117
  clean_index=(Optional[bool], Field(default=False,
117
118
  description="Optional flag to enforce clean existing index before indexing new data")),
@@ -219,6 +220,10 @@ class BaseVectorStoreToolApiWrapper(BaseToolApiWrapper):
219
220
  embedding_model_params: Optional[Dict[str, Any]] = {"model_name": "sentence-transformers/all-MiniLM-L6-v2"}
220
221
  vectorstore_type: Optional[str] = "PGVector"
221
222
 
223
+ def __init__(self, **kwargs):
224
+ super().__init__(**kwargs)
225
+ self._adapter = VectorStoreAdapterFactory.create_adapter(self.vectorstore_type)
226
+
222
227
  def _index_tool_params(self, **kwargs) -> dict[str, tuple[type, Field]]:
223
228
  """
224
229
  Returns a list of fields for index_data args schema.
@@ -329,36 +334,24 @@ class BaseVectorStoreToolApiWrapper(BaseToolApiWrapper):
329
334
 
330
335
  # TODO: init store once and re-use the instance
331
336
  def _init_vector_store(self, collection_suffix: str = "", embeddings: Optional[Any] = None):
332
- """ Initializes the vector store wrapper with the provided parameters."""
337
+ """Initializes the vector store wrapper with the provided parameters."""
333
338
  try:
334
339
  from alita_sdk.runtime.tools.vectorstore import VectorStoreWrapper
335
340
  except ImportError:
336
341
  from alita_sdk.runtime.tools.vectorstore import VectorStoreWrapper
337
-
342
+
338
343
  # Validate collection_suffix length
339
344
  if collection_suffix and len(collection_suffix.strip()) > 7:
340
345
  raise ToolException("collection_suffix must be 7 characters or less")
341
-
346
+
342
347
  # Create collection name with suffix if provided
343
348
  collection_name = str(self.collection_name)
344
349
  if collection_suffix and collection_suffix.strip():
345
350
  collection_name = f"{self.collection_name}_{collection_suffix.strip()}"
346
-
347
- if self.vectorstore_type == 'PGVector':
348
- vectorstore_params = {
349
- "use_jsonb": True,
350
- "collection_name": collection_name,
351
- "create_extension": True,
352
- "alita_sdk_options": {
353
- "target_schema": collection_name,
354
- },
355
- "connection_string": self.connection_string.get_secret_value()
356
- }
357
- elif self.vectorstore_type == 'Chroma':
358
- vectorstore_params = {
359
- "collection_name": collection_name,
360
- "persist_directory": "./indexer_db"
361
- }
351
+
352
+ # Get database-specific parameters using adapter
353
+ connection_string = self.connection_string.get_secret_value() if self.connection_string else None
354
+ vectorstore_params = self._adapter.get_vectorstore_params(collection_name, connection_string)
362
355
 
363
356
  return VectorStoreWrapper(
364
357
  llm=self.llm,
@@ -371,36 +364,17 @@ class BaseVectorStoreToolApiWrapper(BaseToolApiWrapper):
371
364
  )
372
365
 
373
366
  def remove_index(self, collection_suffix: str = ""):
374
- """
375
- Cleans the indexed data in the collection
376
- """
377
-
378
- self._init_vector_store(collection_suffix)._remove_collection()
367
+ """Cleans the indexed data in the collection."""
368
+ vectorstore_wrapper = self._init_vector_store(collection_suffix)
369
+ collection_name = f"{self.collection_name}_{collection_suffix}" if collection_suffix else str(self.collection_name)
370
+ self._adapter.remove_collection(vectorstore_wrapper, collection_name)
371
+ return (f"Collection '{collection_name}' has been removed from the vector store.\n"
372
+ f"Available collections: {self.list_collections()}")
379
373
 
380
374
  def list_collections(self):
381
- """
382
- Lists all collections in the vector store
383
- """
384
- if self.vectorstore_type.lower() == 'PGVector'.lower():
385
- from sqlalchemy import text
386
- from sqlalchemy.orm import Session
387
-
388
- # schema_name = self.vectorstore.collection_name
389
- with Session(self._init_vector_store().vectorstore.session_maker.bind) as session:
390
- get_collections = text("""
391
- SELECT table_schema
392
- FROM information_schema.columns
393
- WHERE udt_name = 'vector';
394
- """)
395
-
396
- # Execute the raw SQL query
397
- result = session.execute(get_collections)
398
-
399
- # Fetch all rows from the result
400
- docs = result.fetchall()
401
- return str(docs)
402
- vector_client = self._init_vector_store().vectoradapter.vectorstore._client
403
- return ','.join([collection.name for collection in vector_client.list_collections()])
375
+ """Lists all collections in the vector store."""
376
+ vectorstore_wrapper = self._init_vector_store()
377
+ return self._adapter.list_collections(vectorstore_wrapper)
404
378
 
405
379
  def search_index(self,
406
380
  query: str,
@@ -22,7 +22,7 @@ def get_tools(tool):
22
22
  # indexer settings
23
23
  llm=tool['settings'].get('llm', None),
24
24
  connection_string = tool['settings'].get('connection_string', None),
25
- collection_name=str(tool['id']),
25
+ collection_name=str(tool['toolkit_name']),
26
26
  doctype='doc',
27
27
  embedding_model="HuggingFaceEmbeddings",
28
28
  embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
@@ -57,6 +57,10 @@ class FigmaToolkit(BaseToolkit):
57
57
  connection_string = (Optional[SecretStr], Field(description="Connection string for vectorstore",
58
58
  default=None,
59
59
  json_schema_extra={'secret': True})),
60
+
61
+ # embedder settings
62
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
63
+ embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
60
64
  __config__=ConfigDict(
61
65
  json_schema_extra={
62
66
  "metadata": {
@@ -25,7 +25,7 @@ def _get_toolkit(tool) -> BaseToolkit:
25
25
  llm=tool['settings'].get('llm', None),
26
26
  alita=tool['settings'].get('alita', None),
27
27
  connection_string=tool['settings'].get('connection_string', None),
28
- collection_name=str(tool['id']),
28
+ collection_name=str(tool['toolkit_name']),
29
29
  doctype='code',
30
30
  embedding_model="HuggingFaceEmbeddings",
31
31
  embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
@@ -96,6 +96,10 @@ class AlitaGitHubToolkit(BaseToolkit):
96
96
  default=None,
97
97
  json_schema_extra={'secret': True})),
98
98
 
99
+ # embedder settings
100
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
101
+ embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
102
+
99
103
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools}))
100
104
  )
101
105
 
@@ -123,4 +127,3 @@ class AlitaGitHubToolkit(BaseToolkit):
123
127
 
124
128
  def get_tools(self):
125
129
  return self.tools
126
-
@@ -7,7 +7,6 @@ from pydantic import create_model, BaseModel, ConfigDict, SecretStr
7
7
  from pydantic.fields import Field
8
8
 
9
9
  from .api_wrapper import GitLabAPIWrapper
10
- # from .tools import __all__
11
10
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
12
11
 
13
12
  name = "gitlab"
@@ -24,7 +23,7 @@ def get_tools(tool):
24
23
  llm=tool['settings'].get('llm', None),
25
24
  alita=tool['settings'].get('alita', None),
26
25
  connection_string=tool['settings'].get('connection_string', None),
27
- collection_name=f"{tool.get('toolkit_name')}_{str(tool['id'])}",
26
+ collection_name=str(tool['toolkit_name']),
28
27
  doctype='code',
29
28
  embedding_model="HuggingFaceEmbeddings",
30
29
  embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
@@ -51,6 +50,10 @@ class AlitaGitlabToolkit(BaseToolkit):
51
50
  connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
52
51
  default=None,
53
52
  json_schema_extra={'secret': True})),
53
+
54
+ # embedder settings
55
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
56
+ embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
54
57
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
55
58
  __config__=ConfigDict(json_schema_extra={
56
59
  'metadata': {
@@ -25,7 +25,7 @@ def get_tools(tool):
25
25
  llm=tool['settings'].get('llm', None),
26
26
  alita=tool['settings'].get('alita', None),
27
27
  connection_string=tool['settings'].get('connection_string', None),
28
- collection_name=f"{tool.get('toolkit_name')}_{str(tool['id'])}",
28
+ collection_name=str(tool['toolkit_name']),
29
29
  embedding_model="HuggingFaceEmbeddings",
30
30
  embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
31
31
  vectorstore_type="PGVector",
@@ -81,6 +81,16 @@ class JiraToolkit(BaseToolkit):
81
81
  )),
82
82
  verify_ssl=(bool, Field(description="Verify SSL", default=True)),
83
83
  additional_fields=(Optional[str], Field(description="Additional fields", default="")),
84
+
85
+ # indexer settings
86
+ connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
87
+ default=None,
88
+ json_schema_extra={'secret': True})),
89
+
90
+ # embedder settings
91
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
92
+ embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
93
+
84
94
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
85
95
  __config__=ConfigDict(json_schema_extra={
86
96
  'metadata': {
@@ -18,7 +18,7 @@ def get_tools(tool):
18
18
  llm=tool['settings'].get('llm'),
19
19
  # indexer settings
20
20
  connection_string=tool['settings'].get('connection_string', None),
21
- collection_name=f"{tool.get('toolkit_name')}_{str(tool['id'])}",
21
+ collection_name=str(tool['toolkit_name']),
22
22
  embedding_model="HuggingFaceEmbeddings",
23
23
  embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
24
24
  vectorstore_type="PGVector")
@@ -43,6 +43,10 @@ class SharepointToolkit(BaseToolkit):
43
43
  connection_string = (Optional[SecretStr], Field(description="Connection string for vectorstore",
44
44
  default=None,
45
45
  json_schema_extra={'secret': True})),
46
+
47
+ # embedder settings
48
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
49
+ embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
46
50
  __config__=ConfigDict(json_schema_extra={
47
51
  'metadata': {
48
52
  "label": "Sharepoint", "icon_url": "sharepoint.svg",
@@ -172,7 +172,6 @@ class SharepointApiWrapper(BaseVectorStoreToolApiWrapper):
172
172
  yield Document(page_content=str(content), metadata=new_metadata)
173
173
  else:
174
174
  document.page_content = str(doc_content)
175
- yield document
176
175
 
177
176
  @extend_with_vector_tools
178
177
  def get_available_tools(self):
@@ -55,6 +55,10 @@ class TestrailToolkit(BaseToolkit):
55
55
  connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
56
56
  default=None,
57
57
  json_schema_extra={'secret': True})),
58
+
59
+ # embedder settings
60
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
61
+ embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
58
62
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
59
63
  __config__=ConfigDict(json_schema_extra={'metadata':
60
64
  {"label": "Testrail", "icon_url": "testrail-icon.svg",
@@ -0,0 +1,91 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Any, Dict, Optional
3
+
4
+
5
+ class VectorStoreAdapter(ABC):
6
+ """Abstract base class for vector store adapters."""
7
+
8
+ @abstractmethod
9
+ def get_vectorstore_params(self, collection_name: str, connection_string: Optional[str] = None) -> Dict[str, Any]:
10
+ """Get vector store specific parameters."""
11
+ pass
12
+
13
+ @abstractmethod
14
+ def list_collections(self, vectorstore_wrapper) -> str:
15
+ """List all collections in the vector store."""
16
+ pass
17
+
18
+ @abstractmethod
19
+ def remove_collection(self, vectorstore_wrapper, collection_name: str):
20
+ """Remove a collection from the vector store."""
21
+ pass
22
+
23
+
24
+ class PGVectorAdapter(VectorStoreAdapter):
25
+ """Adapter for PGVector database operations."""
26
+
27
+ def get_vectorstore_params(self, collection_name: str, connection_string: Optional[str] = None) -> Dict[str, Any]:
28
+ return {
29
+ "use_jsonb": True,
30
+ "collection_name": collection_name,
31
+ "create_extension": True,
32
+ "alita_sdk_options": {
33
+ "target_schema": collection_name,
34
+ },
35
+ "connection_string": connection_string
36
+ }
37
+
38
+ def list_collections(self, vectorstore_wrapper) -> str:
39
+ from sqlalchemy import text
40
+ from sqlalchemy.orm import Session
41
+
42
+ with Session(vectorstore_wrapper.vectorstore.session_maker.bind) as session:
43
+ get_collections = text("""
44
+ SELECT table_schema
45
+ FROM information_schema.columns
46
+ WHERE udt_name = 'vector';
47
+ """)
48
+ result = session.execute(get_collections)
49
+ docs = result.fetchall()
50
+ return str(docs)
51
+
52
+ def remove_collection(self, vectorstore_wrapper, collection_name: str):
53
+ vectorstore_wrapper._remove_collection()
54
+
55
+
56
+ class ChromaAdapter(VectorStoreAdapter):
57
+ """Adapter for Chroma database operations."""
58
+
59
+ def get_vectorstore_params(self, collection_name: str, connection_string: Optional[str] = None) -> Dict[str, Any]:
60
+ return {
61
+ "collection_name": collection_name,
62
+ "persist_directory": "./indexer_db"
63
+ }
64
+
65
+ def list_collections(self, vectorstore_wrapper) -> str:
66
+ vector_client = vectorstore_wrapper.vectoradapter.vectorstore._client
67
+ return ','.join([collection.name for collection in vector_client.list_collections()])
68
+
69
+ def remove_collection(self, vectorstore_wrapper, collection_name: str):
70
+ vectorstore_wrapper.vectoradapter.vectorstore.delete_collection()
71
+
72
+
73
+ class VectorStoreAdapterFactory:
74
+ """Factory for creating vector store adapters."""
75
+
76
+ _adapters = {
77
+ 'PGVector': PGVectorAdapter,
78
+ 'Chroma': ChromaAdapter,
79
+ }
80
+
81
+ @classmethod
82
+ def create_adapter(cls, vectorstore_type: str) -> VectorStoreAdapter:
83
+ adapter_class = cls._adapters.get(vectorstore_type)
84
+ if not adapter_class:
85
+ raise ValueError(f"Unsupported vectorstore type: {vectorstore_type}")
86
+ return adapter_class()
87
+
88
+ @classmethod
89
+ def register_adapter(cls, vectorstore_type: str, adapter_class: type):
90
+ """Register a new adapter for a vector store type."""
91
+ cls._adapters[vectorstore_type] = adapter_class
@@ -24,7 +24,7 @@ def get_tools(tool):
24
24
 
25
25
  # indexer settings
26
26
  connection_string=tool['settings'].get('connection_string', None),
27
- collection_name=f"{tool.get('toolkit_name')}_{str(tool['id'])}",
27
+ collection_name=str(tool['toolkit_name']),
28
28
  embedding_model="HuggingFaceEmbeddings",
29
29
  embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
30
30
  vectorstore_type="PGVector"
@@ -45,6 +45,16 @@ class XrayToolkit(BaseToolkit):
45
45
  client_id=(str, Field(description="Client ID")),
46
46
  client_secret=(SecretStr, Field(description="Client secret", json_schema_extra={'secret': True})),
47
47
  limit=(Optional[int], Field(description="Limit", default=100)),
48
+
49
+ # indexer settings
50
+ connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
51
+ default=None,
52
+ json_schema_extra={'secret': True})),
53
+
54
+ # embedder settings
55
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
56
+ embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
57
+
48
58
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
49
59
  __config__={'json_schema_extra':
50
60
  {
@@ -18,7 +18,7 @@ def get_tools(tool):
18
18
 
19
19
  # indexer settings
20
20
  connection_string=tool['settings'].get('connection_string', None),
21
- collection_name=f"{tool.get('toolkit_name')}_{str(tool['id'])}",
21
+ collection_name=str(tool['toolkit_name']),
22
22
  embedding_model="HuggingFaceEmbeddings",
23
23
  embedding_model_params={"model_name": "sentence-transformers/all-MiniLM-L6-v2"},
24
24
  vectorstore_type="PGVector"
@@ -41,6 +41,10 @@ class ZephyrEnterpriseToolkit(BaseToolkit):
41
41
  connection_string=(Optional[SecretStr], Field(description="Connection string for vectorstore",
42
42
  default=None,
43
43
  json_schema_extra={'secret': True})),
44
+
45
+ # embedder settings
46
+ embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.", default="HuggingFaceEmbeddings")),
47
+ embedding_model_params=(dict, Field(description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}", default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
44
48
  selected_tools=(List[Literal[tuple(selected_tools)]], []),
45
49
  __config__=ConfigDict(json_schema_extra={
46
50
  'metadata': {
@@ -71,4 +75,3 @@ class ZephyrEnterpriseToolkit(BaseToolkit):
71
75
 
72
76
  def get_tools(self) -> List[BaseTool]:
73
77
  return self.tools
74
-