alita-sdk 0.3.451__tar.gz → 0.3.452__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 (377) hide show
  1. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/PKG-INFO +1 -1
  2. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/langraph_agent.py +3 -3
  3. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/qtest/api_wrapper.py +158 -25
  4. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk.egg-info/PKG-INFO +1 -1
  5. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/pyproject.toml +1 -1
  6. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/LICENSE +0 -0
  7. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/README.md +0 -0
  8. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/__init__.py +0 -0
  9. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/community/__init__.py +0 -0
  10. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/community/utils.py +0 -0
  11. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/__init__.py +0 -0
  12. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/ado.py +0 -0
  13. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/azure_search.py +0 -0
  14. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/bigquery.py +0 -0
  15. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/bitbucket.py +0 -0
  16. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/browser.py +0 -0
  17. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/carrier.py +0 -0
  18. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/confluence.py +0 -0
  19. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/delta_lake.py +0 -0
  20. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/embedding.py +0 -0
  21. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/figma.py +0 -0
  22. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/github.py +0 -0
  23. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/gitlab.py +0 -0
  24. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/google_places.py +0 -0
  25. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/jira.py +0 -0
  26. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/pgvector.py +0 -0
  27. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/postman.py +0 -0
  28. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/qtest.py +0 -0
  29. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/rally.py +0 -0
  30. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/report_portal.py +0 -0
  31. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/salesforce.py +0 -0
  32. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/service_now.py +0 -0
  33. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/sharepoint.py +0 -0
  34. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/slack.py +0 -0
  35. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/sonar.py +0 -0
  36. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/sql.py +0 -0
  37. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/testio.py +0 -0
  38. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/testrail.py +0 -0
  39. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/xray.py +0 -0
  40. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/zephyr.py +0 -0
  41. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/zephyr_enterprise.py +0 -0
  42. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/configurations/zephyr_essential.py +0 -0
  43. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/__init__.py +0 -0
  44. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/clients/__init__.py +0 -0
  45. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/clients/artifact.py +0 -0
  46. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/clients/client.py +0 -0
  47. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/clients/datasource.py +0 -0
  48. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/clients/mcp_discovery.py +0 -0
  49. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/clients/mcp_manager.py +0 -0
  50. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/clients/prompt.py +0 -0
  51. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/clients/sandbox_client.py +0 -0
  52. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/__init__.py +0 -0
  53. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
  54. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
  55. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/assistant.py +0 -0
  56. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
  57. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/constants.py +0 -0
  58. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
  59. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
  60. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
  61. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
  62. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
  63. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
  64. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
  65. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
  66. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaJSONLoader.py +0 -0
  67. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
  68. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaMarkdownLoader.py +0 -0
  69. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaPDFLoader.py +0 -0
  70. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaPowerPointLoader.py +0 -0
  71. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaPythonLoader.py +0 -0
  72. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
  73. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
  74. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/AlitaTextLoader.py +0 -0
  75. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/ImageParser.py +0 -0
  76. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
  77. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
  78. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
  79. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/indexer.py +0 -0
  80. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
  81. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
  82. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
  83. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
  84. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
  85. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
  86. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
  87. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
  88. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
  89. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
  90. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/store_manager.py +0 -0
  91. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
  92. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
  93. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
  94. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
  95. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
  96. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
  97. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/tools/git.py +0 -0
  98. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/tools/log.py +0 -0
  99. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
  100. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/tools/state.py +0 -0
  101. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
  102. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
  103. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/langchain/utils.py +0 -0
  104. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/llms/__init__.py +0 -0
  105. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/llms/preloaded.py +0 -0
  106. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/models/mcp_models.py +0 -0
  107. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/toolkits/__init__.py +0 -0
  108. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/toolkits/application.py +0 -0
  109. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/toolkits/artifact.py +0 -0
  110. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/toolkits/configurations.py +0 -0
  111. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/toolkits/datasource.py +0 -0
  112. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/toolkits/mcp.py +0 -0
  113. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/toolkits/prompt.py +0 -0
  114. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
  115. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/toolkits/tools.py +0 -0
  116. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
  117. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/__init__.py +0 -0
  118. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/agent.py +0 -0
  119. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/application.py +0 -0
  120. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/artifact.py +0 -0
  121. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/datasource.py +0 -0
  122. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/echo.py +0 -0
  123. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/function.py +0 -0
  124. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/graph.py +0 -0
  125. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/image_generation.py +0 -0
  126. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
  127. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/llm.py +0 -0
  128. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/loop.py +0 -0
  129. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/loop_output.py +0 -0
  130. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/mcp_inspect_tool.py +0 -0
  131. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/mcp_remote_tool.py +0 -0
  132. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
  133. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
  134. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/prompt.py +0 -0
  135. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/router.py +0 -0
  136. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/sandbox.py +0 -0
  137. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/tool.py +0 -0
  138. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/vectorstore.py +0 -0
  139. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/tools/vectorstore_base.py +0 -0
  140. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
  141. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/utils/__init__.py +0 -0
  142. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/utils/constants.py +0 -0
  143. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/utils/evaluate.py +0 -0
  144. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/utils/logging.py +0 -0
  145. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/utils/mcp_oauth.py +0 -0
  146. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/utils/mcp_sse_client.py +0 -0
  147. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
  148. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/utils/streamlit.py +0 -0
  149. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/utils/toolkit_runtime.py +0 -0
  150. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/utils/toolkit_utils.py +0 -0
  151. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/runtime/utils/utils.py +0 -0
  152. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/__init__.py +0 -0
  153. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/ado/__init__.py +0 -0
  154. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/ado/repos/__init__.py +0 -0
  155. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
  156. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/ado/test_plan/__init__.py +0 -0
  157. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +0 -0
  158. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/ado/utils.py +0 -0
  159. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/ado/wiki/__init__.py +0 -0
  160. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/ado/wiki/ado_wrapper.py +0 -0
  161. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/ado/work_item/__init__.py +0 -0
  162. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
  163. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
  164. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
  165. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/aws/__init__.py +0 -0
  166. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/aws/delta_lake/__init__.py +0 -0
  167. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/aws/delta_lake/api_wrapper.py +0 -0
  168. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/aws/delta_lake/schemas.py +0 -0
  169. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/aws/delta_lake/tool.py +0 -0
  170. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/azure_ai/__init__.py +0 -0
  171. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/azure_ai/search/__init__.py +0 -0
  172. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
  173. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/base/__init__.py +0 -0
  174. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/base/tool.py +0 -0
  175. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/base_indexer_toolkit.py +0 -0
  176. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/bitbucket/__init__.py +0 -0
  177. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
  178. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
  179. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
  180. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/browser/__init__.py +0 -0
  181. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/browser/crawler.py +0 -0
  182. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
  183. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/browser/google_search_rag.py +0 -0
  184. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/browser/utils.py +0 -0
  185. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/browser/wiki.py +0 -0
  186. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/__init__.py +0 -0
  187. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
  188. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
  189. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
  190. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
  191. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
  192. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
  193. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
  194. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
  195. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
  196. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
  197. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
  198. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/tools.py +0 -0
  199. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
  200. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
  201. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/carrier/utils.py +0 -0
  202. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/__init__.py +0 -0
  203. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
  204. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
  205. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/constants.py +0 -0
  206. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
  207. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
  208. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
  209. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
  210. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
  211. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
  212. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
  213. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
  214. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
  215. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
  216. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
  217. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
  218. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
  219. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
  220. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
  221. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/models.py +0 -0
  222. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
  223. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
  224. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/sematic/json_chunker.py +0 -0
  225. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
  226. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
  227. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
  228. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/chunkers/utils.py +0 -0
  229. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/cloud/__init__.py +0 -0
  230. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
  231. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
  232. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
  233. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
  234. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
  235. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
  236. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
  237. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
  238. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/code/__init__.py +0 -0
  239. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/code/linter/__init__.py +0 -0
  240. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
  241. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
  242. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/code/sonar/__init__.py +0 -0
  243. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
  244. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/code_indexer_toolkit.py +0 -0
  245. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/confluence/__init__.py +0 -0
  246. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
  247. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/confluence/loader.py +0 -0
  248. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/confluence/utils.py +0 -0
  249. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
  250. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
  251. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/elastic/__init__.py +0 -0
  252. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
  253. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/elitea_base.py +0 -0
  254. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/figma/__init__.py +0 -0
  255. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/figma/api_wrapper.py +0 -0
  256. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/github/__init__.py +0 -0
  257. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/github/api_wrapper.py +0 -0
  258. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/github/github_client.py +0 -0
  259. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
  260. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/github/schemas.py +0 -0
  261. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/github/tool.py +0 -0
  262. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/github/tool_prompts.py +0 -0
  263. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/gitlab/__init__.py +0 -0
  264. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
  265. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/gitlab/tools.py +0 -0
  266. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/gitlab/utils.py +0 -0
  267. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
  268. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
  269. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/gmail/__init__.py +0 -0
  270. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
  271. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/gmail/utils.py +0 -0
  272. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/google/__init__.py +0 -0
  273. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/google/bigquery/__init__.py +0 -0
  274. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/google/bigquery/api_wrapper.py +0 -0
  275. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/google/bigquery/schemas.py +0 -0
  276. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/google/bigquery/tool.py +0 -0
  277. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/google_places/__init__.py +0 -0
  278. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
  279. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/jira/__init__.py +0 -0
  280. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/jira/api_wrapper.py +0 -0
  281. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/keycloak/__init__.py +0 -0
  282. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
  283. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/llm/__init__.py +0 -0
  284. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/llm/img_utils.py +0 -0
  285. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/llm/llm_utils.py +0 -0
  286. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/localgit/__init__.py +0 -0
  287. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/localgit/local_git.py +0 -0
  288. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/localgit/tool.py +0 -0
  289. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/memory/__init__.py +0 -0
  290. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/non_code_indexer_toolkit.py +0 -0
  291. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/ocr/__init__.py +0 -0
  292. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
  293. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/ocr/text_detection.py +0 -0
  294. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/openapi/__init__.py +0 -0
  295. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/__init__.py +0 -0
  296. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
  297. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
  298. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
  299. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
  300. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
  301. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
  302. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
  303. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
  304. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
  305. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
  306. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
  307. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
  308. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
  309. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
  310. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
  311. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
  312. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
  313. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
  314. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/postman/__init__.py +0 -0
  315. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/postman/api_wrapper.py +0 -0
  316. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/postman/postman_analysis.py +0 -0
  317. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pptx/__init__.py +0 -0
  318. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
  319. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/qtest/__init__.py +0 -0
  320. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/qtest/tool.py +0 -0
  321. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/rally/__init__.py +0 -0
  322. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/rally/api_wrapper.py +0 -0
  323. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/report_portal/__init__.py +0 -0
  324. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
  325. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
  326. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/salesforce/__init__.py +0 -0
  327. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
  328. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/salesforce/model.py +0 -0
  329. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/servicenow/__init__.py +0 -0
  330. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
  331. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
  332. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/sharepoint/__init__.py +0 -0
  333. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/sharepoint/api_wrapper.py +0 -0
  334. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
  335. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/sharepoint/utils.py +0 -0
  336. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/slack/__init__.py +0 -0
  337. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/slack/api_wrapper.py +0 -0
  338. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/sql/__init__.py +0 -0
  339. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/sql/api_wrapper.py +0 -0
  340. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/sql/models.py +0 -0
  341. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/testio/__init__.py +0 -0
  342. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/testio/api_wrapper.py +0 -0
  343. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/testrail/__init__.py +0 -0
  344. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
  345. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/utils/__init__.py +0 -0
  346. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/utils/available_tools_decorator.py +0 -0
  347. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/utils/content_parser.py +0 -0
  348. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/vector_adapters/VectorStoreAdapter.py +0 -0
  349. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/vector_adapters/__init__.py +0 -0
  350. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/xray/__init__.py +0 -0
  351. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/xray/api_wrapper.py +0 -0
  352. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/yagmail/__init__.py +0 -0
  353. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
  354. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
  355. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr/__init__.py +0 -0
  356. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
  357. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr/rest_client.py +0 -0
  358. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr_enterprise/__init__.py +0 -0
  359. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +0 -0
  360. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
  361. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr_essential/__init__.py +0 -0
  362. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr_essential/api_wrapper.py +0 -0
  363. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr_essential/client.py +0 -0
  364. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
  365. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -0
  366. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr_squad/__init__.py +0 -0
  367. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -0
  368. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +0 -0
  369. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk.egg-info/SOURCES.txt +0 -0
  370. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk.egg-info/dependency_links.txt +0 -0
  371. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk.egg-info/requires.txt +0 -0
  372. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/alita_sdk.egg-info/top_level.txt +0 -0
  373. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/setup.cfg +0 -0
  374. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/tests/test_ado_analysis.py +0 -0
  375. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/tests/test_github_analysis.py +0 -0
  376. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/tests/test_gitlab_analysis.py +0 -0
  377. {alita_sdk-0.3.451 → alita_sdk-0.3.452}/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.451
3
+ Version: 0.3.452
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
@@ -475,10 +475,10 @@ def create_graph(
475
475
  if toolkit_name:
476
476
  tool_name = f"{clean_string(toolkit_name)}{TOOLKIT_SPLITTER}{tool_name}"
477
477
  logger.info(f"Node: {node_id} : {node_type} - {tool_name}")
478
- if node_type in ['function', 'tool', 'loop', 'loop_from_tool', 'indexer', 'subgraph', 'pipeline', 'agent']:
478
+ if node_type in ['function', 'toolkit', 'mcp', 'tool', 'loop', 'loop_from_tool', 'indexer', 'subgraph', 'pipeline', 'agent']:
479
479
  for tool in tools:
480
480
  if tool.name == tool_name:
481
- if node_type == 'function':
481
+ if node_type in ['function', 'toolkit', 'mcp']:
482
482
  lg_builder.add_node(node_id, FunctionTool(
483
483
  tool=tool, name=node_id, return_type='dict',
484
484
  output_variables=node.get('output', []),
@@ -663,7 +663,7 @@ def create_graph(
663
663
  lg_builder.add_node(reset_node_id, PrinterNode(
664
664
  input_mapping={'printer': {'type': 'fixed', 'value': ''}}
665
665
  ))
666
- lg_builder.add_edge(node_id, reset_node_id)
666
+ lg_builder.add_conditional_edges(node_id, TransitionalEdge(reset_node_id))
667
667
  lg_builder.add_conditional_edges(reset_node_id, TransitionalEdge(clean_string(node['transition'])))
668
668
  continue
669
669
  if node.get('transition'):
@@ -5,6 +5,7 @@ import re
5
5
  from traceback import format_exc
6
6
  from typing import Any, Optional
7
7
 
8
+ import requests
8
9
  import swagger_client
9
10
  from langchain_core.tools import ToolException
10
11
  from pydantic import Field, PrivateAttr, model_validator, create_model, SecretStr
@@ -414,6 +415,143 @@ class QtestApiWrapper(BaseToolApiWrapper):
414
415
  Exception: \n {stacktrace}""")
415
416
  return modules
416
417
 
418
+ def __get_field_definitions_from_properties_api(self) -> dict:
419
+ """
420
+ Fallback method: Get field definitions using /properties and /properties-info APIs.
421
+
422
+ These APIs don't require Field Management permission and are available to all users.
423
+ Requires 2 API calls + 1 search to get a test case ID.
424
+
425
+ Returns:
426
+ dict: Same structure as __get_project_field_definitions()
427
+ """
428
+ logger.info(
429
+ "Using properties API fallback (no Field Management permission). "
430
+ "This requires getting a template test case first."
431
+ )
432
+
433
+ # Step 1: Get any test case ID to query properties
434
+ search_instance = swagger_client.SearchApi(self._client)
435
+ body = swagger_client.ArtifactSearchParams(
436
+ object_type='test-cases',
437
+ fields=['*'],
438
+ query='' # Empty query returns all test cases
439
+ )
440
+
441
+ try:
442
+ # Search for any test case - just need one
443
+ response = search_instance.search_artifact(
444
+ self.qtest_project_id,
445
+ body,
446
+ page_size=1,
447
+ page=1
448
+ )
449
+ except ApiException as e:
450
+ stacktrace = format_exc()
451
+ logger.error(f"Failed to find test case for properties API: {stacktrace}")
452
+ raise ValueError(
453
+ f"Cannot find any test case to query field definitions. "
454
+ f"Please create at least one test case in project {self.qtest_project_id}"
455
+ ) from e
456
+
457
+ if not response or not response.get('items') or len(response['items']) == 0:
458
+ raise ValueError(
459
+ f"No test cases found in project {self.qtest_project_id}. "
460
+ f"Please create at least one test case to retrieve field definitions."
461
+ )
462
+
463
+ test_case_id = response['items'][0]['id']
464
+ logger.info(f"Using test case ID {test_case_id} to retrieve field definitions")
465
+
466
+ # Step 2: Call /properties API
467
+ headers = {
468
+ "Authorization": f"Bearer {self.qtest_api_token.get_secret_value()}"
469
+ }
470
+
471
+ properties_url = f"{self.base_url}/api/v3/projects/{self.qtest_project_id}/test-cases/{test_case_id}/properties"
472
+ properties_info_url = f"{self.base_url}/api/v3/projects/{self.qtest_project_id}/test-cases/{test_case_id}/properties-info"
473
+
474
+ try:
475
+ # Get properties with current values and field metadata
476
+ props_response = requests.get(
477
+ properties_url,
478
+ headers=headers,
479
+ params={'calledBy': 'testcase_properties'}
480
+ )
481
+ props_response.raise_for_status()
482
+ properties_data = props_response.json()
483
+
484
+ # Get properties-info with data types and allowed values
485
+ info_response = requests.get(properties_info_url, headers=headers)
486
+ info_response.raise_for_status()
487
+ info_data = info_response.json()
488
+
489
+ except requests.exceptions.RequestException as e:
490
+ stacktrace = format_exc()
491
+ logger.error(f"Failed to call properties API: {stacktrace}")
492
+ raise ValueError(
493
+ f"Unable to retrieve field definitions using properties API. "
494
+ f"Error: {stacktrace}"
495
+ ) from e
496
+
497
+ # Step 3: Build field mapping by merging both responses
498
+ field_mapping = {}
499
+
500
+ # Create lookup by field ID from properties-info
501
+ metadata_by_id = {item['id']: item for item in info_data['metadata']}
502
+
503
+ # Data type mapping to determine 'multiple' flag
504
+ MULTI_SELECT_TYPES = {
505
+ 'UserListDataType',
506
+ 'MultiSelectionDataType',
507
+ 'CheckListDataType'
508
+ }
509
+
510
+ USER_FIELD_TYPES = {'UserListDataType'}
511
+
512
+ # System fields to exclude (same as in property mapping)
513
+ excluded_fields = {'Shared', 'Projects Shared to'}
514
+
515
+ for prop in properties_data:
516
+ field_name = prop.get('name')
517
+ field_id = prop.get('id')
518
+
519
+ if not field_name or field_name in excluded_fields:
520
+ continue
521
+
522
+ # Get metadata for this field
523
+ metadata = metadata_by_id.get(field_id, {})
524
+ data_type_str = metadata.get('data_type')
525
+
526
+ # Determine data_type number (5 for user fields, None for others)
527
+ data_type = 5 if data_type_str in USER_FIELD_TYPES else None
528
+
529
+ # Determine if multi-select
530
+ is_multiple = data_type_str in MULTI_SELECT_TYPES
531
+
532
+ field_mapping[field_name] = {
533
+ 'field_id': field_id,
534
+ 'required': prop.get('required', False),
535
+ 'data_type': data_type,
536
+ 'multiple': is_multiple,
537
+ 'values': {}
538
+ }
539
+
540
+ # Map allowed values from metadata
541
+ allowed_values = metadata.get('allowed_values', [])
542
+ for allowed_val in allowed_values:
543
+ value_text = allowed_val.get('value_text')
544
+ value_id = allowed_val.get('id')
545
+ if value_text and value_id:
546
+ field_mapping[field_name]['values'][value_text] = value_id
547
+
548
+ logger.info(
549
+ f"Retrieved {len(field_mapping)} field definitions using properties API. "
550
+ f"This method works for all users without Field Management permission."
551
+ )
552
+
553
+ return field_mapping
554
+
417
555
  def __get_project_field_definitions(self) -> dict:
418
556
  """
419
557
  Get structured field definitions for test cases in the project.
@@ -439,6 +577,15 @@ class QtestApiWrapper(BaseToolApiWrapper):
439
577
  try:
440
578
  fields = fields_api.get_fields(self.qtest_project_id, qtest_object)
441
579
  except ApiException as e:
580
+ # Check if permission denied (403) - use fallback
581
+ if e.status == 403:
582
+ logger.warning(
583
+ "get_fields permission denied (Field Management permission required). "
584
+ "Using properties API fallback..."
585
+ )
586
+ return self.__get_field_definitions_from_properties_api()
587
+
588
+ # Other API errors
442
589
  stacktrace = format_exc()
443
590
  logger.error(f"Exception when calling FieldAPI->get_fields:\n {stacktrace}")
444
591
  raise ValueError(
@@ -556,8 +703,8 @@ class QtestApiWrapper(BaseToolApiWrapper):
556
703
  def __parse_data(self, response_to_parse: dict, parsed_data: list, extract_images: bool=False, prompt: str=None):
557
704
  import html
558
705
 
559
- # Get field definitions to ensure all fields are included (uses cached version)
560
- field_definitions = self.__get_field_definitions_cached()
706
+ # PERMISSION-FREE: Parse properties directly from API response
707
+ # No get_fields call needed - works for all users
561
708
 
562
709
  for item in response_to_parse['items']:
563
710
  # Start with core fields (always present)
@@ -574,29 +721,15 @@ class QtestApiWrapper(BaseToolApiWrapper):
574
721
  }, enumerate(item['test_steps']))),
575
722
  }
576
723
 
577
- # Dynamically add all custom fields from project configuration
578
- # This ensures consistency and includes fields even if they have null/empty values
579
- for field_name in field_definitions.keys():
580
- field_def = field_definitions[field_name]
581
- is_multiple = field_def.get('multiple', False)
582
-
583
- # Find the property value in the response (if exists)
584
- field_value = None
585
- for prop in item['properties']:
586
- if prop['field_name'] == field_name:
587
- # Use field_value_name if available (for dropdowns), otherwise field_value
588
- field_value = prop.get('field_value_name') or prop.get('field_value') or ''
589
- break
590
-
591
- # Format based on field type
592
- if is_multiple and (field_value is None or field_value == ''):
593
- # Multi-select field with no value: show empty array with hint
594
- parsed_data_row[field_name] = '[] (multi-select)'
595
- elif field_value is not None:
596
- parsed_data_row[field_name] = field_value
597
- else:
598
- # Regular field with no value
599
- parsed_data_row[field_name] = ''
724
+ # Add custom fields directly from API response properties
725
+ for prop in item['properties']:
726
+ field_name = prop.get('field_name')
727
+ if not field_name:
728
+ continue
729
+
730
+ # Use field_value_name if available (for dropdowns/users), otherwise field_value
731
+ field_value = prop.get('field_value_name') or prop.get('field_value') or ''
732
+ parsed_data_row[field_name] = field_value
600
733
 
601
734
  parsed_data.append(parsed_data_row)
602
735
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.451
3
+ Version: 0.3.452
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "alita_sdk"
7
- version = "0.3.451"
7
+ version = "0.3.452"
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