alita-sdk 0.3.438__tar.gz → 0.3.439__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 (376) hide show
  1. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/PKG-INFO +1 -1
  2. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/clients/client.py +16 -6
  3. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/assistant.py +10 -2
  4. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/toolkits/mcp.py +23 -1
  5. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/toolkits/tools.py +13 -2
  6. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/mcp_remote_tool.py +28 -0
  7. alita_sdk-0.3.439/alita_sdk/runtime/utils/mcp_oauth.py +103 -0
  8. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk.egg-info/PKG-INFO +1 -1
  9. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk.egg-info/SOURCES.txt +1 -0
  10. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/pyproject.toml +1 -1
  11. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/LICENSE +0 -0
  12. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/README.md +0 -0
  13. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/__init__.py +0 -0
  14. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/community/__init__.py +0 -0
  15. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/community/utils.py +0 -0
  16. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/__init__.py +0 -0
  17. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/ado.py +0 -0
  18. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/azure_search.py +0 -0
  19. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/bigquery.py +0 -0
  20. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/bitbucket.py +0 -0
  21. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/browser.py +0 -0
  22. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/carrier.py +0 -0
  23. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/confluence.py +0 -0
  24. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/delta_lake.py +0 -0
  25. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/embedding.py +0 -0
  26. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/figma.py +0 -0
  27. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/github.py +0 -0
  28. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/gitlab.py +0 -0
  29. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/google_places.py +0 -0
  30. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/jira.py +0 -0
  31. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/pgvector.py +0 -0
  32. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/postman.py +0 -0
  33. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/qtest.py +0 -0
  34. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/rally.py +0 -0
  35. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/report_portal.py +0 -0
  36. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/salesforce.py +0 -0
  37. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/service_now.py +0 -0
  38. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/sharepoint.py +0 -0
  39. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/slack.py +0 -0
  40. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/sonar.py +0 -0
  41. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/sql.py +0 -0
  42. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/testio.py +0 -0
  43. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/testrail.py +0 -0
  44. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/xray.py +0 -0
  45. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/zephyr.py +0 -0
  46. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/zephyr_enterprise.py +0 -0
  47. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/configurations/zephyr_essential.py +0 -0
  48. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/__init__.py +0 -0
  49. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/clients/__init__.py +0 -0
  50. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/clients/artifact.py +0 -0
  51. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/clients/datasource.py +0 -0
  52. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/clients/mcp_discovery.py +0 -0
  53. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/clients/mcp_manager.py +0 -0
  54. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/clients/prompt.py +0 -0
  55. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/clients/sandbox_client.py +0 -0
  56. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/__init__.py +0 -0
  57. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
  58. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
  59. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
  60. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/constants.py +0 -0
  61. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
  62. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
  63. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
  64. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
  65. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
  66. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
  67. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
  68. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
  69. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaJSONLoader.py +0 -0
  70. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
  71. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaMarkdownLoader.py +0 -0
  72. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaPDFLoader.py +0 -0
  73. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaPowerPointLoader.py +0 -0
  74. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaPythonLoader.py +0 -0
  75. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
  76. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
  77. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/AlitaTextLoader.py +0 -0
  78. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/ImageParser.py +0 -0
  79. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
  80. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
  81. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
  82. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/indexer.py +0 -0
  83. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
  84. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
  85. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
  86. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
  87. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
  88. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/langraph_agent.py +0 -0
  89. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
  90. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
  91. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
  92. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
  93. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
  94. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/store_manager.py +0 -0
  95. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
  96. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
  97. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
  98. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
  99. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
  100. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
  101. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/tools/git.py +0 -0
  102. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/tools/log.py +0 -0
  103. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
  104. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/tools/state.py +0 -0
  105. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
  106. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
  107. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/langchain/utils.py +0 -0
  108. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/llms/__init__.py +0 -0
  109. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/llms/preloaded.py +0 -0
  110. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/models/mcp_models.py +0 -0
  111. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/toolkits/__init__.py +0 -0
  112. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/toolkits/application.py +0 -0
  113. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/toolkits/artifact.py +0 -0
  114. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/toolkits/configurations.py +0 -0
  115. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/toolkits/datasource.py +0 -0
  116. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/toolkits/prompt.py +0 -0
  117. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
  118. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
  119. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/__init__.py +0 -0
  120. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/agent.py +0 -0
  121. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/application.py +0 -0
  122. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/artifact.py +0 -0
  123. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/datasource.py +0 -0
  124. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/echo.py +0 -0
  125. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/function.py +0 -0
  126. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/graph.py +0 -0
  127. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/image_generation.py +0 -0
  128. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
  129. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/llm.py +0 -0
  130. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/loop.py +0 -0
  131. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/loop_output.py +0 -0
  132. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/mcp_inspect_tool.py +0 -0
  133. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
  134. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
  135. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/prompt.py +0 -0
  136. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/router.py +0 -0
  137. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/sandbox.py +0 -0
  138. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/tool.py +0 -0
  139. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/vectorstore.py +0 -0
  140. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/tools/vectorstore_base.py +0 -0
  141. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
  142. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/utils/__init__.py +0 -0
  143. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/utils/constants.py +0 -0
  144. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/utils/evaluate.py +0 -0
  145. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/utils/logging.py +0 -0
  146. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
  147. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/utils/streamlit.py +0 -0
  148. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/utils/toolkit_runtime.py +0 -0
  149. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/utils/toolkit_utils.py +0 -0
  150. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/runtime/utils/utils.py +0 -0
  151. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/__init__.py +0 -0
  152. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/ado/__init__.py +0 -0
  153. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/ado/repos/__init__.py +0 -0
  154. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
  155. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/ado/test_plan/__init__.py +0 -0
  156. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +0 -0
  157. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/ado/utils.py +0 -0
  158. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/ado/wiki/__init__.py +0 -0
  159. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/ado/wiki/ado_wrapper.py +0 -0
  160. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/ado/work_item/__init__.py +0 -0
  161. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
  162. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
  163. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
  164. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/aws/__init__.py +0 -0
  165. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/aws/delta_lake/__init__.py +0 -0
  166. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/aws/delta_lake/api_wrapper.py +0 -0
  167. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/aws/delta_lake/schemas.py +0 -0
  168. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/aws/delta_lake/tool.py +0 -0
  169. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/azure_ai/__init__.py +0 -0
  170. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/azure_ai/search/__init__.py +0 -0
  171. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
  172. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/base/__init__.py +0 -0
  173. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/base/tool.py +0 -0
  174. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/base_indexer_toolkit.py +0 -0
  175. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/bitbucket/__init__.py +0 -0
  176. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
  177. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
  178. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
  179. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/browser/__init__.py +0 -0
  180. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/browser/crawler.py +0 -0
  181. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
  182. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/browser/google_search_rag.py +0 -0
  183. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/browser/utils.py +0 -0
  184. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/browser/wiki.py +0 -0
  185. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/__init__.py +0 -0
  186. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
  187. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
  188. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
  189. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
  190. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
  191. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
  192. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
  193. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
  194. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
  195. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
  196. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
  197. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/tools.py +0 -0
  198. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
  199. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
  200. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/carrier/utils.py +0 -0
  201. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/__init__.py +0 -0
  202. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
  203. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
  204. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/constants.py +0 -0
  205. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
  206. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
  207. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
  208. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
  209. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
  210. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
  211. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
  212. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
  213. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
  214. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
  215. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
  216. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
  217. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
  218. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
  219. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
  220. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/models.py +0 -0
  221. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
  222. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
  223. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/sematic/json_chunker.py +0 -0
  224. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
  225. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
  226. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
  227. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/chunkers/utils.py +0 -0
  228. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/cloud/__init__.py +0 -0
  229. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
  230. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
  231. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
  232. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
  233. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
  234. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
  235. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
  236. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
  237. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/code/__init__.py +0 -0
  238. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/code/linter/__init__.py +0 -0
  239. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
  240. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
  241. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/code/sonar/__init__.py +0 -0
  242. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
  243. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/code_indexer_toolkit.py +0 -0
  244. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/confluence/__init__.py +0 -0
  245. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
  246. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/confluence/loader.py +0 -0
  247. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/confluence/utils.py +0 -0
  248. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
  249. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
  250. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/elastic/__init__.py +0 -0
  251. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
  252. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/elitea_base.py +0 -0
  253. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/figma/__init__.py +0 -0
  254. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/figma/api_wrapper.py +0 -0
  255. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/github/__init__.py +0 -0
  256. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/github/api_wrapper.py +0 -0
  257. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/github/github_client.py +0 -0
  258. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
  259. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/github/schemas.py +0 -0
  260. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/github/tool.py +0 -0
  261. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/github/tool_prompts.py +0 -0
  262. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/gitlab/__init__.py +0 -0
  263. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
  264. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/gitlab/tools.py +0 -0
  265. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/gitlab/utils.py +0 -0
  266. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
  267. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
  268. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/gmail/__init__.py +0 -0
  269. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
  270. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/gmail/utils.py +0 -0
  271. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/google/__init__.py +0 -0
  272. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/google/bigquery/__init__.py +0 -0
  273. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/google/bigquery/api_wrapper.py +0 -0
  274. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/google/bigquery/schemas.py +0 -0
  275. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/google/bigquery/tool.py +0 -0
  276. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/google_places/__init__.py +0 -0
  277. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
  278. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/jira/__init__.py +0 -0
  279. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/jira/api_wrapper.py +0 -0
  280. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/keycloak/__init__.py +0 -0
  281. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
  282. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/llm/__init__.py +0 -0
  283. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/llm/img_utils.py +0 -0
  284. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/llm/llm_utils.py +0 -0
  285. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/localgit/__init__.py +0 -0
  286. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/localgit/local_git.py +0 -0
  287. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/localgit/tool.py +0 -0
  288. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/memory/__init__.py +0 -0
  289. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/non_code_indexer_toolkit.py +0 -0
  290. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/ocr/__init__.py +0 -0
  291. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
  292. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/ocr/text_detection.py +0 -0
  293. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/openapi/__init__.py +0 -0
  294. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/__init__.py +0 -0
  295. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
  296. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
  297. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
  298. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
  299. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
  300. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
  301. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
  302. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
  303. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
  304. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
  305. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
  306. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
  307. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
  308. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
  309. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
  310. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
  311. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
  312. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
  313. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/postman/__init__.py +0 -0
  314. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/postman/api_wrapper.py +0 -0
  315. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/postman/postman_analysis.py +0 -0
  316. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pptx/__init__.py +0 -0
  317. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
  318. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/qtest/__init__.py +0 -0
  319. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/qtest/api_wrapper.py +0 -0
  320. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/qtest/tool.py +0 -0
  321. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/rally/__init__.py +0 -0
  322. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/rally/api_wrapper.py +0 -0
  323. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/report_portal/__init__.py +0 -0
  324. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
  325. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
  326. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/salesforce/__init__.py +0 -0
  327. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
  328. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/salesforce/model.py +0 -0
  329. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/servicenow/__init__.py +0 -0
  330. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
  331. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
  332. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/sharepoint/__init__.py +0 -0
  333. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/sharepoint/api_wrapper.py +0 -0
  334. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
  335. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/sharepoint/utils.py +0 -0
  336. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/slack/__init__.py +0 -0
  337. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/slack/api_wrapper.py +0 -0
  338. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/sql/__init__.py +0 -0
  339. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/sql/api_wrapper.py +0 -0
  340. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/sql/models.py +0 -0
  341. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/testio/__init__.py +0 -0
  342. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/testio/api_wrapper.py +0 -0
  343. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/testrail/__init__.py +0 -0
  344. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
  345. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/utils/__init__.py +0 -0
  346. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/utils/available_tools_decorator.py +0 -0
  347. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/utils/content_parser.py +0 -0
  348. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/vector_adapters/VectorStoreAdapter.py +0 -0
  349. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/vector_adapters/__init__.py +0 -0
  350. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/xray/__init__.py +0 -0
  351. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/xray/api_wrapper.py +0 -0
  352. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/yagmail/__init__.py +0 -0
  353. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
  354. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
  355. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr/__init__.py +0 -0
  356. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
  357. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr/rest_client.py +0 -0
  358. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr_enterprise/__init__.py +0 -0
  359. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +0 -0
  360. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
  361. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr_essential/__init__.py +0 -0
  362. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr_essential/api_wrapper.py +0 -0
  363. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr_essential/client.py +0 -0
  364. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
  365. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -0
  366. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr_squad/__init__.py +0 -0
  367. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -0
  368. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +0 -0
  369. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk.egg-info/dependency_links.txt +0 -0
  370. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk.egg-info/requires.txt +0 -0
  371. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/alita_sdk.egg-info/top_level.txt +0 -0
  372. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/setup.cfg +0 -0
  373. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/tests/test_ado_analysis.py +0 -0
  374. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/tests/test_github_analysis.py +0 -0
  375. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/tests/test_gitlab_analysis.py +0 -0
  376. {alita_sdk-0.3.438 → alita_sdk-0.3.439}/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.438
3
+ Version: 0.3.439
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
@@ -303,7 +303,7 @@ class AlitaClient:
303
303
  app_type=None, memory=None, runtime='langchain',
304
304
  application_variables: Optional[dict] = None,
305
305
  version_details: Optional[dict] = None, store: Optional[BaseStore] = None,
306
- llm: Optional[ChatOpenAI] = None):
306
+ llm: Optional[ChatOpenAI] = None, mcp_tokens: Optional[dict] = None):
307
307
  if tools is None:
308
308
  tools = []
309
309
  if chat_history is None:
@@ -344,11 +344,11 @@ class AlitaClient:
344
344
  app_type = "react"
345
345
  if runtime == 'nonrunnable':
346
346
  return LangChainAssistant(self, data, llm, chat_history, app_type,
347
- tools=tools, memory=memory, store=store)
347
+ tools=tools, memory=memory, store=store, mcp_tokens=mcp_tokens)
348
348
  if runtime == 'langchain':
349
349
  return LangChainAssistant(self, data, llm,
350
350
  chat_history, app_type,
351
- tools=tools, memory=memory, store=store).runnable()
351
+ tools=tools, memory=memory, store=store, mcp_tokens=mcp_tokens).runnable()
352
352
  elif runtime == 'llama':
353
353
  raise NotImplementedError("LLama runtime is not supported")
354
354
 
@@ -568,7 +568,8 @@ class AlitaClient:
568
568
  def predict_agent(self, llm: ChatOpenAI, instructions: str = "You are a helpful assistant.",
569
569
  tools: Optional[list] = None, chat_history: Optional[List[Any]] = None,
570
570
  memory=None, runtime='langchain', variables: Optional[list] = None,
571
- store: Optional[BaseStore] = None, debug_mode: Optional[bool] = False):
571
+ store: Optional[BaseStore] = None, debug_mode: Optional[bool] = False,
572
+ mcp_tokens: Optional[dict] = None):
572
573
  """
573
574
  Create a predict-type agent with minimal configuration.
574
575
 
@@ -604,8 +605,17 @@ class AlitaClient:
604
605
  'tools': tools, # Tool configs that will be processed by get_tools()
605
606
  'variables': variables
606
607
  }
607
- return LangChainAssistant(self, agent_data, llm,
608
- chat_history, "predict", memory=memory, store=store, debug_mode=debug_mode).runnable()
608
+ return LangChainAssistant(
609
+ self,
610
+ agent_data,
611
+ llm,
612
+ chat_history,
613
+ "predict",
614
+ memory=memory,
615
+ store=store,
616
+ debug_mode=debug_mode,
617
+ mcp_tokens=mcp_tokens
618
+ ).runnable()
609
619
 
610
620
  def test_toolkit_tool(self, toolkit_config: dict, tool_name: str, tool_params: dict = None,
611
621
  runtime_config: dict = None, llm_model: str = None,
@@ -31,7 +31,8 @@ class Assistant:
31
31
  tools: Optional[list] = [],
32
32
  memory: Optional[Any] = None,
33
33
  store: Optional[BaseStore] = None,
34
- debug_mode: Optional[bool] = False):
34
+ debug_mode: Optional[bool] = False,
35
+ mcp_tokens: Optional[dict] = None):
35
36
 
36
37
  self.app_type = app_type
37
38
  self.memory = memory
@@ -89,7 +90,14 @@ class Assistant:
89
90
  for internal_tool_name in meta.get("internal_tools"):
90
91
  version_tools.append({"type": "internal_tool", "name": internal_tool_name})
91
92
 
92
- self.tools = get_tools(version_tools, alita_client=alita, llm=self.client, memory_store=self.store, debug_mode=debug_mode)
93
+ self.tools = get_tools(
94
+ version_tools,
95
+ alita_client=alita,
96
+ llm=self.client,
97
+ memory_store=self.store,
98
+ debug_mode=debug_mode,
99
+ mcp_tokens=mcp_tokens
100
+ )
93
101
  if tools:
94
102
  self.tools += tools
95
103
  # Handle prompt setup
@@ -17,6 +17,12 @@ from ..tools.mcp_remote_tool import McpRemoteTool
17
17
  from ..tools.mcp_inspect_tool import McpInspectTool
18
18
  from ...tools.utils import TOOLKIT_SPLITTER, clean_string
19
19
  from ..models.mcp_models import McpConnectionConfig
20
+ from ..utils.mcp_oauth import (
21
+ McpAuthorizationRequired,
22
+ canonical_resource,
23
+ extract_resource_metadata_url,
24
+ fetch_resource_metadata,
25
+ )
20
26
 
21
27
  logger = logging.getLogger(__name__)
22
28
 
@@ -409,6 +415,9 @@ class McpToolkit(BaseToolkit):
409
415
  logger.error(f"Discovery error details - URL: {connection_config.url}, Timeout: {timeout}s")
410
416
 
411
417
  # Fallback to static mode if available and not already static
418
+ if isinstance(e, McpAuthorizationRequired):
419
+ # Authorization is required; surface upstream so the caller can prompt the user
420
+ raise
412
421
  if client and discovery_mode != "static":
413
422
  logger.info(f"Falling back to static discovery for toolkit '{toolkit_name}'")
414
423
  tools = cls._create_tools_static(toolkit_name, selected_tools, timeout, client)
@@ -534,6 +543,19 @@ class McpToolkit(BaseToolkit):
534
543
  timeout=timeout
535
544
  )
536
545
 
546
+ auth_header = response.headers.get('WWW-Authenticate', '')
547
+ if response.status_code == 401:
548
+ resource_metadata_url = extract_resource_metadata_url(auth_header)
549
+ metadata = fetch_resource_metadata(resource_metadata_url, timeout=timeout) if resource_metadata_url else None
550
+ raise McpAuthorizationRequired(
551
+ message=f"MCP server {connection_config.url} requires OAuth authorization",
552
+ server_url=canonical_resource(connection_config.url),
553
+ resource_metadata_url=resource_metadata_url,
554
+ www_authenticate=auth_header,
555
+ resource_metadata=metadata,
556
+ status=response.status_code,
557
+ )
558
+
537
559
  if response.status_code != 200:
538
560
  logger.error(f"MCP server returned non-200 status: {response.status_code}")
539
561
  raise Exception(f"HTTP {response.status_code}: {response.text}")
@@ -918,4 +940,4 @@ def get_all_discovered_servers():
918
940
  """Get status of all discovered servers."""
919
941
  from ..clients.mcp_discovery import get_discovery_service
920
942
  service = get_discovery_service()
921
- return service.get_server_health()
943
+ return service.get_server_health()
@@ -19,6 +19,7 @@ from ..tools.image_generation import ImageGenerationToolkit
19
19
  # Import community tools
20
20
  from ...community import get_toolkits as community_toolkits, get_tools as community_tools
21
21
  from ...tools.memory import MemoryToolkit
22
+ from ..utils.mcp_oauth import canonical_resource
22
23
  from ...tools.utils import TOOLKIT_SPLITTER
23
24
 
24
25
  logger = logging.getLogger(__name__)
@@ -37,7 +38,7 @@ def get_toolkits():
37
38
  return core_toolkits + community_toolkits() + alita_toolkits()
38
39
 
39
40
 
40
- def get_tools(tools_list: list, alita_client, llm, memory_store: BaseStore = None, debug_mode: Optional[bool] = False) -> list:
41
+ def get_tools(tools_list: list, alita_client, llm, memory_store: BaseStore = None, debug_mode: Optional[bool] = False, mcp_tokens: Optional[dict] = None) -> list:
41
42
  prompts = []
42
43
  tools = []
43
44
 
@@ -109,10 +110,20 @@ def get_tools(tools_list: list, alita_client, llm, memory_store: BaseStore = Non
109
110
  toolkit_name=tool.get('toolkit_name', ''),
110
111
  **tool['settings']).get_tools())
111
112
  elif tool['type'] == 'mcp':
113
+ settings = dict(tool['settings'])
114
+ url = settings.get('url')
115
+ headers = settings.get('headers')
116
+ token = None
117
+ if mcp_tokens and url:
118
+ token = mcp_tokens.get(canonical_resource(url))
119
+ if token:
120
+ merged_headers = dict(headers) if headers else {}
121
+ merged_headers.setdefault('Authorization', f'Bearer {token}')
122
+ settings['headers'] = merged_headers
112
123
  tools.extend(McpToolkit.get_toolkit(
113
124
  toolkit_name=tool.get('toolkit_name', ''),
114
125
  client=alita_client,
115
- **tool['settings']).get_tools())
126
+ **settings).get_tools())
116
127
  except Exception as e:
117
128
  logger.error(f"Error initializing toolkit for tool '{tool.get('name', 'unknown')}': {e}", exc_info=True)
118
129
  if debug_mode:
@@ -13,6 +13,12 @@ from typing import Any, Dict, Optional
13
13
 
14
14
  from .mcp_server_tool import McpServerTool
15
15
  from pydantic import Field
16
+ from ..utils.mcp_oauth import (
17
+ McpAuthorizationRequired,
18
+ canonical_resource,
19
+ extract_resource_metadata_url,
20
+ fetch_resource_metadata_async,
21
+ )
16
22
 
17
23
  logger = logging.getLogger(__name__)
18
24
 
@@ -48,6 +54,9 @@ class McpRemoteTool(McpServerTool):
48
54
  with ThreadPoolExecutor() as executor:
49
55
  future = executor.submit(self._run_in_new_loop, kwargs)
50
56
  return future.result(timeout=self.tool_timeout_sec)
57
+ except McpAuthorizationRequired:
58
+ # Bubble up so LangChain can surface a tool error with useful metadata
59
+ raise
51
60
  except Exception as e:
52
61
  logger.error(f"Error executing remote MCP tool '{self.name}': {e}")
53
62
  return f"Error executing tool: {e}"
@@ -110,6 +119,25 @@ class McpRemoteTool(McpServerTool):
110
119
  logger.debug(f"Request: {json.dumps(mcp_request, indent=2)}")
111
120
 
112
121
  async with session.post(self.server_url, json=mcp_request, headers=headers) as response:
122
+ auth_header = response.headers.get('WWW-Authenticate') or response.headers.get('Www-Authenticate')
123
+ if response.status == 401:
124
+ resource_metadata_url = extract_resource_metadata_url(auth_header)
125
+ metadata = None
126
+ if resource_metadata_url:
127
+ metadata = await fetch_resource_metadata_async(
128
+ resource_metadata_url,
129
+ session=session,
130
+ timeout=self.tool_timeout_sec,
131
+ )
132
+ raise McpAuthorizationRequired(
133
+ message=f"MCP server {self.server_url} requires OAuth authorization",
134
+ server_url=canonical_resource(self.server_url),
135
+ resource_metadata_url=resource_metadata_url,
136
+ www_authenticate=auth_header,
137
+ resource_metadata=metadata,
138
+ status=response.status,
139
+ )
140
+
113
141
  if response.status != 200:
114
142
  error_text = await response.text()
115
143
  raise Exception(f"HTTP {response.status}: {error_text}")
@@ -0,0 +1,103 @@
1
+ import json
2
+ import logging
3
+ import re
4
+ from typing import Any, Dict, Optional
5
+ from urllib.parse import urlparse
6
+
7
+ import requests
8
+ from langchain_core.tools import ToolException
9
+
10
+ logger = logging.getLogger(__name__)
11
+
12
+
13
+ class McpAuthorizationRequired(ToolException):
14
+ """Raised when an MCP server requires OAuth authorization before use."""
15
+
16
+ def __init__(
17
+ self,
18
+ message: str,
19
+ server_url: str,
20
+ resource_metadata_url: Optional[str] = None,
21
+ www_authenticate: Optional[str] = None,
22
+ resource_metadata: Optional[Dict[str, Any]] = None,
23
+ status: Optional[int] = None,
24
+ ):
25
+ super().__init__(message)
26
+ self.server_url = server_url
27
+ self.resource_metadata_url = resource_metadata_url
28
+ self.www_authenticate = www_authenticate
29
+ self.resource_metadata = resource_metadata
30
+ self.status = status
31
+
32
+ def to_dict(self) -> Dict[str, Any]:
33
+ return {
34
+ "message": str(self),
35
+ "server_url": self.server_url,
36
+ "resource_metadata_url": self.resource_metadata_url,
37
+ "www_authenticate": self.www_authenticate,
38
+ "resource_metadata": self.resource_metadata,
39
+ "status": self.status,
40
+ }
41
+
42
+
43
+ def extract_resource_metadata_url(www_authenticate: Optional[str]) -> Optional[str]:
44
+ """Pull the resource_metadata URL from a WWW-Authenticate header if present."""
45
+ if not www_authenticate:
46
+ return None
47
+
48
+ # RFC9728 returns `resource_metadata="<url>"` inside the header value
49
+ match = re.search(r'resource_metadata\s*=\s*\"?([^\", ]+)\"?', www_authenticate)
50
+ if match:
51
+ return match.group(1)
52
+ return None
53
+
54
+
55
+ def fetch_resource_metadata(resource_metadata_url: str, timeout: int = 10) -> Optional[Dict[str, Any]]:
56
+ """Fetch and parse the protected resource metadata document."""
57
+ try:
58
+ resp = requests.get(resource_metadata_url, timeout=timeout)
59
+ resp.raise_for_status()
60
+ return resp.json()
61
+ except Exception as exc: # broad catch – we want to surface auth requirement even if this fails
62
+ logger.warning("Failed to fetch resource metadata from %s: %s", resource_metadata_url, exc)
63
+ return None
64
+
65
+
66
+ async def fetch_resource_metadata_async(resource_metadata_url: str, session=None, timeout: int = 10) -> Optional[Dict[str, Any]]:
67
+ """Async variant for fetching protected resource metadata."""
68
+ try:
69
+ import aiohttp
70
+
71
+ client_timeout = aiohttp.ClientTimeout(total=timeout)
72
+ if session:
73
+ async with session.get(resource_metadata_url, timeout=client_timeout) as resp:
74
+ text = await resp.text()
75
+ else:
76
+ async with aiohttp.ClientSession(timeout=client_timeout) as local_session:
77
+ async with local_session.get(resource_metadata_url) as resp:
78
+ text = await resp.text()
79
+
80
+ try:
81
+ return json.loads(text)
82
+ except json.JSONDecodeError:
83
+ logger.warning("Resource metadata at %s is not valid JSON: %s", resource_metadata_url, text[:200])
84
+ return None
85
+ except Exception as exc:
86
+ logger.warning("Failed to fetch resource metadata from %s: %s", resource_metadata_url, exc)
87
+ return None
88
+
89
+
90
+ def canonical_resource(server_url: str) -> str:
91
+ """Produce a canonical resource identifier for the MCP server."""
92
+ parsed = urlparse(server_url)
93
+ # Normalize scheme/host casing per RFC guidance
94
+ normalized = parsed._replace(
95
+ scheme=parsed.scheme.lower(),
96
+ netloc=parsed.netloc.lower(),
97
+ )
98
+ resource = normalized.geturl()
99
+
100
+ # Prefer form without trailing slash unless path is meaningful
101
+ if resource.endswith("/") and parsed.path in ("", "/"):
102
+ resource = resource[:-1]
103
+ return resource
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.438
3
+ Version: 0.3.439
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
@@ -144,6 +144,7 @@ alita_sdk/runtime/utils/__init__.py
144
144
  alita_sdk/runtime/utils/constants.py
145
145
  alita_sdk/runtime/utils/evaluate.py
146
146
  alita_sdk/runtime/utils/logging.py
147
+ alita_sdk/runtime/utils/mcp_oauth.py
147
148
  alita_sdk/runtime/utils/save_dataframe.py
148
149
  alita_sdk/runtime/utils/streamlit.py
149
150
  alita_sdk/runtime/utils/toolkit_runtime.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "alita_sdk"
7
- version = "0.3.438"
7
+ version = "0.3.439"
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