alita-sdk 0.3.270__tar.gz → 0.3.272__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.270 → alita_sdk-0.3.272}/PKG-INFO +1 -1
  2. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/__init__.py +10 -0
  3. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/ado.py +4 -2
  4. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/azure_search.py +1 -1
  5. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/bigquery.py +1 -1
  6. alita_sdk-0.3.272/alita_sdk/configurations/browser.py +18 -0
  7. alita_sdk-0.3.272/alita_sdk/configurations/carrier.py +19 -0
  8. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/delta_lake.py +1 -1
  9. alita_sdk-0.3.272/alita_sdk/configurations/google_places.py +17 -0
  10. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/postman.py +1 -1
  11. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/qtest.py +1 -3
  12. alita_sdk-0.3.272/alita_sdk/configurations/report_portal.py +19 -0
  13. alita_sdk-0.3.272/alita_sdk/configurations/salesforce.py +19 -0
  14. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/service_now.py +1 -12
  15. alita_sdk-0.3.272/alita_sdk/configurations/sharepoint.py +19 -0
  16. alita_sdk-0.3.272/alita_sdk/configurations/sonar.py +18 -0
  17. alita_sdk-0.3.272/alita_sdk/configurations/sql.py +20 -0
  18. alita_sdk-0.3.272/alita_sdk/configurations/testio.py +18 -0
  19. alita_sdk-0.3.272/alita_sdk/configurations/zephyr_essential.py +18 -0
  20. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +1 -1
  21. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaPDFLoader.py +19 -6
  22. alita_sdk-0.3.272/alita_sdk/runtime/langchain/document_loaders/ImageParser.py +17 -0
  23. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/vectorstore.py +21 -5
  24. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/vectorstore_base.py +4 -1
  25. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/aws/delta_lake/__init__.py +2 -2
  26. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/azure_ai/search/__init__.py +1 -1
  27. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/bitbucket/__init__.py +9 -4
  28. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/bitbucket/api_wrapper.py +1 -1
  29. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +5 -5
  30. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/browser/__init__.py +14 -10
  31. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/__init__.py +11 -11
  32. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/code/sonar/__init__.py +10 -7
  33. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/confluence/__init__.py +1 -1
  34. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/figma/__init__.py +1 -1
  35. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/github/__init__.py +2 -2
  36. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/gitlab_org/__init__.py +1 -1
  37. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/google/bigquery/__init__.py +1 -1
  38. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/google_places/__init__.py +10 -5
  39. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/jira/__init__.py +1 -1
  40. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/jira/api_wrapper.py +140 -99
  41. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/qtest/__init__.py +1 -1
  42. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/rally/__init__.py +1 -1
  43. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/report_portal/__init__.py +9 -8
  44. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/salesforce/__init__.py +9 -8
  45. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/servicenow/__init__.py +1 -1
  46. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/sharepoint/__init__.py +5 -7
  47. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/slack/__init__.py +1 -1
  48. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/sql/__init__.py +9 -11
  49. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/testio/__init__.py +9 -6
  50. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/utils/content_parser.py +59 -24
  51. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr_enterprise/__init__.py +1 -1
  52. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr_essential/__init__.py +4 -3
  53. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr_essential/api_wrapper.py +42 -10
  54. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr_scale/__init__.py +1 -1
  55. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk.egg-info/PKG-INFO +1 -1
  56. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk.egg-info/SOURCES.txt +11 -0
  57. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/pyproject.toml +1 -1
  58. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/LICENSE +0 -0
  59. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/README.md +0 -0
  60. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/__init__.py +0 -0
  61. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/community/__init__.py +0 -0
  62. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/community/utils.py +0 -0
  63. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/bitbucket.py +0 -0
  64. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/confluence.py +0 -0
  65. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/embedding.py +0 -0
  66. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/figma.py +0 -0
  67. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/github.py +0 -0
  68. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/gitlab.py +0 -0
  69. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/jira.py +0 -0
  70. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/pgvector.py +0 -0
  71. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/rally.py +0 -0
  72. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/slack.py +0 -0
  73. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/testrail.py +0 -0
  74. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/xray.py +0 -0
  75. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/zephyr.py +0 -0
  76. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/configurations/zephyr_enterprise.py +0 -0
  77. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/__init__.py +0 -0
  78. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/clients/__init__.py +0 -0
  79. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/clients/artifact.py +0 -0
  80. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/clients/client.py +0 -0
  81. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/clients/datasource.py +0 -0
  82. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/clients/prompt.py +0 -0
  83. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/__init__.py +0 -0
  84. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
  85. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
  86. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/assistant.py +0 -0
  87. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
  88. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/constants.py +0 -0
  89. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
  90. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
  91. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
  92. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
  93. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
  94. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
  95. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
  96. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaJSONLoader.py +0 -0
  97. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
  98. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaPowerPointLoader.py +0 -0
  99. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
  100. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
  101. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/AlitaTextLoader.py +0 -0
  102. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
  103. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
  104. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
  105. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/indexer.py +0 -0
  106. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
  107. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
  108. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
  109. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
  110. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
  111. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/langraph_agent.py +0 -0
  112. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
  113. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
  114. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
  115. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
  116. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
  117. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/store_manager.py +0 -0
  118. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
  119. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
  120. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
  121. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
  122. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
  123. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
  124. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/tools/git.py +0 -0
  125. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/tools/log.py +0 -0
  126. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
  127. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/tools/state.py +0 -0
  128. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
  129. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
  130. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/langchain/utils.py +0 -0
  131. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/llms/__init__.py +0 -0
  132. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/llms/preloaded.py +0 -0
  133. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/toolkits/__init__.py +0 -0
  134. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/toolkits/application.py +0 -0
  135. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/toolkits/artifact.py +0 -0
  136. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/toolkits/configurations.py +0 -0
  137. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/toolkits/datasource.py +0 -0
  138. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/toolkits/prompt.py +0 -0
  139. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
  140. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/toolkits/tools.py +0 -0
  141. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
  142. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/__init__.py +0 -0
  143. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/agent.py +0 -0
  144. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/application.py +0 -0
  145. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/artifact.py +0 -0
  146. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/datasource.py +0 -0
  147. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/echo.py +0 -0
  148. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/function.py +0 -0
  149. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/graph.py +0 -0
  150. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
  151. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/llm.py +0 -0
  152. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/loop.py +0 -0
  153. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/loop_output.py +0 -0
  154. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
  155. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
  156. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/prompt.py +0 -0
  157. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/router.py +0 -0
  158. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/tools/tool.py +0 -0
  159. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
  160. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/utils/__init__.py +0 -0
  161. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/utils/constants.py +0 -0
  162. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/utils/evaluate.py +0 -0
  163. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/utils/logging.py +0 -0
  164. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
  165. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/utils/streamlit.py +0 -0
  166. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/utils/toolkit_runtime.py +0 -0
  167. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/utils/toolkit_utils.py +0 -0
  168. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/runtime/utils/utils.py +0 -0
  169. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/__init__.py +0 -0
  170. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/ado/__init__.py +0 -0
  171. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/ado/repos/__init__.py +0 -0
  172. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
  173. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/ado/test_plan/__init__.py +0 -0
  174. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +0 -0
  175. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/ado/utils.py +0 -0
  176. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/ado/wiki/__init__.py +0 -0
  177. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/ado/wiki/ado_wrapper.py +0 -0
  178. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/ado/work_item/__init__.py +0 -0
  179. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
  180. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
  181. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
  182. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/aws/__init__.py +0 -0
  183. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/aws/delta_lake/api_wrapper.py +0 -0
  184. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/aws/delta_lake/schemas.py +0 -0
  185. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/aws/delta_lake/tool.py +0 -0
  186. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/azure_ai/__init__.py +0 -0
  187. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
  188. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/base/__init__.py +0 -0
  189. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/base/tool.py +0 -0
  190. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/base_indexer_toolkit.py +0 -0
  191. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
  192. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/browser/crawler.py +0 -0
  193. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
  194. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/browser/google_search_rag.py +0 -0
  195. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/browser/utils.py +0 -0
  196. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/browser/wiki.py +0 -0
  197. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
  198. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
  199. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
  200. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
  201. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
  202. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
  203. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
  204. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
  205. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
  206. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
  207. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
  208. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/tools.py +0 -0
  209. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
  210. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
  211. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/carrier/utils.py +0 -0
  212. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/__init__.py +0 -0
  213. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
  214. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
  215. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/constants.py +0 -0
  216. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
  217. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
  218. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
  219. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
  220. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
  221. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
  222. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
  223. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
  224. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
  225. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
  226. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
  227. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
  228. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
  229. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
  230. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
  231. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/models.py +0 -0
  232. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
  233. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
  234. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/sematic/json_chunker.py +0 -0
  235. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
  236. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
  237. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
  238. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/chunkers/utils.py +0 -0
  239. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/cloud/__init__.py +0 -0
  240. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
  241. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
  242. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
  243. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
  244. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
  245. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
  246. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
  247. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
  248. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/code/__init__.py +0 -0
  249. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/code/linter/__init__.py +0 -0
  250. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
  251. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
  252. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
  253. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
  254. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/confluence/loader.py +0 -0
  255. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/confluence/utils.py +0 -0
  256. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
  257. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
  258. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/elastic/__init__.py +0 -0
  259. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
  260. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/elitea_base.py +0 -0
  261. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/figma/api_wrapper.py +0 -0
  262. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/github/api_wrapper.py +0 -0
  263. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/github/github_client.py +0 -0
  264. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
  265. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/github/schemas.py +0 -0
  266. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/github/tool.py +0 -0
  267. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/github/tool_prompts.py +0 -0
  268. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/gitlab/__init__.py +0 -0
  269. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
  270. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/gitlab/tools.py +0 -0
  271. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/gitlab/utils.py +0 -0
  272. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
  273. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/gmail/__init__.py +0 -0
  274. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
  275. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/gmail/utils.py +0 -0
  276. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/google/__init__.py +0 -0
  277. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/google/bigquery/api_wrapper.py +0 -0
  278. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/google/bigquery/schemas.py +0 -0
  279. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/google/bigquery/tool.py +0 -0
  280. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
  281. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/keycloak/__init__.py +0 -0
  282. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
  283. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/llm/__init__.py +0 -0
  284. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/llm/img_utils.py +0 -0
  285. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/llm/llm_utils.py +0 -0
  286. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/localgit/__init__.py +0 -0
  287. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/localgit/local_git.py +0 -0
  288. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/localgit/tool.py +0 -0
  289. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/memory/__init__.py +0 -0
  290. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/non_code_indexer_toolkit.py +0 -0
  291. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/ocr/__init__.py +0 -0
  292. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
  293. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/ocr/text_detection.py +0 -0
  294. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/openapi/__init__.py +0 -0
  295. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/__init__.py +0 -0
  296. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
  297. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
  298. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
  299. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
  300. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
  301. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
  302. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
  303. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
  304. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
  305. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
  306. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
  307. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
  308. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
  309. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
  310. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
  311. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
  312. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
  313. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
  314. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/postman/__init__.py +0 -0
  315. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/postman/api_wrapper.py +0 -0
  316. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/postman/postman_analysis.py +0 -0
  317. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pptx/__init__.py +0 -0
  318. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
  319. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/qtest/api_wrapper.py +0 -0
  320. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/qtest/tool.py +0 -0
  321. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/rally/api_wrapper.py +0 -0
  322. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
  323. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
  324. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
  325. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/salesforce/model.py +0 -0
  326. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
  327. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
  328. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/sharepoint/api_wrapper.py +0 -0
  329. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
  330. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/sharepoint/utils.py +0 -0
  331. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/slack/api_wrapper.py +0 -0
  332. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/sql/api_wrapper.py +0 -0
  333. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/sql/models.py +0 -0
  334. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/testio/api_wrapper.py +0 -0
  335. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/testrail/__init__.py +0 -0
  336. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
  337. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/utils/__init__.py +0 -0
  338. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/utils/available_tools_decorator.py +0 -0
  339. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/vector_adapters/VectorStoreAdapter.py +0 -0
  340. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/vector_adapters/__init__.py +0 -0
  341. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/xray/__init__.py +0 -0
  342. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/xray/api_wrapper.py +0 -0
  343. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/yagmail/__init__.py +0 -0
  344. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
  345. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
  346. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr/__init__.py +0 -0
  347. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
  348. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr/rest_client.py +0 -0
  349. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +0 -0
  350. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
  351. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr_essential/client.py +0 -0
  352. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -0
  353. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr_squad/__init__.py +0 -0
  354. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -0
  355. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +0 -0
  356. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk.egg-info/dependency_links.txt +0 -0
  357. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk.egg-info/requires.txt +0 -0
  358. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/alita_sdk.egg-info/top_level.txt +0 -0
  359. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/setup.cfg +0 -0
  360. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/tests/test_ado_analysis.py +0 -0
  361. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/tests/test_github_analysis.py +0 -0
  362. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/tests/test_gitlab_analysis.py +0 -0
  363. {alita_sdk-0.3.270 → alita_sdk-0.3.272}/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.270
3
+ Version: 0.3.272
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
@@ -41,8 +41,18 @@ _safe_import_configuration('bigquery', 'bigquery', 'BigQueryConfiguration')
41
41
  _safe_import_configuration('xray', 'xray', 'XrayConfiguration')
42
42
  _safe_import_configuration('zephyr', 'zephyr', 'ZephyrConfiguration')
43
43
  _safe_import_configuration('zephyr_enterprise', 'zephyr_enterprise', 'ZephyrEnterpriseConfiguration')
44
+ _safe_import_configuration('zephyr_essential', 'zephyr_essential', 'ZephyrEssentialConfiguration')
44
45
  _safe_import_configuration('figma', 'figma', 'FigmaConfiguration')
45
46
  _safe_import_configuration('rally', 'rally', 'RallyConfiguration')
47
+ _safe_import_configuration('sonar', 'sonar', 'SonarConfiguration')
48
+ _safe_import_configuration('sql', 'sql', 'SqlConfiguration')
49
+ _safe_import_configuration('google_places', 'google_places', 'GooglePlacesConfiguration')
50
+ _safe_import_configuration('salesforce', 'salesforce', 'SalesforceConfiguration')
51
+ _safe_import_configuration('browser', 'browser', 'BrowserConfiguration')
52
+ _safe_import_configuration('sharepoint', 'sharepoint', 'SharepointConfiguration')
53
+ _safe_import_configuration('carrier', 'carrier', 'CarrierConfiguration')
54
+ _safe_import_configuration('report_portal', 'report_portal', 'ReportPortalConfiguration')
55
+ _safe_import_configuration('testio', 'testio', 'TestIOConfiguration')
46
56
 
47
57
  # Log import summary
48
58
  available_count = len(AVAILABLE_CONFIGURATIONS)
@@ -10,7 +10,8 @@ class AdoConfiguration(BaseModel):
10
10
  "label": "Ado",
11
11
  "icon_url": None,
12
12
  "section": "credentials",
13
- "type": "ado"
13
+ "type": "ado",
14
+ "categories": ["project management"],
14
15
  }
15
16
  }
16
17
  )
@@ -26,7 +27,8 @@ class AdoReposConfiguration(BaseModel):
26
27
  "label": "ADO repos",
27
28
  "icon_url": "ado-repos-icon.svg",
28
29
  "section": "credentials",
29
- "type": "ado_repos"
30
+ "type": "ado_repos",
31
+ "categories": ["code repositories"],
30
32
  }
31
33
  }
32
34
  )
@@ -12,7 +12,7 @@ class AzureSearchConfiguration(BaseModel):
12
12
  "hidden": True,
13
13
  "section": "credentials",
14
14
  "type": "azure_search",
15
- "categories": ["search"],
15
+ "categories": ["other"],
16
16
  "extra_categories": ["azure", "cognitive search", "vector database", "knowledge base"],
17
17
  }
18
18
  }
@@ -12,7 +12,7 @@ class BigQueryConfiguration(BaseModel):
12
12
  "hidden": True,
13
13
  "section": "credentials",
14
14
  "type": "bigquery",
15
- "categories": ["database"],
15
+ "categories": ["other"],
16
16
  "extra_categories": ["google", "gcp", "data warehouse", "analytics"],
17
17
  }
18
18
  }
@@ -0,0 +1,18 @@
1
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
2
+
3
+
4
+ class BrowserConfiguration(BaseModel):
5
+ model_config = ConfigDict(
6
+ json_schema_extra={
7
+ "metadata": {
8
+ "label": "Browser",
9
+ "icon_url": "browser.svg",
10
+ "section": "credentials",
11
+ "type": "browser",
12
+ "categories": ["testing"],
13
+ "extra_categories": ["browser", "google", "search", "web"],
14
+ }
15
+ }
16
+ )
17
+ google_cse_id: str = Field(description="Google CSE id", default=None)
18
+ google_api_key: SecretStr = Field(description="Google API key", default=None, json_schema_extra={'secret': True})
@@ -0,0 +1,19 @@
1
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
2
+
3
+
4
+ class CarrierConfiguration(BaseModel):
5
+ model_config = ConfigDict(
6
+ json_schema_extra={
7
+ "metadata": {
8
+ "label": "Carrier",
9
+ "icon_url": "carrier.svg",
10
+ "section": "credentials",
11
+ "type": "carrier",
12
+ "categories": ["testing"],
13
+ "extra_categories": ["carrier", "security", "testing", "vulnerability"],
14
+ }
15
+ }
16
+ )
17
+ organization: str = Field(description="Carrier Organization")
18
+ url: str = Field(description="Carrier URL")
19
+ private_token: SecretStr = Field(description="Carrier Private Token")
@@ -12,7 +12,7 @@ class DeltaLakeConfiguration(BaseModel):
12
12
  "hidden": True,
13
13
  "section": "credentials",
14
14
  "type": "delta_lake",
15
- "categories": ["database"],
15
+ "categories": ["other"],
16
16
  "extra_categories": ["aws", "data lake", "analytics", "storage"],
17
17
  }
18
18
  }
@@ -0,0 +1,17 @@
1
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
2
+
3
+
4
+ class GooglePlacesConfiguration(BaseModel):
5
+ model_config = ConfigDict(
6
+ json_schema_extra={
7
+ "metadata": {
8
+ "label": "Google Places",
9
+ "icon_url": "google.svg",
10
+ "section": "credentials",
11
+ "type": "google_places",
12
+ "categories": ["other"],
13
+ "extra_categories": ["google", "places", "maps", "location", "geocoding"],
14
+ }
15
+ }
16
+ )
17
+ api_key: SecretStr = Field(description="Google Places API Key")
@@ -22,7 +22,7 @@ class PostmanConfiguration(BaseModel):
22
22
  },
23
23
  "section": "credentials",
24
24
  "type": "postman",
25
- "categories": ["api testing"],
25
+ "categories": ["other"],
26
26
  "extra_categories": ["postman", "api", "testing", "collection"],
27
27
  }
28
28
  }
@@ -1,5 +1,3 @@
1
- from typing import Optional
2
-
3
1
  from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
2
 
5
3
 
@@ -17,5 +15,5 @@ class QtestConfiguration(BaseModel):
17
15
  }
18
16
  )
19
17
  base_url: str = Field(description="QTest base url")
20
- qtest_api_token: Optional[SecretStr] = Field(description="QTest API token", default=None)
18
+ qtest_api_token: SecretStr = Field(description="QTest API token", default=None)
21
19
 
@@ -0,0 +1,19 @@
1
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
2
+
3
+
4
+ class ReportPortalConfiguration(BaseModel):
5
+ model_config = ConfigDict(
6
+ json_schema_extra={
7
+ "metadata": {
8
+ "label": "Report Portal",
9
+ "icon_url": "report_portal.svg",
10
+ "section": "credentials",
11
+ "type": "report_portal",
12
+ "categories": ["testing"],
13
+ "extra_categories": ["report portal", "testing", "automation", "reports"],
14
+ }
15
+ }
16
+ )
17
+ project: str = Field(description="Report Portal Project Name")
18
+ endpoint: str = Field(description="Report Portal Endpoint URL")
19
+ api_key: SecretStr = Field(description="Report Portal API Key")
@@ -0,0 +1,19 @@
1
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
2
+
3
+
4
+ class SalesforceConfiguration(BaseModel):
5
+ model_config = ConfigDict(
6
+ json_schema_extra={
7
+ "metadata": {
8
+ "label": "Salesforce",
9
+ "icon_url": "salesforce.svg",
10
+ "section": "credentials",
11
+ "type": "salesforce",
12
+ "categories": ["other"],
13
+ "extra_categories": ["salesforce", "crm", "sales", "customer"],
14
+ }
15
+ }
16
+ )
17
+ client_id: str = Field(description="Salesforce Client ID")
18
+ client_secret: SecretStr = Field(description="Salesforce Client Secret")
19
+ base_url: str = Field(description="Salesforce Base URL")
@@ -9,20 +9,9 @@ class ServiceNowConfiguration(BaseModel):
9
9
  "metadata": {
10
10
  "label": "ServiceNow",
11
11
  "icon_url": "servicenow.svg",
12
- "sections": {
13
- "auth": {
14
- "required": True,
15
- "subsections": [
16
- {
17
- "name": "Username & Password",
18
- "fields": ["username", "password"]
19
- }
20
- ]
21
- },
22
- },
23
12
  "section": "credentials",
24
13
  "type": "service_now",
25
- "categories": ["service management"],
14
+ "categories": ["other"],
26
15
  "extra_categories": ["servicenow", "itsm", "service management", "incident"],
27
16
  }
28
17
  }
@@ -0,0 +1,19 @@
1
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
2
+
3
+
4
+ class SharepointConfiguration(BaseModel):
5
+ model_config = ConfigDict(
6
+ json_schema_extra={
7
+ "metadata": {
8
+ "label": "SharePoint",
9
+ "icon_url": "sharepoint.svg",
10
+ "section": "credentials",
11
+ "type": "sharepoint",
12
+ "categories": ["office"],
13
+ "extra_categories": ["sharepoint", "microsoft", "documents", "collaboration"],
14
+ }
15
+ }
16
+ )
17
+ client_id: str = Field(description="SharePoint Client ID")
18
+ client_secret: SecretStr = Field(description="SharePoint Client Secret")
19
+ site_url: str = Field(description="SharePoint Site URL")
@@ -0,0 +1,18 @@
1
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
2
+
3
+
4
+ class SonarConfiguration(BaseModel):
5
+ model_config = ConfigDict(
6
+ json_schema_extra={
7
+ "metadata": {
8
+ "label": "Sonar",
9
+ "icon_url": "sonar-icon.svg",
10
+ "section": "credentials",
11
+ "type": "sonar",
12
+ "categories": ["development"],
13
+ "extra_categories": ["code quality", "code security", "code coverage", "quality", "sonarqube"],
14
+ }
15
+ }
16
+ )
17
+ url: str = Field(description="SonarQube Server URL")
18
+ sonar_token: SecretStr = Field(description="SonarQube user token for authentication")
@@ -0,0 +1,20 @@
1
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
2
+
3
+
4
+ class SqlConfiguration(BaseModel):
5
+ model_config = ConfigDict(
6
+ json_schema_extra={
7
+ "metadata": {
8
+ "label": "SQL Database",
9
+ "icon_url": "sql.svg",
10
+ "section": "credentials",
11
+ "type": "sql",
12
+ "categories": ["development"],
13
+ "extra_categories": ["sql", "database", "data", "query"],
14
+ }
15
+ }
16
+ )
17
+ host: str = Field(description="Database host")
18
+ port: int = Field(description="Database port")
19
+ username: str = Field(description="Database username")
20
+ password: SecretStr = Field(description="Database password", json_schema_extra={'secret': True})
@@ -0,0 +1,18 @@
1
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
2
+
3
+
4
+ class TestIOConfiguration(BaseModel):
5
+ model_config = ConfigDict(
6
+ json_schema_extra={
7
+ "metadata": {
8
+ "label": "TestIO",
9
+ "icon_url": "testio.svg",
10
+ "section": "credentials",
11
+ "type": "testio",
12
+ "categories": ["testing"],
13
+ "extra_categories": ["testio", "testing", "crowd testing", "qa"],
14
+ }
15
+ }
16
+ )
17
+ endpoint: str = Field(description="TestIO endpoint")
18
+ api_key: SecretStr = Field(description="TestIO API Key")
@@ -0,0 +1,18 @@
1
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
2
+
3
+
4
+ class ZephyrEssentialConfiguration(BaseModel):
5
+ model_config = ConfigDict(
6
+ json_schema_extra={
7
+ "metadata": {
8
+ "label": "Zephyr Essential",
9
+ "icon_url": "zephyr.svg",
10
+ "section": "credentials",
11
+ "type": "zephyr-essential",
12
+ "categories": ["test management"],
13
+ "extra_categories": ["zephyr", "test automation", "test case management", "test planning"],
14
+ }
15
+ }
16
+ )
17
+ base_url: str = Field(description="Zephyr Essential Base URL", default=None)
18
+ token: SecretStr = Field(description="Zephyr Essential API Token")
@@ -151,5 +151,5 @@ class AlitaImageLoader(BaseLoader):
151
151
  """Load text from image using OCR or LLM if llm is provided, supports SVG."""
152
152
  text_content = self.get_content()
153
153
 
154
- metadata = {"source": str(self.file_path)} # Ensure source is always a string for metadata
154
+ metadata = {"source": str(self.file_path if hasattr(self, 'file_path') else self.file_name)} # Ensure source is always a string for metadata
155
155
  return [Document(page_content=text_content, metadata=metadata)]
@@ -1,5 +1,7 @@
1
1
  import pymupdf
2
2
  from langchain_community.document_loaders import PyPDFLoader
3
+
4
+ from .ImageParser import ImageParser
3
5
  from .utils import perform_llm_prediction_for_image_bytes, create_temp_file
4
6
  from langchain_core.tools import ToolException
5
7
 
@@ -54,10 +56,21 @@ class AlitaPDFLoader:
54
56
 
55
57
  def load(self):
56
58
  if not hasattr(self, 'file_path'):
57
- self.file_path = create_temp_file(self.file_content)
59
+ import tempfile
60
+
61
+ with tempfile.NamedTemporaryFile(mode='w+b', delete=True, suffix=".pdf") as temp_file:
62
+ temp_file.write(self.file_content)
63
+ temp_file.flush()
64
+ self.file_path = temp_file.name
65
+ return self._load_docs()
66
+ else:
67
+ return self._load_docs()
68
+
69
+ def _load_docs(self):
58
70
  return PyPDFLoader(file_path=self.file_path,
59
- password=self.password,
60
- headers=self.headers,
61
- extract_images=self.extract_images,
62
- extraction_mode=self.extraction_mode,
63
- extraction_kwargs=self.extraction_kwargs).load()
71
+ password=self.password,
72
+ headers=self.headers,
73
+ extract_images=self.extract_images,
74
+ extraction_mode=self.extraction_mode,
75
+ images_parser=ImageParser(llm=self.llm, prompt=self.prompt),
76
+ extraction_kwargs=self.extraction_kwargs).load()
@@ -0,0 +1,17 @@
1
+ from langchain_community.document_loaders.parsers.images import BaseImageBlobParser
2
+
3
+ from alita_sdk.runtime.langchain.document_loaders.AlitaImageLoader import AlitaImageLoader
4
+
5
+ class ImageParser(BaseImageBlobParser):
6
+
7
+ def __init__(self, **kwargs):
8
+ self.llm = kwargs.get('llm')
9
+ self.prompt = kwargs.get('prompt')
10
+
11
+ def _analyze_image(self, img) -> str:
12
+ from io import BytesIO
13
+
14
+ byte_stream = BytesIO()
15
+ img.save(byte_stream, format='PNG')
16
+ image_bytes = byte_stream.getvalue()
17
+ return AlitaImageLoader(file_content=image_bytes, file_name="image.png", prompt=self.prompt, llm=self.llm).get_content()
@@ -212,10 +212,27 @@ class VectorStoreWrapper(BaseToolApiWrapper):
212
212
  """Get all indexed document IDs from vectorstore"""
213
213
  return self.vector_adapter.get_indexed_ids(self, collection_suffix)
214
214
 
215
- def list_collections(self) -> List[str]:
216
- """List all collections in the vectorstore."""
217
-
218
- return self.vector_adapter.list_collections(self)
215
+ def list_collections(self) -> Any:
216
+ """List all collections in the vectorstore.
217
+ Returns a list of collection names, or if no collections exist,
218
+ returns a dict with an empty list and a message."""
219
+ raw = self.vector_adapter.list_collections(self)
220
+ # Normalize raw result to a list of names
221
+ if not raw:
222
+ # No collections found
223
+ return {"collections": [], "message": "No indexed collections"}
224
+ if isinstance(raw, str):
225
+ # e.g., Chroma adapter returns comma-separated string
226
+ cols = [c for c in raw.split(',') if c]
227
+ else:
228
+ try:
229
+ cols = list(raw)
230
+ except Exception:
231
+ # Unexpected type, return raw directly
232
+ return raw
233
+ if not cols:
234
+ return {"collections": [], "message": "No indexed collections"}
235
+ return cols
219
236
 
220
237
  def _clean_collection(self, collection_suffix: str = ''):
221
238
  """
@@ -765,4 +782,3 @@ class VectorStoreWrapper(BaseToolApiWrapper):
765
782
  "args_schema": StepBackSearchDocumentsModel
766
783
  }
767
784
  ]
768
-
@@ -192,7 +192,10 @@ class VectorStoreWrapperBase(BaseToolApiWrapper):
192
192
  def list_collections(self) -> List[str]:
193
193
  """List all collections in the vectorstore."""
194
194
 
195
- return self.vector_adapter.list_collections(self)
195
+ collections = self.vector_adapter.list_collections(self)
196
+ if not collections:
197
+ return "No indexed collections"
198
+ return collections
196
199
 
197
200
  def _clean_collection(self, collection_suffix: str = ''):
198
201
  """
@@ -3,7 +3,7 @@ from functools import lru_cache
3
3
  from typing import List, Optional, Type
4
4
 
5
5
  from langchain_core.tools import BaseTool, BaseToolkit
6
- from pydantic import BaseModel, Field, SecretStr, computed_field, field_validator
6
+ from pydantic import BaseModel, Field, computed_field, field_validator
7
7
 
8
8
  from alita_sdk.configurations.delta_lake import DeltaLakeConfiguration
9
9
  from ...utils import TOOLKIT_SPLITTER, clean_string, get_max_toolkit_length
@@ -54,7 +54,7 @@ class DeltaLakeToolkitConfig(BaseModel):
54
54
  }
55
55
  }
56
56
 
57
- delta_lake_configuration: Optional[DeltaLakeConfiguration] = Field(description="Delta Lake Configuration", json_schema_extra={"configuration_types": ["delta_lake"]})
57
+ delta_lake_configuration: DeltaLakeConfiguration = Field(description="Delta Lake Configuration", json_schema_extra={"configuration_types": ["delta_lake"]})
58
58
  selected_tools: List[str] = Field(default=[], description="Selected tools", json_schema_extra={"args_schemas": get_available_tools()})
59
59
 
60
60
  @field_validator("selected_tools", mode="before", check_fields=False)
@@ -39,7 +39,7 @@ class AzureSearchToolkit(BaseToolkit):
39
39
  name,
40
40
  index_name=(str, Field(description="Azure Search index name")),
41
41
  azure_search_configuration=(
42
- Optional[AzureSearchConfiguration],
42
+ AzureSearchConfiguration,
43
43
  Field(description="Azure Search Configuration", json_schema_extra={'configuration_types': ['azure_search']})
44
44
  ),
45
45
  api_version=(Optional[str], Field(description="API version", default=None)),
@@ -6,6 +6,8 @@ from .api_wrapper import BitbucketAPIWrapper
6
6
  from langchain_core.tools import BaseToolkit
7
7
  from langchain_core.tools import BaseTool
8
8
  from pydantic import BaseModel, Field, ConfigDict, create_model
9
+
10
+ from ..base.tool import BaseAction
9
11
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length, check_connection_response
10
12
  from ...configurations.bitbucket import BitbucketConfiguration
11
13
  from ...configurations.pgvector import PgVectorConfiguration
@@ -49,7 +51,7 @@ class AlitaBitbucketToolkit(BaseToolkit):
49
51
  repository=(str, Field(description="Repository", json_schema_extra={'max_toolkit_length': AlitaBitbucketToolkit.toolkit_max_length, 'configuration': True})),
50
52
  branch=(str, Field(description="Main branch", default="main")),
51
53
  cloud=(Optional[bool], Field(description="Hosting Option", default=None)),
52
- bitbucket_configuration=(Optional[BitbucketConfiguration], Field(description="Bitbucket Configuration", json_schema_extra={'configuration_types': ['bitbucket']})),
54
+ bitbucket_configuration=(BitbucketConfiguration, Field(description="Bitbucket Configuration", json_schema_extra={'configuration_types': ['bitbucket']})),
53
55
  pgvector_configuration=(Optional[PgVectorConfiguration], Field(default=None, description="PgVector Configuration", json_schema_extra={'configuration_types': ['pgvector']})),
54
56
  # embedder settings
55
57
  embedding_model=(Optional[str], Field(default=None, description="Embedding configuration.", json_schema_extra={'configuration_model': 'embedding'})),
@@ -102,9 +104,12 @@ class AlitaBitbucketToolkit(BaseToolkit):
102
104
  if selected_tools:
103
105
  if tool['name'] not in selected_tools:
104
106
  continue
105
- initiated_tool = tool['tool'](api_wrapper=bitbucket_api_wrapper)
106
- initiated_tool.name = prefix + tool['name']
107
- tools.append(initiated_tool)
107
+ tools.append(BaseAction(
108
+ api_wrapper=bitbucket_api_wrapper,
109
+ name=prefix + tool["name"],
110
+ description=tool["description"] + f"\nrepo: {bitbucket_api_wrapper.repository}",
111
+ args_schema=tool["args_schema"]
112
+ ))
108
113
  return cls(tools=tools)
109
114
 
110
115
  def get_tools(self):
@@ -194,7 +194,7 @@ class BitbucketAPIWrapper(BaseCodeToolApiWrapper):
194
194
  if limit is not None:
195
195
  branches = branches[:limit]
196
196
 
197
- return branches
197
+ return "Found branches: " + ", ".join(branches)
198
198
  except Exception as e:
199
199
  return f"Failed to list branches: {str(e)}"
200
200
 
@@ -35,7 +35,7 @@ def normalize_response(response) -> Dict[str, Any]:
35
35
  class BitbucketApiAbstract(ABC):
36
36
 
37
37
  @abstractmethod
38
- def list_branches(self) -> str:
38
+ def list_branches(self) -> List[str]:
39
39
  pass
40
40
 
41
41
  @abstractmethod
@@ -86,9 +86,9 @@ class BitbucketServerApi(BitbucketApiAbstract):
86
86
  self.password = password
87
87
  self.api_client = Bitbucket(url=url, username=username, password=password)
88
88
 
89
- def list_branches(self) -> str:
89
+ def list_branches(self) -> List[str]:
90
90
  branches = self.api_client.get_branches(project_key=self.project, repository_slug=self.repository)
91
- return json.dumps([branch['displayId'] for branch in branches])
91
+ return [branch['displayId'] for branch in branches]
92
92
 
93
93
  def create_branch(self, branch_name: str, branch_from: str) -> Response:
94
94
  return self.api_client.create_branch(
@@ -257,10 +257,10 @@ class BitbucketCloudApi(BitbucketApiAbstract):
257
257
  except Exception as e:
258
258
  raise ToolException(f"Unable to connect to the repository '{self.repository_name}' due to error:\n{str(e)}")
259
259
 
260
- def list_branches(self) -> str:
260
+ def list_branches(self) -> List[str]:
261
261
  branches = self.repository.branches.each()
262
262
  branch_names = [branch.name for branch in branches]
263
- return ', '.join(branch_names)
263
+ return branch_names
264
264
 
265
265
  def _get_branch(self, branch_name: str) -> Response:
266
266
  return self.repository.branches.get(branch_name)
@@ -1,7 +1,7 @@
1
1
  from typing import List, Optional, Literal
2
2
  from langchain_core.tools import BaseTool, BaseToolkit
3
3
 
4
- from pydantic import create_model, BaseModel, ConfigDict, Field, SecretStr, model_validator
4
+ from pydantic import create_model, BaseModel, ConfigDict, Field, model_validator
5
5
 
6
6
  from langchain_community.utilities.google_search import GoogleSearchAPIWrapper
7
7
  from langchain_community.utilities.wikipedia import WikipediaAPIWrapper
@@ -9,6 +9,7 @@ from .google_search_rag import GoogleSearchResults
9
9
  from .crawler import SingleURLCrawler, MultiURLCrawler, GetHTMLContent, GetPDFContent
10
10
  from .wiki import WikipediaQueryRun
11
11
  from ..utils import get_max_toolkit_length, clean_string, TOOLKIT_SPLITTER
12
+ from ...configurations.browser import BrowserConfiguration
12
13
  from logging import getLogger
13
14
 
14
15
  logger = getLogger(__name__)
@@ -19,8 +20,7 @@ name = "browser"
19
20
  def get_tools(tool):
20
21
  return BrowserToolkit().get_toolkit(
21
22
  selected_tools=tool['settings'].get('selected_tools', []),
22
- google_api_key=tool['settings'].get('google_api_key'),
23
- google_cse_id=tool['settings'].get("google_cse_id"),
23
+ browser_configuration=tool['settings']['browser_configuration'],
24
24
  toolkit_name=tool.get('toolkit_name', '')
25
25
  ).get_tools()
26
26
 
@@ -42,8 +42,9 @@ class BrowserToolkit(BaseToolkit):
42
42
 
43
43
  def validate_google_fields(cls, values):
44
44
  if 'google' in values.get('selected_tools', []):
45
- google_cse_id = values.get('google_cse_id') is not None
46
- google_api_key = values.get('google_api_key') is not None
45
+ browser_config = values.get('browser_configuration', {})
46
+ google_cse_id = browser_config.get('google_cse_id') is not None if browser_config else False
47
+ google_api_key = browser_config.get('google_api_key') is not None if browser_config else False
47
48
  if not (google_cse_id and google_api_key):
48
49
  raise ValueError("google_cse_id and google_api_key are required when 'google' is in selected_tools")
49
50
  return values
@@ -51,9 +52,7 @@ class BrowserToolkit(BaseToolkit):
51
52
  return create_model(
52
53
  name,
53
54
  __config__=ConfigDict(json_schema_extra={'metadata': {"label": "Browser", "icon_url": None, "categories": ["testing"], "extra_categories": ["web scraping", "search", "crawler"]}}),
54
- google_cse_id=(Optional[str], Field(description="Google CSE id", default=None)),
55
- google_api_key=(Optional[SecretStr],
56
- Field(description="Google API key", default=None, json_schema_extra={'secret': True})),
55
+ browser_configuration=(BrowserConfiguration, Field(description="Browser Configuration", json_schema_extra={'configuration_types': ['browser']})),
57
56
  selected_tools=(List[Literal[tuple(selected_tools)]],
58
57
  Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
59
58
  __validators__={
@@ -65,6 +64,12 @@ class BrowserToolkit(BaseToolkit):
65
64
  def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
66
65
  if selected_tools is None:
67
66
  selected_tools = []
67
+
68
+ wrapper_payload = {
69
+ **kwargs,
70
+ **kwargs.get('browser_configuration', {}),
71
+ }
72
+
68
73
  tools = []
69
74
  prefix = clean_string(toolkit_name, cls.toolkit_max_length) + TOOLKIT_SPLITTER if toolkit_name else ''
70
75
  if not selected_tools:
@@ -88,8 +93,7 @@ class BrowserToolkit(BaseToolkit):
88
93
  elif tool == 'google':
89
94
  try:
90
95
  google_api_wrapper = GoogleSearchAPIWrapper(
91
- google_api_key=kwargs.get("google_api_key"),
92
- google_cse_id=kwargs.get("google_cse_id"),
96
+ **wrapper_payload
93
97
  )
94
98
  tool_entry = GoogleSearchResults(api_wrapper=google_api_wrapper)
95
99
  # rename the tool to avoid conflicts