alita-sdk 0.3.283__tar.gz → 0.3.285__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 (363) hide show
  1. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/PKG-INFO +1 -1
  2. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/vectorstore_base.py +1 -1
  3. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/base_indexer_toolkit.py +9 -2
  4. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/figma/api_wrapper.py +26 -11
  5. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/gitlab/__init__.py +1 -1
  6. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/testrail/api_wrapper.py +24 -18
  7. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr_enterprise/__init__.py +2 -1
  8. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr_essential/api_wrapper.py +47 -1
  9. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk.egg-info/PKG-INFO +1 -1
  10. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/pyproject.toml +1 -1
  11. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/LICENSE +0 -0
  12. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/README.md +0 -0
  13. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/__init__.py +0 -0
  14. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/community/__init__.py +0 -0
  15. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/community/utils.py +0 -0
  16. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/__init__.py +0 -0
  17. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/ado.py +0 -0
  18. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/azure_search.py +0 -0
  19. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/bigquery.py +0 -0
  20. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/bitbucket.py +0 -0
  21. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/browser.py +0 -0
  22. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/carrier.py +0 -0
  23. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/confluence.py +0 -0
  24. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/delta_lake.py +0 -0
  25. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/embedding.py +0 -0
  26. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/figma.py +0 -0
  27. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/github.py +0 -0
  28. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/gitlab.py +0 -0
  29. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/google_places.py +0 -0
  30. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/jira.py +0 -0
  31. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/pgvector.py +0 -0
  32. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/postman.py +0 -0
  33. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/qtest.py +0 -0
  34. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/rally.py +0 -0
  35. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/report_portal.py +0 -0
  36. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/salesforce.py +0 -0
  37. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/service_now.py +0 -0
  38. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/sharepoint.py +0 -0
  39. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/slack.py +0 -0
  40. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/sonar.py +0 -0
  41. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/sql.py +0 -0
  42. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/testio.py +0 -0
  43. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/testrail.py +0 -0
  44. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/xray.py +0 -0
  45. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/zephyr.py +0 -0
  46. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/zephyr_enterprise.py +0 -0
  47. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/configurations/zephyr_essential.py +0 -0
  48. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/__init__.py +0 -0
  49. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/clients/__init__.py +0 -0
  50. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/clients/artifact.py +0 -0
  51. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/clients/client.py +0 -0
  52. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/clients/datasource.py +0 -0
  53. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/clients/prompt.py +0 -0
  54. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/__init__.py +0 -0
  55. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
  56. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
  57. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/assistant.py +0 -0
  58. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
  59. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/constants.py +0 -0
  60. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
  61. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
  62. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
  63. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
  64. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
  65. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
  66. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
  67. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
  68. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaJSONLoader.py +0 -0
  69. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
  70. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaPDFLoader.py +0 -0
  71. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaPowerPointLoader.py +0 -0
  72. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
  73. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
  74. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/AlitaTextLoader.py +0 -0
  75. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/ImageParser.py +0 -0
  76. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
  77. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
  78. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
  79. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/indexer.py +0 -0
  80. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
  81. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
  82. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
  83. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
  84. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
  85. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/langraph_agent.py +0 -0
  86. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
  87. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
  88. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
  89. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
  90. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
  91. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/store_manager.py +0 -0
  92. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
  93. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
  94. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
  95. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
  96. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
  97. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
  98. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/tools/git.py +0 -0
  99. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/tools/log.py +0 -0
  100. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
  101. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/tools/state.py +0 -0
  102. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
  103. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
  104. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/langchain/utils.py +0 -0
  105. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/llms/__init__.py +0 -0
  106. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/llms/preloaded.py +0 -0
  107. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/toolkits/__init__.py +0 -0
  108. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/toolkits/application.py +0 -0
  109. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/toolkits/artifact.py +0 -0
  110. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/toolkits/configurations.py +0 -0
  111. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/toolkits/datasource.py +0 -0
  112. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/toolkits/prompt.py +0 -0
  113. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
  114. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/toolkits/tools.py +0 -0
  115. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
  116. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/__init__.py +0 -0
  117. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/agent.py +0 -0
  118. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/application.py +0 -0
  119. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/artifact.py +0 -0
  120. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/datasource.py +0 -0
  121. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/echo.py +0 -0
  122. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/function.py +0 -0
  123. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/graph.py +0 -0
  124. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
  125. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/llm.py +0 -0
  126. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/loop.py +0 -0
  127. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/loop_output.py +0 -0
  128. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
  129. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
  130. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/prompt.py +0 -0
  131. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/router.py +0 -0
  132. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/tool.py +0 -0
  133. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/tools/vectorstore.py +0 -0
  134. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
  135. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/utils/__init__.py +0 -0
  136. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/utils/constants.py +0 -0
  137. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/utils/evaluate.py +0 -0
  138. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/utils/logging.py +0 -0
  139. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
  140. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/utils/streamlit.py +0 -0
  141. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/utils/toolkit_runtime.py +0 -0
  142. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/utils/toolkit_utils.py +0 -0
  143. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/runtime/utils/utils.py +0 -0
  144. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/__init__.py +0 -0
  145. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/ado/__init__.py +0 -0
  146. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/ado/repos/__init__.py +0 -0
  147. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
  148. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/ado/test_plan/__init__.py +0 -0
  149. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +0 -0
  150. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/ado/utils.py +0 -0
  151. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/ado/wiki/__init__.py +0 -0
  152. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/ado/wiki/ado_wrapper.py +0 -0
  153. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/ado/work_item/__init__.py +0 -0
  154. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
  155. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
  156. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
  157. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/aws/__init__.py +0 -0
  158. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/aws/delta_lake/__init__.py +0 -0
  159. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/aws/delta_lake/api_wrapper.py +0 -0
  160. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/aws/delta_lake/schemas.py +0 -0
  161. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/aws/delta_lake/tool.py +0 -0
  162. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/azure_ai/__init__.py +0 -0
  163. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/azure_ai/search/__init__.py +0 -0
  164. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
  165. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/base/__init__.py +0 -0
  166. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/base/tool.py +0 -0
  167. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/bitbucket/__init__.py +0 -0
  168. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
  169. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
  170. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
  171. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/browser/__init__.py +0 -0
  172. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/browser/crawler.py +0 -0
  173. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
  174. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/browser/google_search_rag.py +0 -0
  175. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/browser/utils.py +0 -0
  176. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/browser/wiki.py +0 -0
  177. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/__init__.py +0 -0
  178. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
  179. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
  180. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
  181. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
  182. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
  183. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
  184. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
  185. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
  186. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
  187. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
  188. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
  189. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/tools.py +0 -0
  190. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
  191. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
  192. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/carrier/utils.py +0 -0
  193. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/__init__.py +0 -0
  194. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
  195. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
  196. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/constants.py +0 -0
  197. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
  198. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
  199. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
  200. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
  201. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
  202. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
  203. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
  204. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
  205. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
  206. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
  207. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
  208. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
  209. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
  210. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
  211. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
  212. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/models.py +0 -0
  213. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
  214. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
  215. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/sematic/json_chunker.py +0 -0
  216. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
  217. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
  218. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
  219. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/chunkers/utils.py +0 -0
  220. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/cloud/__init__.py +0 -0
  221. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
  222. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
  223. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
  224. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
  225. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
  226. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
  227. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
  228. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
  229. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/code/__init__.py +0 -0
  230. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/code/linter/__init__.py +0 -0
  231. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
  232. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
  233. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/code/sonar/__init__.py +0 -0
  234. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
  235. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/confluence/__init__.py +0 -0
  236. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
  237. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/confluence/loader.py +0 -0
  238. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/confluence/utils.py +0 -0
  239. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
  240. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
  241. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/elastic/__init__.py +0 -0
  242. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
  243. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/elitea_base.py +0 -0
  244. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/figma/__init__.py +0 -0
  245. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/github/__init__.py +0 -0
  246. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/github/api_wrapper.py +0 -0
  247. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/github/github_client.py +0 -0
  248. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
  249. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/github/schemas.py +0 -0
  250. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/github/tool.py +0 -0
  251. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/github/tool_prompts.py +0 -0
  252. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
  253. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/gitlab/tools.py +0 -0
  254. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/gitlab/utils.py +0 -0
  255. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
  256. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
  257. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/gmail/__init__.py +0 -0
  258. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
  259. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/gmail/utils.py +0 -0
  260. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/google/__init__.py +0 -0
  261. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/google/bigquery/__init__.py +0 -0
  262. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/google/bigquery/api_wrapper.py +0 -0
  263. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/google/bigquery/schemas.py +0 -0
  264. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/google/bigquery/tool.py +0 -0
  265. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/google_places/__init__.py +0 -0
  266. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
  267. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/jira/__init__.py +0 -0
  268. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/jira/api_wrapper.py +0 -0
  269. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/keycloak/__init__.py +0 -0
  270. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
  271. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/llm/__init__.py +0 -0
  272. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/llm/img_utils.py +0 -0
  273. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/llm/llm_utils.py +0 -0
  274. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/localgit/__init__.py +0 -0
  275. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/localgit/local_git.py +0 -0
  276. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/localgit/tool.py +0 -0
  277. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/memory/__init__.py +0 -0
  278. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/non_code_indexer_toolkit.py +0 -0
  279. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/ocr/__init__.py +0 -0
  280. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
  281. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/ocr/text_detection.py +0 -0
  282. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/openapi/__init__.py +0 -0
  283. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/__init__.py +0 -0
  284. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
  285. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
  286. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
  287. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
  288. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
  289. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
  290. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
  291. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
  292. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
  293. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
  294. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
  295. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
  296. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
  297. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
  298. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
  299. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
  300. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
  301. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
  302. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/postman/__init__.py +0 -0
  303. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/postman/api_wrapper.py +0 -0
  304. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/postman/postman_analysis.py +0 -0
  305. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pptx/__init__.py +0 -0
  306. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
  307. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/qtest/__init__.py +0 -0
  308. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/qtest/api_wrapper.py +0 -0
  309. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/qtest/tool.py +0 -0
  310. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/rally/__init__.py +0 -0
  311. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/rally/api_wrapper.py +0 -0
  312. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/report_portal/__init__.py +0 -0
  313. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
  314. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
  315. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/salesforce/__init__.py +0 -0
  316. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
  317. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/salesforce/model.py +0 -0
  318. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/servicenow/__init__.py +0 -0
  319. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
  320. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
  321. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/sharepoint/__init__.py +0 -0
  322. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/sharepoint/api_wrapper.py +0 -0
  323. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
  324. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/sharepoint/utils.py +0 -0
  325. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/slack/__init__.py +0 -0
  326. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/slack/api_wrapper.py +0 -0
  327. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/sql/__init__.py +0 -0
  328. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/sql/api_wrapper.py +0 -0
  329. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/sql/models.py +0 -0
  330. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/testio/__init__.py +0 -0
  331. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/testio/api_wrapper.py +0 -0
  332. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/testrail/__init__.py +0 -0
  333. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/utils/__init__.py +0 -0
  334. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/utils/available_tools_decorator.py +0 -0
  335. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/utils/content_parser.py +0 -0
  336. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/vector_adapters/VectorStoreAdapter.py +0 -0
  337. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/vector_adapters/__init__.py +0 -0
  338. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/xray/__init__.py +0 -0
  339. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/xray/api_wrapper.py +0 -0
  340. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/yagmail/__init__.py +0 -0
  341. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
  342. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
  343. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr/__init__.py +0 -0
  344. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
  345. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr/rest_client.py +0 -0
  346. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +0 -0
  347. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
  348. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr_essential/__init__.py +0 -0
  349. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr_essential/client.py +0 -0
  350. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
  351. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -0
  352. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr_squad/__init__.py +0 -0
  353. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -0
  354. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +0 -0
  355. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk.egg-info/SOURCES.txt +0 -0
  356. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk.egg-info/dependency_links.txt +0 -0
  357. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk.egg-info/requires.txt +0 -0
  358. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/alita_sdk.egg-info/top_level.txt +0 -0
  359. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/setup.cfg +0 -0
  360. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/tests/test_ado_analysis.py +0 -0
  361. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/tests/test_github_analysis.py +0 -0
  362. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/tests/test_gitlab_analysis.py +0 -0
  363. {alita_sdk-0.3.283 → alita_sdk-0.3.285}/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.283
3
+ Version: 0.3.285
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
@@ -587,7 +587,7 @@ class VectorStoreWrapperBase(BaseToolApiWrapper):
587
587
 
588
588
  try:
589
589
  dispatch_custom_event(
590
- name="thinking_step",
590
+ name="thinking_step_update",
591
591
  data={
592
592
  "message": message,
593
593
  "tool_name": tool_name,
@@ -158,15 +158,22 @@ class BaseIndexerToolkit(VectorStoreWrapperBase):
158
158
  if clean_index:
159
159
  self._clean_index(collection_suffix)
160
160
  #
161
+ self._log_tool_event(f"Indexing data into collection with suffix '{collection_suffix}'. It can take some time...")
162
+ self._log_tool_event(f"Loading the documents to index...{kwargs}")
161
163
  documents = self._base_loader(**kwargs)
164
+ self._log_tool_event(f"Base documents were loaded. "
165
+ f"Search for possible document duplicates and remove them from the indexing list...")
162
166
  documents = self._reduce_duplicates(documents, collection_suffix)
167
+ self._log_tool_event(f"Duplicates were removed. "
168
+ f"Processing documents to collect dependencies and prepare them for indexing...")
163
169
  documents = self._extend_data(documents) # update content of not-reduced base document if needed (for sharepoint and similar)
164
170
  documents = self._collect_dependencies(documents) # collect dependencies for base documents
171
+ self._log_tool_event(f"Documents were processed. "
172
+ f"Applying chunking tool '{chunking_tool}' if specified and preparing documents for indexing...")
165
173
  documents = self._apply_loaders_chunkers(documents, chunking_tool, chunking_config)
166
174
  list_documents = list(documents)
167
175
  self._clean_metadata(list_documents)
168
-
169
- #
176
+ self._log_tool_event(f"Documents are ready for indexing. Total documents to index: {len(list_documents)}")
170
177
  return self._save_index(list_documents, collection_suffix=collection_suffix, progress_step=progress_step)
171
178
 
172
179
  def _apply_loaders_chunkers(self, documents: Generator[Document, None, None], chunking_tool: str=None, chunking_config=None) -> Generator[Document, None, None]:
@@ -249,7 +249,9 @@ class FigmaApiWrapper(NonCodeIndexerToolkit):
249
249
  ) -> Generator[Document, None, None]:
250
250
  # If both include and exclude are provided, use only include
251
251
  if file_keys_include:
252
+ self._log_tool_event(f"Loading files: {file_keys_include}")
252
253
  for file_key in file_keys_include:
254
+ self._log_tool_event(f"Loading file `{file_key}`")
253
255
  file = self._client.get_file(file_key)
254
256
  if not file:
255
257
  raise ToolException(f"Unexpected error while retrieving file {file_key}. Probably file is under editing. Try again later.")
@@ -265,6 +267,7 @@ class FigmaApiWrapper(NonCodeIndexerToolkit):
265
267
  }
266
268
  yield Document(page_content=json.dumps(metadata), metadata=metadata)
267
269
  elif project_id:
270
+ self._log_tool_event(f"Loading project files from project `{project_id}`")
268
271
  files = json.loads(self.get_project_files(project_id)).get('files', [])
269
272
  for file in files:
270
273
  if file_keys_exclude and file.get('key', '') in file_keys_exclude:
@@ -286,12 +289,14 @@ class FigmaApiWrapper(NonCodeIndexerToolkit):
286
289
 
287
290
  def _process_document(self, document: Document) -> Generator[Document, None, None]:
288
291
  file_key = document.metadata.get('id', '')
292
+ self._log_tool_event(f"Loading details (images) for `{file_key}`")
289
293
  #
290
294
  figma_pages = self._client.get_file(file_key).document.get('children', [])
291
295
  node_ids_include = document.metadata.pop('figma_pages_include', [])
292
296
  node_ids_exclude = document.metadata.pop('figma_pages_exclude', [])
293
297
  node_types_include = [t.lower() for t in document.metadata.pop('figma_nodes_include', [])]
294
298
  node_types_exclude = [t.lower() for t in document.metadata.pop('figma_nodes_exclude', [])]
299
+ self._log_tool_event(f"Included pages: {node_ids_include}. Excluded pages: {node_ids_exclude}.")
295
300
  if node_ids_include:
296
301
  figma_pages = [node for node in figma_pages if ('id' in node and node['id'].replace(':', '-') in node_ids_include)]
297
302
  elif node_ids_exclude:
@@ -310,7 +315,12 @@ class FigmaApiWrapper(NonCodeIndexerToolkit):
310
315
  ]
311
316
 
312
317
  images = self._client.get_file_images(file_key, node_ids).images or {}
313
- for node_id, image_url in images.items():
318
+ total_images = len(images)
319
+ if total_images == 0:
320
+ logging.info(f"No images found for file {file_key}.")
321
+ return
322
+ progress_step = max(1, total_images // 10)
323
+ for idx, (node_id, image_url) in enumerate(images.items(), 1):
314
324
  if not image_url:
315
325
  logging.warning(f"Image URL not found for node_id {node_id} in file {file_key}. Skipping.")
316
326
  continue
@@ -321,17 +331,22 @@ class FigmaApiWrapper(NonCodeIndexerToolkit):
321
331
  extension = f".{content_type.split('/')[-1]}" if content_type.startswith('image') else '.txt'
322
332
  page_content = load_content_from_bytes(
323
333
  file_content=response.content,
324
- extension=extension, llm = self.llm)
334
+ extension=extension, llm=self.llm)
325
335
  yield Document(
326
- page_content=page_content,
327
- metadata={
328
- 'id': file_key,
329
- 'updated_on': document.metadata.get('updated_on', ''),
330
- 'file_key': file_key,
331
- 'node_id': node_id,
332
- 'image_url': image_url
333
- }
334
- )
336
+ page_content=page_content,
337
+ metadata={
338
+ 'id': node_id,
339
+ 'updated_on': document.metadata.get('updated_on', ''),
340
+ 'file_key': file_key,
341
+ 'node_id': node_id,
342
+ 'image_url': image_url
343
+ }
344
+ )
345
+ if idx % progress_step == 0 or idx == total_images:
346
+ percent = int((idx / total_images) * 100)
347
+ msg = f"Processed {idx}/{total_images} images ({percent}%) for file {file_key}."
348
+ logging.info(msg)
349
+ self._log_tool_event(msg)
335
350
 
336
351
  def _remove_metadata_keys(self):
337
352
  return super()._remove_metadata_keys() + ['figma_pages_include', 'figma_pages_exclude', 'figma_nodes_include', 'figma_nodes_exclude']
@@ -44,7 +44,7 @@ class AlitaGitlabToolkit(BaseToolkit):
44
44
  return create_model(
45
45
  name,
46
46
  repository=(str, Field(description="GitLab repository", json_schema_extra={'toolkit_name': True, 'max_toolkit_length': AlitaGitlabToolkit.toolkit_max_length})),
47
- gitlab_configuration=(Optional[GitlabConfiguration], Field(description="GitLab configuration", json_schema_extra={'configuration_types': ['gitlab']})),
47
+ gitlab_configuration=(GitlabConfiguration, Field(description="GitLab configuration", json_schema_extra={'configuration_types': ['gitlab']})),
48
48
  branch=(str, Field(description="Main branch", default="main")),
49
49
  # indexer settings
50
50
  pgvector_configuration=(Optional[PgVectorConfiguration], Field(default = None,
@@ -1,8 +1,9 @@
1
1
  import json
2
2
  import logging
3
- from typing import Dict, List, Optional, Union, Any, Generator
3
+ from typing import Dict, List, Literal, Optional, Union, Any, Generator
4
4
 
5
5
  import pandas as pd
6
+ from langchain_core.documents import Document
6
7
  from langchain_core.tools import ToolException
7
8
  from openai import BadRequestError
8
9
  from pydantic import SecretStr, create_model, model_validator
@@ -10,11 +11,9 @@ from pydantic.fields import Field, PrivateAttr
10
11
  from testrail_api import StatusCodeError, TestRailAPI
11
12
 
12
13
  from ..chunkers.code.constants import get_file_extension
13
- from ..elitea_base import BaseVectorStoreToolApiWrapper, extend_with_vector_tools
14
- from langchain_core.documents import Document
15
-
14
+ from ..non_code_indexer_toolkit import NonCodeIndexerToolkit
15
+ from ..utils.available_tools_decorator import extend_with_parent_available_tools
16
16
  from ...runtime.utils.utils import IndexerKeywords
17
- from ..utils.content_parser import parse_file_content
18
17
 
19
18
  try:
20
19
  from alita_sdk.runtime.langchain.interfaces.llm_processor import get_embeddings
@@ -301,7 +300,7 @@ SUPPORTED_KEYS = {
301
300
  }
302
301
 
303
302
 
304
- class TestrailAPIWrapper(BaseVectorStoreToolApiWrapper):
303
+ class TestrailAPIWrapper(NonCodeIndexerToolkit):
305
304
  url: str
306
305
  password: Optional[SecretStr] = None,
307
306
  email: Optional[str] = None,
@@ -322,7 +321,7 @@ class TestrailAPIWrapper(BaseVectorStoreToolApiWrapper):
322
321
  password = values.get("password")
323
322
  email = values.get("email")
324
323
  cls._client = TestRailAPI(url, email, password)
325
- return values
324
+ return super().validate_toolkit(values)
326
325
 
327
326
  def add_cases(self, add_test_cases_data: str):
328
327
  """Adds new test cases into Testrail per defined parameters.
@@ -537,6 +536,7 @@ class TestrailAPIWrapper(BaseVectorStoreToolApiWrapper):
537
536
  suite_id: Optional[str] = None,
538
537
  section_id: Optional[int] = None,
539
538
  title_keyword: Optional[str] = None,
539
+ chunking_tool: str = None,
540
540
  **kwargs: Any
541
541
  ) -> Generator[Document, None, None]:
542
542
  self._include_attachments = kwargs.get('include_attachments', False)
@@ -558,7 +558,7 @@ class TestrailAPIWrapper(BaseVectorStoreToolApiWrapper):
558
558
  cases = [case for case in cases if title_keyword.lower() in case.get('title', '').lower()]
559
559
 
560
560
  for case in cases:
561
- yield Document(page_content=json.dumps(case), metadata={
561
+ metadata = {
562
562
  'project_id': project_id,
563
563
  'title': case.get('title', ''),
564
564
  'suite_id': suite_id or case.get('suite_id', ''),
@@ -572,7 +572,14 @@ class TestrailAPIWrapper(BaseVectorStoreToolApiWrapper):
572
572
  'automation_type': case.get('custom_automation_type') or -1,
573
573
  'section_id': case.get('section_id') or -1,
574
574
  'entity_type': 'test_case',
575
- })
575
+ }
576
+ if chunking_tool:
577
+ # content is in metadata for chunking tool post-processing
578
+ metadata[IndexerKeywords.CONTENT_IN_BYTES.value] = json.dumps(case).encode("utf-8")
579
+ page_content = ""
580
+ else:
581
+ page_content = json.dumps(case)
582
+ yield Document(page_content=page_content, metadata=metadata)
576
583
 
577
584
  def _process_document(self, document: Document) -> Generator[Document, None, None]:
578
585
  """
@@ -605,24 +612,23 @@ class TestrailAPIWrapper(BaseVectorStoreToolApiWrapper):
605
612
  continue
606
613
 
607
614
  attachment_id = f"attach_{attachment['id']}"
608
- # add attachment id to metadata of parent
609
- document.metadata.setdefault(IndexerKeywords.DEPENDENT_DOCS.value, []).append(attachment_id)
610
- # TODO: pass it to chunkers
611
- yield Document(page_content=self._process_attachment(attachment),
615
+ file_name, content_bytes = self._process_attachment(attachment)
616
+ yield Document(page_content="",
612
617
  metadata={
613
618
  'project_id': base_data.get('project_id', ''),
614
619
  'id': str(attachment_id),
615
- IndexerKeywords.PARENT.value: str(case_id),
616
620
  'filename': attachment['filename'],
617
621
  'filetype': attachment['filetype'],
618
622
  'created_on': attachment['created_on'],
619
623
  'entity_type': 'test_case_attachment',
620
624
  'is_image': attachment['is_image'],
625
+ IndexerKeywords.CONTENT_FILE_NAME.value: file_name,
626
+ IndexerKeywords.CONTENT_IN_BYTES.value: content_bytes
621
627
  })
622
628
  except json.JSONDecodeError as e:
623
629
  raise ToolException(f"Failed to decode JSON from document: {e}")
624
630
 
625
- def _process_attachment(self, attachment: Dict[str, Any]) -> str:
631
+ def _process_attachment(self, attachment: Dict[str, Any]) -> tuple[Any, bytes]:
626
632
  """
627
633
  Processes an attachment to extract its content.
628
634
 
@@ -639,12 +645,11 @@ class TestrailAPIWrapper(BaseVectorStoreToolApiWrapper):
639
645
  else:
640
646
  try:
641
647
  attachment_path = self._client.attachments.get_attachment(attachment_id=attachment['id'], path=f"./{attachment['filename']}")
642
- page_content = parse_file_content(file_name=attachment['filename'], file_content=attachment_path.read_bytes(), llm=self.llm, is_capture_image=True)
643
648
  except BadRequestError as ai_e:
644
649
  logger.error(f"Unable to parse page's content with type: {attachment['filetype']} due to AI service issues: {ai_e}")
645
650
  except Exception as e:
646
651
  logger.error(f"Unable to parse page's content with type: {attachment['filetype']}: {e}")
647
- return page_content
652
+ return (attachment['filename'], attachment_path.read_bytes())
648
653
 
649
654
  def _index_tool_params(self):
650
655
  return {
@@ -658,6 +663,7 @@ class TestrailAPIWrapper(BaseVectorStoreToolApiWrapper):
658
663
  'skip_attachment_extensions': (Optional[List[str]], Field(
659
664
  description="List of file extensions to skip when processing attachments: i.e. ['.png', '.jpg']",
660
665
  default=[])),
666
+ 'chunking_tool':(Literal['json'], Field(description="Name of chunking tool", default='json'))
661
667
  }
662
668
 
663
669
  def _to_markup(self, data: List[Dict], output_format: str) -> str:
@@ -687,7 +693,7 @@ class TestrailAPIWrapper(BaseVectorStoreToolApiWrapper):
687
693
  if output_format == "markdown":
688
694
  return df.to_markdown(index=False)
689
695
 
690
- @extend_with_vector_tools
696
+ @extend_with_parent_available_tools
691
697
  def get_available_tools(self):
692
698
  tools = [
693
699
  {
@@ -43,7 +43,8 @@ class ZephyrEnterpriseToolkit(BaseToolkit):
43
43
  default=None)),
44
44
  # embedder settings
45
45
  embedding_model=(Optional[str], Field(default=None, description="Embedding configuration.", json_schema_extra={'configuration_model': 'embedding'})),
46
- selected_tools=(List[Literal[tuple(selected_tools)]], []),
46
+ selected_tools=(List[Literal[tuple(selected_tools)]],
47
+ Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
47
48
  __config__=ConfigDict(json_schema_extra={
48
49
  'metadata': {
49
50
  "label": "Zephyr Enterprise", "icon_url": "zephyr.svg",
@@ -179,12 +179,43 @@ class ZephyrEssentialApiWrapper(NonCodeIndexerToolkit):
179
179
  def create_folder(self, json: str):
180
180
  """Create a new folder."""
181
181
  folder_data = self._parse_json(json)
182
+ if 'parentId' not in folder_data:
183
+ if 'parentName' in folder_data:
184
+ parent_folder_name = folder_data['parentName']
185
+
186
+ parent_folder = self.find_folder_by_name(parent_folder_name)
187
+
188
+ if isinstance(parent_folder, ToolException):
189
+ return ToolException(f"Folder with name '{parent_folder_name}' not found.")
190
+ else:
191
+ folder_data['parentId'] = parent_folder['id']
192
+
182
193
  return self._client.create_folder(folder_data)
183
194
 
184
195
  def get_folder(self, folder_id: str):
185
196
  """Retrieve details of a specific folder."""
186
197
  return self._client.get_folder(folder_id)
187
198
 
199
+ def find_folder_by_name(self, name: str, project_key: Optional[str] = None, folder_type: Optional[str] = None):
200
+ """
201
+ Find a folder by its name, ignoring case.
202
+
203
+ :param name: The name of the folder to search for.
204
+ :param project_key: Optional filter by project key.
205
+ :param folder_type: Optional filter by folder type.
206
+ :return: The folder details if found, otherwise None.
207
+ """
208
+ # Fetch all folders with optional filters
209
+ folders = self.list_folders(project_key=project_key, folder_type=folder_type)
210
+
211
+ # Iterate through the folders and search for the matching name
212
+ for folder in folders['values']:
213
+ if folder.get('name', '').lower() == name.lower():
214
+ return folder
215
+
216
+ # Return None if no folder is found
217
+ return ToolException(f"Folder with name {name} was not found")
218
+
188
219
  def delete_link(self, link_id: str):
189
220
  """Delete a specific link."""
190
221
  return self._client.delete_link(link_id)
@@ -482,6 +513,12 @@ class ZephyrEssentialApiWrapper(NonCodeIndexerToolkit):
482
513
  "args_schema": GetFolder,
483
514
  "ref": self.get_folder,
484
515
  },
516
+ {
517
+ "name": "find_folder_by_name",
518
+ "description": self.find_folder_by_name.__doc__,
519
+ "args_schema": FindFolderByName,
520
+ "ref": self.find_folder_by_name,
521
+ },
485
522
  {
486
523
  "name": "delete_link",
487
524
  "description": self.delete_link.__doc__,
@@ -879,11 +916,12 @@ CreateFolder = create_model(
879
916
  JSON body to create a folder. Example:
880
917
  {
881
918
  "parentId": 123456,
919
+ "parentName": "parentFolder",
882
920
  "name": "ZephyrEssential_test",
883
921
  "projectKey": "PRJ",
884
922
  "folderType": "TEST_CASE"
885
923
  }
886
- Possible folder types: "TEST_CASE", "TEST_PLAN", "TEST_CYCLE"
924
+ Possible folder types: "TEST_CASE", "TEST_PLAN", "TEST_CYCLE",
887
925
  """
888
926
  )))
889
927
  )
@@ -893,6 +931,14 @@ GetFolder = create_model(
893
931
  folder_id=(str, Field(description="ID of the folder to retrieve."))
894
932
  )
895
933
 
934
+ FindFolderByName = create_model(
935
+ "GetFolder",
936
+ name=(str, Field(description="Name of the folder to retrieve.")),
937
+ project_key=(Optional[str], Field(description="Project key", default=None)),
938
+ folder_type=(Optional[str], Field(description="""Folder type. Possible values: "TEST_CASE", "TEST_PLAN", "TEST_CYCLE" """,
939
+ default=None)),
940
+ )
941
+
896
942
  DeleteLink = create_model(
897
943
  "DeleteLink",
898
944
  link_id=(str, Field(description="ID of the link to delete."))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.283
3
+ Version: 0.3.285
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "alita_sdk"
7
- version = "0.3.283"
7
+ version = "0.3.285"
8
8
  description = "SDK for building langchain agents using resources from Alita"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
File without changes
File without changes