alita-sdk 0.3.358__tar.gz → 0.3.359__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.

Potentially problematic release.


This version of alita-sdk might be problematic. Click here for more details.

Files changed (368) hide show
  1. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/PKG-INFO +1 -1
  2. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/clients/client.py +45 -0
  3. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/assistant.py +14 -1
  4. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/__init__.py +5 -2
  5. alita_sdk-0.3.359/alita_sdk/runtime/tools/image_generation.py +116 -0
  6. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/llm.py +18 -5
  7. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/qtest/__init__.py +7 -2
  8. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/qtest/api_wrapper.py +40 -11
  9. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk.egg-info/PKG-INFO +1 -1
  10. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk.egg-info/SOURCES.txt +1 -0
  11. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/pyproject.toml +1 -1
  12. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/LICENSE +0 -0
  13. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/README.md +0 -0
  14. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/__init__.py +0 -0
  15. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/community/__init__.py +0 -0
  16. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/community/utils.py +0 -0
  17. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/__init__.py +0 -0
  18. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/ado.py +0 -0
  19. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/azure_search.py +0 -0
  20. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/bigquery.py +0 -0
  21. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/bitbucket.py +0 -0
  22. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/browser.py +0 -0
  23. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/carrier.py +0 -0
  24. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/confluence.py +0 -0
  25. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/delta_lake.py +0 -0
  26. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/embedding.py +0 -0
  27. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/figma.py +0 -0
  28. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/github.py +0 -0
  29. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/gitlab.py +0 -0
  30. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/google_places.py +0 -0
  31. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/jira.py +0 -0
  32. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/pgvector.py +0 -0
  33. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/postman.py +0 -0
  34. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/qtest.py +0 -0
  35. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/rally.py +0 -0
  36. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/report_portal.py +0 -0
  37. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/salesforce.py +0 -0
  38. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/service_now.py +0 -0
  39. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/sharepoint.py +0 -0
  40. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/slack.py +0 -0
  41. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/sonar.py +0 -0
  42. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/sql.py +0 -0
  43. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/testio.py +0 -0
  44. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/testrail.py +0 -0
  45. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/xray.py +0 -0
  46. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/zephyr.py +0 -0
  47. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/zephyr_enterprise.py +0 -0
  48. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/configurations/zephyr_essential.py +0 -0
  49. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/__init__.py +0 -0
  50. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/clients/__init__.py +0 -0
  51. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/clients/artifact.py +0 -0
  52. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/clients/datasource.py +0 -0
  53. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/clients/prompt.py +0 -0
  54. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/__init__.py +0 -0
  55. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
  56. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
  57. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
  58. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/constants.py +0 -0
  59. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
  60. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
  61. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
  62. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
  63. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
  64. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
  65. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
  66. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
  67. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaJSONLoader.py +0 -0
  68. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
  69. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaMarkdownLoader.py +0 -0
  70. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaPDFLoader.py +0 -0
  71. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaPowerPointLoader.py +0 -0
  72. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaPythonLoader.py +0 -0
  73. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
  74. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
  75. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/AlitaTextLoader.py +0 -0
  76. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/ImageParser.py +0 -0
  77. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
  78. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
  79. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
  80. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/indexer.py +0 -0
  81. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
  82. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
  83. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
  84. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
  85. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
  86. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/langraph_agent.py +0 -0
  87. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
  88. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
  89. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
  90. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
  91. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
  92. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/store_manager.py +0 -0
  93. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
  94. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
  95. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
  96. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
  97. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
  98. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
  99. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/tools/git.py +0 -0
  100. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/tools/log.py +0 -0
  101. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
  102. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/tools/state.py +0 -0
  103. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
  104. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
  105. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/langchain/utils.py +0 -0
  106. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/llms/__init__.py +0 -0
  107. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/llms/preloaded.py +0 -0
  108. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/toolkits/__init__.py +0 -0
  109. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/toolkits/application.py +0 -0
  110. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/toolkits/artifact.py +0 -0
  111. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/toolkits/configurations.py +0 -0
  112. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/toolkits/datasource.py +0 -0
  113. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/toolkits/prompt.py +0 -0
  114. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
  115. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/toolkits/tools.py +0 -0
  116. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
  117. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/agent.py +0 -0
  118. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/application.py +0 -0
  119. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/artifact.py +0 -0
  120. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/datasource.py +0 -0
  121. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/echo.py +0 -0
  122. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/function.py +0 -0
  123. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/graph.py +0 -0
  124. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
  125. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/loop.py +0 -0
  126. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/loop_output.py +0 -0
  127. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
  128. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
  129. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/prompt.py +0 -0
  130. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/router.py +0 -0
  131. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/sandbox.py +0 -0
  132. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/tool.py +0 -0
  133. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/vectorstore.py +0 -0
  134. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/tools/vectorstore_base.py +0 -0
  135. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
  136. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/utils/__init__.py +0 -0
  137. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/utils/constants.py +0 -0
  138. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/utils/evaluate.py +0 -0
  139. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/utils/logging.py +0 -0
  140. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
  141. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/utils/streamlit.py +0 -0
  142. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/utils/toolkit_runtime.py +0 -0
  143. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/utils/toolkit_utils.py +0 -0
  144. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/runtime/utils/utils.py +0 -0
  145. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/__init__.py +0 -0
  146. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/ado/__init__.py +0 -0
  147. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/ado/repos/__init__.py +0 -0
  148. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
  149. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/ado/test_plan/__init__.py +0 -0
  150. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +0 -0
  151. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/ado/utils.py +0 -0
  152. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/ado/wiki/__init__.py +0 -0
  153. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/ado/wiki/ado_wrapper.py +0 -0
  154. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/ado/work_item/__init__.py +0 -0
  155. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
  156. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
  157. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
  158. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/aws/__init__.py +0 -0
  159. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/aws/delta_lake/__init__.py +0 -0
  160. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/aws/delta_lake/api_wrapper.py +0 -0
  161. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/aws/delta_lake/schemas.py +0 -0
  162. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/aws/delta_lake/tool.py +0 -0
  163. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/azure_ai/__init__.py +0 -0
  164. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/azure_ai/search/__init__.py +0 -0
  165. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
  166. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/base/__init__.py +0 -0
  167. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/base/tool.py +0 -0
  168. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/base_indexer_toolkit.py +0 -0
  169. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/bitbucket/__init__.py +0 -0
  170. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
  171. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
  172. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
  173. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/browser/__init__.py +0 -0
  174. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/browser/crawler.py +0 -0
  175. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
  176. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/browser/google_search_rag.py +0 -0
  177. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/browser/utils.py +0 -0
  178. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/browser/wiki.py +0 -0
  179. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/__init__.py +0 -0
  180. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
  181. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
  182. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
  183. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
  184. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
  185. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
  186. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
  187. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
  188. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
  189. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
  190. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
  191. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/tools.py +0 -0
  192. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
  193. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
  194. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/carrier/utils.py +0 -0
  195. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/__init__.py +0 -0
  196. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
  197. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
  198. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/constants.py +0 -0
  199. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
  200. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
  201. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
  202. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
  203. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
  204. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
  205. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
  206. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
  207. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
  208. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
  209. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
  210. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
  211. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
  212. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
  213. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
  214. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/models.py +0 -0
  215. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
  216. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
  217. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/sematic/json_chunker.py +0 -0
  218. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
  219. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
  220. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
  221. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/chunkers/utils.py +0 -0
  222. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/cloud/__init__.py +0 -0
  223. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
  224. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
  225. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
  226. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
  227. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
  228. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
  229. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
  230. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
  231. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/code/__init__.py +0 -0
  232. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/code/linter/__init__.py +0 -0
  233. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
  234. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
  235. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/code/sonar/__init__.py +0 -0
  236. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
  237. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/code_indexer_toolkit.py +0 -0
  238. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/confluence/__init__.py +0 -0
  239. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
  240. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/confluence/loader.py +0 -0
  241. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/confluence/utils.py +0 -0
  242. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
  243. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
  244. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/elastic/__init__.py +0 -0
  245. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
  246. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/elitea_base.py +0 -0
  247. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/figma/__init__.py +0 -0
  248. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/figma/api_wrapper.py +0 -0
  249. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/github/__init__.py +0 -0
  250. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/github/api_wrapper.py +0 -0
  251. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/github/github_client.py +0 -0
  252. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
  253. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/github/schemas.py +0 -0
  254. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/github/tool.py +0 -0
  255. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/github/tool_prompts.py +0 -0
  256. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/gitlab/__init__.py +0 -0
  257. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
  258. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/gitlab/tools.py +0 -0
  259. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/gitlab/utils.py +0 -0
  260. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
  261. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
  262. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/gmail/__init__.py +0 -0
  263. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
  264. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/gmail/utils.py +0 -0
  265. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/google/__init__.py +0 -0
  266. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/google/bigquery/__init__.py +0 -0
  267. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/google/bigquery/api_wrapper.py +0 -0
  268. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/google/bigquery/schemas.py +0 -0
  269. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/google/bigquery/tool.py +0 -0
  270. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/google_places/__init__.py +0 -0
  271. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
  272. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/jira/__init__.py +0 -0
  273. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/jira/api_wrapper.py +0 -0
  274. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/keycloak/__init__.py +0 -0
  275. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
  276. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/llm/__init__.py +0 -0
  277. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/llm/img_utils.py +0 -0
  278. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/llm/llm_utils.py +0 -0
  279. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/localgit/__init__.py +0 -0
  280. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/localgit/local_git.py +0 -0
  281. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/localgit/tool.py +0 -0
  282. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/memory/__init__.py +0 -0
  283. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/non_code_indexer_toolkit.py +0 -0
  284. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/ocr/__init__.py +0 -0
  285. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
  286. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/ocr/text_detection.py +0 -0
  287. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/openapi/__init__.py +0 -0
  288. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/__init__.py +0 -0
  289. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
  290. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
  291. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
  292. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
  293. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
  294. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
  295. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
  296. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
  297. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
  298. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
  299. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
  300. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
  301. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
  302. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
  303. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
  304. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
  305. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
  306. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
  307. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/postman/__init__.py +0 -0
  308. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/postman/api_wrapper.py +0 -0
  309. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/postman/postman_analysis.py +0 -0
  310. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pptx/__init__.py +0 -0
  311. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
  312. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/qtest/tool.py +0 -0
  313. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/rally/__init__.py +0 -0
  314. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/rally/api_wrapper.py +0 -0
  315. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/report_portal/__init__.py +0 -0
  316. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
  317. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
  318. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/salesforce/__init__.py +0 -0
  319. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
  320. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/salesforce/model.py +0 -0
  321. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/servicenow/__init__.py +0 -0
  322. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
  323. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
  324. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/sharepoint/__init__.py +0 -0
  325. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/sharepoint/api_wrapper.py +0 -0
  326. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
  327. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/sharepoint/utils.py +0 -0
  328. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/slack/__init__.py +0 -0
  329. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/slack/api_wrapper.py +0 -0
  330. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/sql/__init__.py +0 -0
  331. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/sql/api_wrapper.py +0 -0
  332. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/sql/models.py +0 -0
  333. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/testio/__init__.py +0 -0
  334. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/testio/api_wrapper.py +0 -0
  335. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/testrail/__init__.py +0 -0
  336. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
  337. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/utils/__init__.py +0 -0
  338. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/utils/available_tools_decorator.py +0 -0
  339. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/utils/content_parser.py +0 -0
  340. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/vector_adapters/VectorStoreAdapter.py +0 -0
  341. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/vector_adapters/__init__.py +0 -0
  342. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/xray/__init__.py +0 -0
  343. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/xray/api_wrapper.py +0 -0
  344. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/yagmail/__init__.py +0 -0
  345. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
  346. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
  347. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr/__init__.py +0 -0
  348. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
  349. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr/rest_client.py +0 -0
  350. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr_enterprise/__init__.py +0 -0
  351. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +0 -0
  352. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
  353. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr_essential/__init__.py +0 -0
  354. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr_essential/api_wrapper.py +0 -0
  355. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr_essential/client.py +0 -0
  356. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
  357. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -0
  358. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr_squad/__init__.py +0 -0
  359. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -0
  360. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +0 -0
  361. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk.egg-info/dependency_links.txt +0 -0
  362. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk.egg-info/requires.txt +0 -0
  363. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/alita_sdk.egg-info/top_level.txt +0 -0
  364. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/setup.cfg +0 -0
  365. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/tests/test_ado_analysis.py +0 -0
  366. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/tests/test_github_analysis.py +0 -0
  367. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/tests/test_gitlab_analysis.py +0 -0
  368. {alita_sdk-0.3.358 → alita_sdk-0.3.359}/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.358
3
+ Version: 0.3.359
4
4
  Summary: SDK for building langchain agents using resources from Alita
5
5
  Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedj27@gmail.com>, Artem Dubrovskiy <ad13box@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -68,8 +68,10 @@ class AlitaClient:
68
68
  self.bucket_url = f"{self.base_url}{self.api_path}/artifacts/buckets/{self.project_id}"
69
69
  self.configurations_url = f'{self.base_url}{self.api_path}/integrations/integrations/default/{self.project_id}?section=configurations&unsecret=true'
70
70
  self.ai_section_url = f'{self.base_url}{self.api_path}/integrations/integrations/default/{self.project_id}?section=ai'
71
+ self.image_generation_url = f"{self.base_url}{self.llm_path}/images/generations"
71
72
  self.configurations: list = configurations or []
72
73
  self.model_timeout = kwargs.get('model_timeout', 120)
74
+ self.model_image_generation = kwargs.get('model_image_generation')
73
75
 
74
76
  def get_mcp_toolkits(self):
75
77
  if user_id := self._get_real_user_id():
@@ -218,6 +220,49 @@ class AlitaClient:
218
220
  openai_organization=str(self.project_id),
219
221
  )
220
222
 
223
+ def generate_image(self,
224
+ prompt: str,
225
+ n: int = 1,
226
+ size: str = "auto",
227
+ quality: str = "auto",
228
+ response_format: str = "b64_json",
229
+ style: Optional[str] = None) -> dict:
230
+
231
+ if not self.model_image_generation:
232
+ raise ValueError("Image generation model is not configured for this client")
233
+
234
+ # Prepare the request data
235
+ image_generation_data = {
236
+ "prompt": prompt,
237
+ "model": self.model_image_generation,
238
+ "n": n,
239
+ "size": size,
240
+ "quality": quality,
241
+ "response_format": response_format,
242
+ }
243
+
244
+ if style:
245
+ image_generation_data["style"] = style
246
+
247
+ logger.info(f"Generating image with model: {self.model_image_generation}, prompt: {prompt[:50]}...")
248
+
249
+ try:
250
+ response = requests.post(
251
+ self.image_generation_url,
252
+ headers=self.headers,
253
+ json=image_generation_data,
254
+ verify=False,
255
+ timeout=self.model_timeout
256
+ )
257
+ response.raise_for_status()
258
+ return response.json()
259
+
260
+ except requests.exceptions.HTTPError as e:
261
+ logger.error(f"Image generation failed: {e.response.status_code} - {e.response.text}")
262
+ raise
263
+ except requests.exceptions.RequestException as e:
264
+ logger.error(f"Image generation request failed: {e}")
265
+ raise
221
266
 
222
267
  def get_app_version_details(self, application_id: int, application_version_id: int) -> dict:
223
268
  url = f"{self.application_versions}/{application_id}/{application_version_id}"
@@ -38,7 +38,8 @@ class Assistant:
38
38
 
39
39
  logger.debug("Data for agent creation: %s", data)
40
40
  logger.info("App type: %s", app_type)
41
-
41
+
42
+ self.alita_client = alita
42
43
  self.client = client
43
44
  # For predict agents, use the client as-is since it's already configured
44
45
  # if app_type == "predict":
@@ -192,6 +193,18 @@ class Assistant:
192
193
  except Exception as e:
193
194
  logger.error(f"Error adding PyodideSandboxTool: {e}")
194
195
 
196
+ # Add image generation tool if model is configured
197
+ if self.alita_client.model_image_generation is not None:
198
+ try:
199
+ from ..tools.image_generation import (
200
+ create_image_generation_tool
201
+ )
202
+ image_tool = create_image_generation_tool(self.alita_client)
203
+ simple_tools.append(image_tool)
204
+ logger.info("Added ImageGenerationTool to react agent")
205
+ except Exception as e:
206
+ logger.error(f"Error adding ImageGenerationTool: {e}")
207
+
195
208
  # Set up memory/checkpointer if available
196
209
  checkpointer = None
197
210
  if self.memory is not None:
@@ -5,10 +5,13 @@ This module provides various tools that can be used within LangGraph agents.
5
5
 
6
6
  from .sandbox import PyodideSandboxTool, StatefulPyodideSandboxTool, create_sandbox_tool
7
7
  from .echo import EchoTool
8
+ from .image_generation import ImageGenerationTool, create_image_generation_tool
8
9
 
9
10
  __all__ = [
10
11
  "PyodideSandboxTool",
11
- "StatefulPyodideSandboxTool",
12
+ "StatefulPyodideSandboxTool",
12
13
  "create_sandbox_tool",
13
- "EchoTool"
14
+ "EchoTool",
15
+ "ImageGenerationTool",
16
+ "create_image_generation_tool"
14
17
  ]
@@ -0,0 +1,116 @@
1
+ """
2
+ Image generation tool for Alita SDK.
3
+ """
4
+ import logging
5
+ from typing import Optional, Type, Any
6
+ from langchain_core.tools import BaseTool
7
+ from pydantic import BaseModel, Field
8
+
9
+ logger = logging.getLogger(__name__)
10
+
11
+
12
+ class ImageGenerationInput(BaseModel):
13
+ """Input schema for image generation tool."""
14
+ prompt: str = Field(description="Text prompt describing the image to generate")
15
+ n: int = Field(
16
+ default=1, description="Number of images to generate (1-10)",
17
+ ge=1, le=10
18
+ )
19
+ size: str = Field(
20
+ default="auto",
21
+ description="Size of the generated image (e.g., '1024x1024')"
22
+ )
23
+ quality: str = Field(
24
+ default="auto",
25
+ description="Quality of the generated image ('low', 'medium', 'high', 'auto')"
26
+ )
27
+ style: Optional[str] = Field(
28
+ default=None, description="Style of the generated image (optional)"
29
+ )
30
+
31
+
32
+ class ImageGenerationTool(BaseTool):
33
+ """Tool for generating images using the Alita client."""
34
+
35
+ name: str = "generate_image"
36
+ description: str = "Generate images from text prompts using AI models"
37
+ args_schema: Type[BaseModel] = ImageGenerationInput
38
+ alita_client: Any = None
39
+
40
+ def __init__(self, client, **kwargs):
41
+ super().__init__(**kwargs)
42
+ self.alita_client = client
43
+
44
+ def _run(self, prompt: str, n: int = 1, size: str = "auto",
45
+ quality: str = "auto", style: Optional[str] = None) -> list:
46
+ """Generate an image based on the provided parameters."""
47
+ try:
48
+ logger.info(f"Generating image with prompt: {prompt[:50]}...")
49
+
50
+ result = self.alita_client.generate_image(
51
+ prompt=prompt,
52
+ n=n,
53
+ size=size,
54
+ quality=quality,
55
+ style=style
56
+ )
57
+
58
+ # Return multimodal content format for LLM consumption
59
+ if 'data' in result:
60
+ images = result['data']
61
+ content_chunks = []
62
+
63
+ # Add a text description of what was generated
64
+ if len(images) == 1:
65
+ content_chunks.append({
66
+ "type": "text",
67
+ "text": f"Generated image for prompt: '{prompt}'"
68
+ })
69
+ else:
70
+ content_chunks.append({
71
+ "type": "text",
72
+ "text": f"Generated {len(images)} images for prompt: '{prompt}'"
73
+ })
74
+
75
+ # Add image content for each generated image
76
+ for image_data in images:
77
+ if image_data.get('url'):
78
+ content_chunks.append({
79
+ "type": "image_url",
80
+ "image_url": {
81
+ "url": image_data['url']
82
+ }
83
+ })
84
+ elif image_data.get('b64_json'):
85
+ content_chunks.append({
86
+ "type": "image_url",
87
+ "image_url": {
88
+ "url": f"data:image/png;base64,{image_data['b64_json']}"
89
+ }
90
+ })
91
+
92
+ return content_chunks
93
+
94
+ # Fallback to text response if no images in result
95
+ return [{
96
+ "type": "text",
97
+ "text": f"Image generation completed but no images returned: {result}"
98
+ }]
99
+
100
+ except Exception as e:
101
+ logger.error(f"Error generating image: {e}")
102
+ return [{
103
+ "type": "text",
104
+ "text": f"Error generating image: {str(e)}"
105
+ }]
106
+
107
+ async def _arun(self, prompt: str, n: int = 1, size: str = "256x256",
108
+ quality: str = "auto",
109
+ style: Optional[str] = None) -> list:
110
+ """Async version - for now just calls the sync version."""
111
+ return self._run(prompt, n, size, quality, style)
112
+
113
+
114
+ def create_image_generation_tool(client):
115
+ """Create an image generation tool with the provided Alita client."""
116
+ return ImageGenerationTool(client=client)
@@ -179,12 +179,25 @@ class LLMNode(BaseTool):
179
179
  logger.info(f"Executing tool '{tool_name}' with args: {tool_args}")
180
180
  tool_result = tool_to_execute.invoke(tool_args)
181
181
 
182
- # Create tool message with result
182
+ # Create tool message with result - preserve structured content
183
183
  from langchain_core.messages import ToolMessage
184
- tool_message = ToolMessage(
185
- content=str(tool_result),
186
- tool_call_id=tool_call_id
187
- )
184
+
185
+ # Check if tool_result is structured content (list of dicts)
186
+ # TODO: need solid check for being compatible with ToolMessage content format
187
+ if isinstance(tool_result, list) and all(
188
+ isinstance(item, dict) and 'type' in item for item in tool_result
189
+ ):
190
+ # Use structured content directly for multimodal support
191
+ tool_message = ToolMessage(
192
+ content=tool_result,
193
+ tool_call_id=tool_call_id
194
+ )
195
+ else:
196
+ # Fallback to string conversion for other tool results
197
+ tool_message = ToolMessage(
198
+ content=str(tool_result),
199
+ tool_call_id=tool_call_id
200
+ )
188
201
  new_messages.append(tool_message)
189
202
 
190
203
  except Exception as e:
@@ -17,8 +17,10 @@ def get_tools(tool):
17
17
  toolkit = QtestToolkit.get_toolkit(
18
18
  selected_tools=tool['settings'].get('selected_tools', []),
19
19
  qtest_project_id=tool['settings'].get('qtest_project_id', tool['settings'].get('project_id', None)),
20
+ no_of_tests_shown_in_dql_search=tool['settings'].get('no_of_tests_shown_in_dql_search'),
20
21
  qtest_configuration=tool['settings']['qtest_configuration'],
21
- toolkit_name=tool.get('toolkit_name')
22
+ toolkit_name=tool.get('toolkit_name'),
23
+ llm=tool['settings'].get('llm', None)
22
24
  )
23
25
  return toolkit.tools
24
26
 
@@ -37,7 +39,10 @@ class QtestToolkit(BaseToolkit):
37
39
  'configuration_types': ['qtest']})),
38
40
  qtest_project_id=(int, Field(default=None, description="QTest project id", json_schema_extra={'toolkit_name': True,
39
41
  'max_toolkit_length': QtestToolkit.toolkit_max_length})),
40
- selected_tools=(List[Literal[tuple(selected_tools)]],
42
+ no_of_tests_shown_in_dql_search=(Optional[int], Field(description="Max number of items returned by dql search",
43
+ default=10)),
44
+
45
+ selected_tools=(List[Literal[tuple(selected_tools)]],
41
46
  Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
42
47
  __config__=ConfigDict(json_schema_extra={'metadata': {"label": "QTest", "icon_url": "qtest.svg",
43
48
  "categories": ["test management"],
@@ -1,5 +1,7 @@
1
+ import base64
1
2
  import json
2
3
  import logging
4
+ import re
3
5
  from traceback import format_exc
4
6
  from typing import Any, Optional
5
7
 
@@ -11,6 +13,7 @@ from swagger_client import TestCaseApi, SearchApi, PropertyResource, ModuleApi
11
13
  from swagger_client.rest import ApiException
12
14
 
13
15
  from ..elitea_base import BaseToolApiWrapper
16
+ from ..utils.content_parser import parse_file_content
14
17
 
15
18
  QTEST_ID = "QTest Id"
16
19
 
@@ -64,7 +67,10 @@ logger = logging.getLogger(__name__)
64
67
 
65
68
  QtestDataQuerySearch = create_model(
66
69
  "QtestDataQuerySearch",
67
- dql=(str, Field(description="Qtest Data Query Language (DQL) query string")))
70
+ dql=(str, Field(description="Qtest Data Query Language (DQL) query string")),
71
+ extract_images=(Optional[bool], Field(description="Should images be processed by llm", default=False)),
72
+ prompt=(Optional[str], Field(description="Prompt for image processing", default=None))
73
+ )
68
74
 
69
75
  QtestCreateTestCase = create_model(
70
76
  "QtestCreateTestCase",
@@ -92,6 +98,8 @@ UpdateTestCase = create_model(
92
98
  FindTestCaseById = create_model(
93
99
  "FindTestCaseById",
94
100
  test_id=(str, Field(description="Test case ID e.g. TC-1234")),
101
+ extract_images=(Optional[bool], Field(description="Should images be processed by llm", default=False)),
102
+ prompt=(Optional[str], Field(description="Prompt for image processing", default=None))
95
103
  )
96
104
 
97
105
  DeleteTestCase = create_model(
@@ -118,6 +126,7 @@ class QtestApiWrapper(BaseToolApiWrapper):
118
126
  page: int = 1
119
127
  no_of_tests_shown_in_dql_search: int = 10
120
128
  _client: Any = PrivateAttr()
129
+ llm: Any
121
130
 
122
131
  @model_validator(mode='before')
123
132
  @classmethod
@@ -234,7 +243,7 @@ class QtestApiWrapper(BaseToolApiWrapper):
234
243
  raise ToolException(
235
244
  f"Unable to create test case in project - {self.qtest_project_id} with the following content:\n{test_case_content}.\n\n Stacktrace was {stacktrace}") from e
236
245
 
237
- def __parse_data(self, response_to_parse: dict, parsed_data: list):
246
+ def __parse_data(self, response_to_parse: dict, parsed_data: list, extract_images: bool=False, prompt: str=None):
238
247
  import html
239
248
  for item in response_to_parse['items']:
240
249
  parsed_data_row = {
@@ -245,8 +254,8 @@ class QtestApiWrapper(BaseToolApiWrapper):
245
254
  QTEST_ID: item['id'],
246
255
  'Steps': list(map(lambda step: {
247
256
  'Test Step Number': step[0] + 1,
248
- 'Test Step Description': step[1]['description'],
249
- 'Test Step Expected Result': step[1]['expected']
257
+ 'Test Step Description': self._process_image(step[1]['description'], extract_images, prompt),
258
+ 'Test Step Expected Result': self._process_image(step[1]['expected'], extract_images, prompt)
250
259
  }, enumerate(item['test_steps']))),
251
260
  'Status': ''.join([properties['field_value_name'] for properties in item['properties']
252
261
  if properties['field_name'] == 'Status']),
@@ -259,7 +268,27 @@ class QtestApiWrapper(BaseToolApiWrapper):
259
268
  }
260
269
  parsed_data.append(parsed_data_row)
261
270
 
262
- def __perform_search_by_dql(self, dql: str) -> list:
271
+ def _process_image(self, content: str, extract: bool=False, prompt: str=None):
272
+ #extract image by regex
273
+ img_regex = r'<img\s+src="data:image\/[^;]+;base64,([^"]+)"\s+[^>]*data-filename="([^"]+)"[^>]*>'
274
+
275
+ def replace_image(match):
276
+ base64_content = match.group(1)
277
+ file_name = match.group(2)
278
+
279
+ file_content = base64.b64decode(base64_content)
280
+
281
+ if extract:
282
+ description = f"<img description=\"{parse_file_content(file_content=file_content, file_name=file_name, prompt=prompt, llm=self.llm)}\">"
283
+ else:
284
+ description = ""
285
+
286
+ return description
287
+ #replace image tag by description
288
+ content = re.sub(img_regex, replace_image, content)
289
+ return content
290
+
291
+ def __perform_search_by_dql(self, dql: str, extract_images:bool=False, prompt: str=None) -> list:
263
292
  search_instance: SearchApi = swagger_client.SearchApi(self._client)
264
293
  body = swagger_client.ArtifactSearchParams(object_type='test-cases', fields=['*'],
265
294
  query=dql)
@@ -270,7 +299,7 @@ class QtestApiWrapper(BaseToolApiWrapper):
270
299
  api_response = search_instance.search_artifact(self.qtest_project_id, body, append_test_steps=append_test_steps,
271
300
  include_external_properties=include_external_properties,
272
301
  page_size=self.no_of_items_per_page, page=self.page)
273
- self.__parse_data(api_response, parsed_data)
302
+ self.__parse_data(api_response, parsed_data, extract_images, prompt)
274
303
 
275
304
  if api_response['links']:
276
305
  while api_response['links'][0]['rel'] == 'next':
@@ -279,7 +308,7 @@ class QtestApiWrapper(BaseToolApiWrapper):
279
308
  append_test_steps=append_test_steps,
280
309
  include_external_properties=include_external_properties,
281
310
  page_size=self.no_of_items_per_page, page=next_page)
282
- self.__parse_data(api_response, parsed_data)
311
+ self.__parse_data(api_response, parsed_data, extract_images, prompt)
283
312
  except ApiException as e:
284
313
  stacktrace = format_exc()
285
314
  logger.error(f"Exception when calling SearchApi->search_artifact: \n {stacktrace}")
@@ -347,9 +376,9 @@ class QtestApiWrapper(BaseToolApiWrapper):
347
376
  logger.error(f"Error: {format_exc()}")
348
377
  raise e
349
378
 
350
- def search_by_dql(self, dql: str):
379
+ def search_by_dql(self, dql: str, extract_images:bool=False, prompt: str=None):
351
380
  """Search for the test cases in qTest using Data Query Language """
352
- parsed_data = self.__perform_search_by_dql(dql)
381
+ parsed_data = self.__perform_search_by_dql(dql, extract_images, prompt)
353
382
  return "Found " + str(
354
383
  len(parsed_data)) + f" Qtest test cases:\n" + str(parsed_data[:self.no_of_tests_shown_in_dql_search])
355
384
 
@@ -398,10 +427,10 @@ class QtestApiWrapper(BaseToolApiWrapper):
398
427
  raise ToolException(
399
428
  f"""Unable to update test case in project with id - {self.qtest_project_id} and test id - {test_id}.\n Exception: \n {stacktrace}""") from e
400
429
 
401
- def find_test_case_by_id(self, test_id: str) -> str:
430
+ def find_test_case_by_id(self, test_id: str, extract_images=False, prompt=None) -> str:
402
431
  """ Find the test case by its id. Id should be in format TC-123. """
403
432
  dql: str = f"Id = '{test_id}'"
404
- return f"{self.search_by_dql(dql=dql)}"
433
+ return f"{self.search_by_dql(dql=dql, extract_images=extract_images, prompt=prompt)}"
405
434
 
406
435
  def delete_test_case(self, qtest_id: int) -> str:
407
436
  """ Delete the test case by its id. Id should be in format 3534653120. """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.358
3
+ Version: 0.3.359
4
4
  Summary: SDK for building langchain agents using resources from Alita
5
5
  Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedj27@gmail.com>, Artem Dubrovskiy <ad13box@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -119,6 +119,7 @@ alita_sdk/runtime/tools/datasource.py
119
119
  alita_sdk/runtime/tools/echo.py
120
120
  alita_sdk/runtime/tools/function.py
121
121
  alita_sdk/runtime/tools/graph.py
122
+ alita_sdk/runtime/tools/image_generation.py
122
123
  alita_sdk/runtime/tools/indexer_tool.py
123
124
  alita_sdk/runtime/tools/llm.py
124
125
  alita_sdk/runtime/tools/loop.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "alita_sdk"
7
- version = "0.3.358"
7
+ version = "0.3.359"
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