alita-sdk 0.3.151__tar.gz → 0.3.153__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 (332) hide show
  1. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/PKG-INFO +4 -3
  2. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/github/github_client.py +462 -6
  3. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/github/schemas.py +15 -1
  4. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk.egg-info/PKG-INFO +4 -3
  5. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk.egg-info/requires.txt +3 -2
  6. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk.egg-info/top_level.txt +0 -1
  7. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/pyproject.toml +2 -2
  8. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/LICENSE +0 -0
  9. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/README.md +0 -0
  10. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/__init__.py +0 -0
  11. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/__init__.py +0 -0
  12. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/analysis/__init__.py +0 -0
  13. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/analysis/ado_analyse/__init__.py +0 -0
  14. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/analysis/ado_analyse/api_wrapper.py +0 -0
  15. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/analysis/github_analyse/__init__.py +0 -0
  16. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/analysis/github_analyse/api_wrapper.py +0 -0
  17. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/analysis/gitlab_analyse/__init__.py +0 -0
  18. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/analysis/gitlab_analyse/api_wrapper.py +0 -0
  19. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/analysis/jira_analyse/__init__.py +0 -0
  20. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/analysis/jira_analyse/api_wrapper.py +0 -0
  21. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/browseruse/__init__.py +0 -0
  22. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/browseruse/api_wrapper.py +0 -0
  23. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/__init__.py +0 -0
  24. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/__init__.py +0 -0
  25. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/baseclass.py +0 -0
  26. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/knowledge_gap_agent.py +0 -0
  27. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/long_writer_agent.py +0 -0
  28. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/planner_agent.py +0 -0
  29. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/proofreader_agent.py +0 -0
  30. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/thinking_agent.py +0 -0
  31. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/tool_agents/__init__.py +0 -0
  32. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/tool_agents/crawl_agent.py +0 -0
  33. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/tool_agents/search_agent.py +0 -0
  34. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/tool_selector_agent.py +0 -0
  35. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/utils/__init__.py +0 -0
  36. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/utils/parse_output.py +0 -0
  37. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/agents/writer_agent.py +0 -0
  38. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/api_wrapper.py +0 -0
  39. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/deep_research.py +0 -0
  40. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/examples/deep_example.py +0 -0
  41. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/examples/iterative_example.py +0 -0
  42. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/examples/report_plan_example.py +0 -0
  43. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/iterative_research.py +0 -0
  44. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/llm_config.py +0 -0
  45. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/main.py +0 -0
  46. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/tools/__init__.py +0 -0
  47. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/tools/crawl_website.py +0 -0
  48. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/tools/web_search.py +0 -0
  49. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/utils/__init__.py +0 -0
  50. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/utils/md_to_pdf.py +0 -0
  51. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/deep_researcher/utils/os.py +0 -0
  52. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/community/utils.py +0 -0
  53. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/__init__.py +0 -0
  54. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/clients/__init__.py +0 -0
  55. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/clients/artifact.py +0 -0
  56. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/clients/client.py +0 -0
  57. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/clients/datasource.py +0 -0
  58. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/clients/prompt.py +0 -0
  59. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/__init__.py +0 -0
  60. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
  61. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
  62. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/assistant.py +0 -0
  63. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
  64. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/constants.py +0 -0
  65. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
  66. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
  67. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
  68. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
  69. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
  70. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
  71. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
  72. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
  73. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
  74. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
  75. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
  76. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
  77. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
  78. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
  79. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/indexer.py +0 -0
  80. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
  81. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
  82. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
  83. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
  84. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
  85. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/langraph_agent.py +0 -0
  86. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
  87. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
  88. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
  89. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
  90. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
  91. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/store_manager.py +0 -0
  92. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
  93. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
  94. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
  95. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
  96. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
  97. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
  98. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/tools/git.py +0 -0
  99. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/tools/log.py +0 -0
  100. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
  101. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/tools/state.py +0 -0
  102. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
  103. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
  104. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/langchain/utils.py +0 -0
  105. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/llms/__init__.py +0 -0
  106. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/llms/alita.py +0 -0
  107. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/llms/preloaded.py +0 -0
  108. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/toolkits/__init__.py +0 -0
  109. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/toolkits/application.py +0 -0
  110. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/toolkits/artifact.py +0 -0
  111. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/toolkits/datasource.py +0 -0
  112. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/toolkits/prompt.py +0 -0
  113. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
  114. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/toolkits/tools.py +0 -0
  115. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
  116. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/__init__.py +0 -0
  117. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/agent.py +0 -0
  118. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/application.py +0 -0
  119. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/artifact.py +0 -0
  120. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/datasource.py +0 -0
  121. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/echo.py +0 -0
  122. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/function.py +0 -0
  123. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
  124. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/llm.py +0 -0
  125. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/loop.py +0 -0
  126. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/loop_output.py +0 -0
  127. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
  128. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
  129. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/prompt.py +0 -0
  130. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/router.py +0 -0
  131. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/tool.py +0 -0
  132. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/tools/vectorstore.py +0 -0
  133. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
  134. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/utils/__init__.py +0 -0
  135. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/utils/constants.py +0 -0
  136. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/utils/evaluate.py +0 -0
  137. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/utils/logging.py +0 -0
  138. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
  139. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/utils/streamlit.py +0 -0
  140. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/runtime/utils/utils.py +0 -0
  141. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/__init__.py +0 -0
  142. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/ado/__init__.py +0 -0
  143. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/ado/repos/__init__.py +0 -0
  144. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
  145. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/ado/test_plan/__init__.py +0 -0
  146. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +0 -0
  147. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/ado/utils.py +0 -0
  148. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/ado/wiki/__init__.py +0 -0
  149. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/ado/wiki/ado_wrapper.py +0 -0
  150. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/ado/work_item/__init__.py +0 -0
  151. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
  152. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
  153. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
  154. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/azure_ai/__init__.py +0 -0
  155. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/azure_ai/search/__init__.py +0 -0
  156. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
  157. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/base/__init__.py +0 -0
  158. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/base/tool.py +0 -0
  159. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/bitbucket/__init__.py +0 -0
  160. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
  161. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
  162. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
  163. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/bitbucket/tools.py +0 -0
  164. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/browser/__init__.py +0 -0
  165. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/browser/crawler.py +0 -0
  166. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
  167. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/browser/google_search_rag.py +0 -0
  168. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/browser/utils.py +0 -0
  169. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/browser/wiki.py +0 -0
  170. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/carrier/__init__.py +0 -0
  171. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
  172. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
  173. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
  174. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
  175. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
  176. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
  177. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/carrier/tools.py +0 -0
  178. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
  179. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/carrier/utils.py +0 -0
  180. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/__init__.py +0 -0
  181. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
  182. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
  183. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/constants.py +0 -0
  184. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
  185. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
  186. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
  187. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
  188. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
  189. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
  190. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
  191. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
  192. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
  193. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
  194. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
  195. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
  196. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
  197. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
  198. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
  199. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/models.py +0 -0
  200. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
  201. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
  202. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
  203. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
  204. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
  205. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/chunkers/utils.py +0 -0
  206. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/cloud/__init__.py +0 -0
  207. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
  208. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
  209. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
  210. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
  211. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
  212. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
  213. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
  214. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
  215. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/code/__init__.py +0 -0
  216. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/code/linter/__init__.py +0 -0
  217. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
  218. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
  219. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/code/sonar/__init__.py +0 -0
  220. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
  221. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/confluence/__init__.py +0 -0
  222. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
  223. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/confluence/loader.py +0 -0
  224. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/confluence/utils.py +0 -0
  225. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
  226. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
  227. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/elastic/__init__.py +0 -0
  228. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
  229. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/elitea_base.py +0 -0
  230. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/figma/__init__.py +0 -0
  231. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/figma/api_wrapper.py +0 -0
  232. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/github/__init__.py +0 -0
  233. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/github/api_wrapper.py +0 -0
  234. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
  235. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/github/tool.py +0 -0
  236. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/github/tool_prompts.py +0 -0
  237. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/gitlab/__init__.py +0 -0
  238. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
  239. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/gitlab/tools.py +0 -0
  240. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/gitlab/utils.py +0 -0
  241. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
  242. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
  243. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/gmail/__init__.py +0 -0
  244. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
  245. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/gmail/utils.py +0 -0
  246. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/google_places/__init__.py +0 -0
  247. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
  248. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/jira/__init__.py +0 -0
  249. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/jira/api_wrapper.py +0 -0
  250. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/keycloak/__init__.py +0 -0
  251. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
  252. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/llm/__init__.py +0 -0
  253. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/llm/img_utils.py +0 -0
  254. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/llm/llm_utils.py +0 -0
  255. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/localgit/__init__.py +0 -0
  256. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/localgit/local_git.py +0 -0
  257. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/localgit/tool.py +0 -0
  258. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/memory/__init__.py +0 -0
  259. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/ocr/__init__.py +0 -0
  260. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
  261. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/ocr/text_detection.py +0 -0
  262. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/openapi/__init__.py +0 -0
  263. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/__init__.py +0 -0
  264. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
  265. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
  266. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
  267. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
  268. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
  269. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
  270. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
  271. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
  272. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
  273. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
  274. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
  275. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
  276. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
  277. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
  278. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
  279. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
  280. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
  281. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
  282. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/postman/__init__.py +0 -0
  283. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/postman/api_wrapper.py +0 -0
  284. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pptx/__init__.py +0 -0
  285. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
  286. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/qtest/__init__.py +0 -0
  287. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/qtest/api_wrapper.py +0 -0
  288. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/qtest/tool.py +0 -0
  289. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/rally/__init__.py +0 -0
  290. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/rally/api_wrapper.py +0 -0
  291. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/report_portal/__init__.py +0 -0
  292. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
  293. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
  294. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/salesforce/__init__.py +0 -0
  295. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
  296. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/salesforce/model.py +0 -0
  297. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/servicenow/__init__.py +0 -0
  298. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
  299. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
  300. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/sharepoint/__init__.py +0 -0
  301. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/sharepoint/api_wrapper.py +0 -0
  302. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
  303. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/sharepoint/utils.py +0 -0
  304. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/sql/__init__.py +0 -0
  305. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/sql/api_wrapper.py +0 -0
  306. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/sql/models.py +0 -0
  307. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/testio/__init__.py +0 -0
  308. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/testio/api_wrapper.py +0 -0
  309. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/testrail/__init__.py +0 -0
  310. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
  311. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/utils/__init__.py +0 -0
  312. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/utils/content_parser.py +0 -0
  313. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/xray/__init__.py +0 -0
  314. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/xray/api_wrapper.py +0 -0
  315. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/yagmail/__init__.py +0 -0
  316. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
  317. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
  318. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/zephyr/__init__.py +0 -0
  319. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
  320. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/zephyr/rest_client.py +0 -0
  321. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/zephyr_enterprise/__init__.py +0 -0
  322. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +0 -0
  323. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
  324. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
  325. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -0
  326. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk.egg-info/SOURCES.txt +0 -0
  327. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/alita_sdk.egg-info/dependency_links.txt +0 -0
  328. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/setup.cfg +0 -0
  329. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/tests/test_ado_analysis.py +0 -0
  330. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/tests/test_github_analysis.py +0 -0
  331. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/tests/test_gitlab_analysis.py +0 -0
  332. {alita_sdk-0.3.151 → alita_sdk-0.3.153}/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.151
3
+ Version: 0.3.153
4
4
  Summary: SDK for building langchain agents using resources from Alita
5
5
  Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedjik@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -31,11 +31,12 @@ Requires-Dist: langchain_community~=0.3.7; extra == "runtime"
31
31
  Requires-Dist: langchain-openai~=0.3.0; extra == "runtime"
32
32
  Requires-Dist: langgraph-checkpoint-sqlite~=2.0.0; extra == "runtime"
33
33
  Requires-Dist: langgraph-checkpoint-postgres~=2.0.1; extra == "runtime"
34
- Requires-Dist: langsmith==0.1.144; extra == "runtime"
35
- Requires-Dist: langgraph~=0.2.53; extra == "runtime"
34
+ Requires-Dist: langsmith>=0.3.45; extra == "runtime"
35
+ Requires-Dist: langgraph>=0.4.8; extra == "runtime"
36
36
  Requires-Dist: langchain_chroma~=0.2.2; extra == "runtime"
37
37
  Requires-Dist: langchain-unstructured~=0.1.6; extra == "runtime"
38
38
  Requires-Dist: langchain-postgres~=0.0.13; extra == "runtime"
39
+ Requires-Dist: langmem==0.0.27; extra == "runtime"
39
40
  Requires-Dist: keybert==0.8.3; extra == "runtime"
40
41
  Requires-Dist: charset_normalizer==3.3.2; extra == "runtime"
41
42
  Requires-Dist: unstructured[local-inference]==0.16.23; extra == "runtime"
@@ -3,7 +3,7 @@ import re
3
3
  import fnmatch
4
4
  import tiktoken
5
5
  from datetime import datetime
6
- from typing import Any, Dict, List, Optional
6
+ from typing import Any, Dict, List, Optional, Tuple
7
7
 
8
8
  from pydantic import BaseModel, Field, model_validator
9
9
 
@@ -36,6 +36,8 @@ from .schemas import (
36
36
  UpdateIssue,
37
37
  LoaderSchema,
38
38
  GetCommits,
39
+ GetCommitChanges,
40
+ ApplyGitPatch,
39
41
  TriggerWorkflow,
40
42
  GetWorkflowStatus,
41
43
  GetWorkflowLogs,
@@ -277,6 +279,7 @@ class GitHubClient(BaseModel):
277
279
  until: Optional[str] = None,
278
280
  author: Optional[str] = None,
279
281
  repo_name: Optional[str] = None,
282
+ max_count: Optional[int] = 30,
280
283
  ) -> str:
281
284
  """
282
285
  Retrieves a list of commits from the repository.
@@ -288,6 +291,7 @@ class GitHubClient(BaseModel):
288
291
  until (Optional[str]): Only commits before this date (ISO format) will be returned.
289
292
  author (Optional[str]): The author of the commits.
290
293
  repo_name (Optional[str]): Name of the repository in format 'owner/repo'.
294
+ max_count (Optional[int]): Maximum number of commits to return (default: 30).
291
295
 
292
296
  Returns:
293
297
  str: A list of commit data or an error message.
@@ -309,16 +313,20 @@ class GitHubClient(BaseModel):
309
313
  commits = repo.get_commits(**params)
310
314
 
311
315
  # Convert the commits to a list of dictionaries for easier processing
312
- commit_list = [
313
- {
316
+ # Limit the number of commits based on max_count
317
+ commit_list = []
318
+ count = 0
319
+ for commit in commits:
320
+ if count >= max_count:
321
+ break
322
+ commit_list.append({
314
323
  "sha": commit.sha,
315
324
  "author": commit.commit.author.name,
316
325
  "date": commit.commit.author.date.isoformat(),
317
326
  "message": commit.commit.message,
318
327
  "url": commit.html_url,
319
- }
320
- for commit in commits
321
- ]
328
+ })
329
+ count += 1
322
330
 
323
331
  return commit_list
324
332
 
@@ -326,6 +334,440 @@ class GitHubClient(BaseModel):
326
334
  # Return error as JSON instead of plain text
327
335
  return {"error": str(e), "message": f"Unable to retrieve commits due to error: {str(e)}"}
328
336
 
337
+ def get_commit_changes(self, sha: str, repo_name: Optional[str] = None) -> str:
338
+ """
339
+ Retrieves the files changed in a specific commit.
340
+
341
+ Parameters:
342
+ sha (str): The commit SHA to get changed files for.
343
+ repo_name (Optional[str]): Name of the repository in format 'owner/repo'.
344
+
345
+ Returns:
346
+ str: A list of changed files with their status and changes or an error message.
347
+ """
348
+ try:
349
+ # Get the repository
350
+ repo = self.github_api.get_repo(repo_name) if repo_name else self.github_repo_instance
351
+
352
+ # Get the specific commit
353
+ commit = repo.get_commit(sha)
354
+
355
+ # Extract changed files information
356
+ changed_files = []
357
+ for file in commit.files:
358
+ file_info = {
359
+ "filename": file.filename,
360
+ "status": file.status, # added, modified, removed, renamed
361
+ "additions": file.additions,
362
+ "deletions": file.deletions,
363
+ "changes": file.changes,
364
+ "patch": file.patch if hasattr(file, 'patch') and file.patch else None,
365
+ "blob_url": file.blob_url if hasattr(file, 'blob_url') else None,
366
+ "raw_url": file.raw_url if hasattr(file, 'raw_url') else None
367
+ }
368
+
369
+ # Add previous filename for renamed files
370
+ if file.status == "renamed" and hasattr(file, 'previous_filename'):
371
+ file_info["previous_filename"] = file.previous_filename
372
+
373
+ changed_files.append(file_info)
374
+
375
+ result = {
376
+ "commit_sha": commit.sha,
377
+ "commit_message": commit.commit.message,
378
+ "author": commit.commit.author.name,
379
+ "date": commit.commit.author.date.isoformat(),
380
+ "total_files_changed": len(changed_files),
381
+ "total_additions": sum(f["additions"] for f in changed_files),
382
+ "total_deletions": sum(f["deletions"] for f in changed_files),
383
+ "files": changed_files
384
+ }
385
+
386
+ return result
387
+
388
+ except Exception as e:
389
+ # Return error as JSON instead of plain text
390
+ return {"error": str(e), "message": f"Unable to retrieve commit changes due to error: {str(e)}"}
391
+
392
+ def apply_git_patch(self, patch_content: str, commit_message: Optional[str] = "Apply git patch", repo_name: Optional[str] = None) -> str:
393
+ """
394
+ Applies a git patch to the repository by parsing the unified diff format and updating files accordingly.
395
+
396
+ Parameters:
397
+ patch_content (str): The git patch content in unified diff format
398
+ commit_message (Optional[str]): Commit message for the patch application
399
+ repo_name (Optional[str]): Name of the repository in format 'owner/repo'
400
+
401
+ Returns:
402
+ str: A summary of applied changes or error message
403
+ """
404
+ import re
405
+
406
+ try:
407
+ repo = self.github_api.get_repo(repo_name) if repo_name else self.github_repo_instance
408
+ branch = self.active_branch
409
+
410
+ if branch == self.github_base_branch:
411
+ return {
412
+ "error": "Cannot apply patch",
413
+ "message": f"You're attempting to commit directly to the {self.github_base_branch} branch, which is protected. Please create a new branch and try again."
414
+ }
415
+
416
+ # Parse the patch content to extract file changes
417
+ changes = self._parse_git_patch(patch_content)
418
+
419
+ if not changes:
420
+ return {
421
+ "error": "No valid changes found",
422
+ "message": "The patch content does not contain any valid file changes."
423
+ }
424
+
425
+ applied_changes = []
426
+ failed_changes = []
427
+
428
+ for change in changes:
429
+ try:
430
+ if change['operation'] == 'create':
431
+ # Create new file
432
+ repo.create_file(
433
+ path=change['file_path'],
434
+ message=f"{commit_message} - Create {change['file_path']}",
435
+ content=change['new_content'],
436
+ branch=branch
437
+ )
438
+ applied_changes.append(f"Created: {change['file_path']}")
439
+
440
+ elif change['operation'] == 'delete':
441
+ # Delete file
442
+ try:
443
+ file = repo.get_contents(change['file_path'], ref=branch)
444
+ repo.delete_file(
445
+ path=change['file_path'],
446
+ message=f"{commit_message} - Delete {change['file_path']}",
447
+ sha=file.sha,
448
+ branch=branch
449
+ )
450
+ applied_changes.append(f"Deleted: {change['file_path']}")
451
+ except Exception:
452
+ failed_changes.append(f"Failed to delete {change['file_path']} - file not found")
453
+
454
+ elif change['operation'] == 'modify':
455
+ # Modify existing file
456
+ try:
457
+ file = repo.get_contents(change['file_path'], ref=branch)
458
+ current_content = file.decoded_content.decode("utf-8")
459
+
460
+ # Apply the patch changes
461
+ new_content = self._apply_patch_to_content(current_content, change['hunks'])
462
+
463
+ if new_content != current_content:
464
+ repo.update_file(
465
+ path=change['file_path'],
466
+ message=f"{commit_message} - Update {change['file_path']}",
467
+ content=new_content,
468
+ sha=file.sha,
469
+ branch=branch
470
+ )
471
+ applied_changes.append(f"Modified: {change['file_path']}")
472
+ else:
473
+ failed_changes.append(f"No changes applied to {change['file_path']} - patch may not match current content")
474
+ except Exception as e:
475
+ failed_changes.append(f"Failed to modify {change['file_path']}: {str(e)}")
476
+
477
+ elif change['operation'] == 'rename':
478
+ # Handle file rename (delete old, create new)
479
+ try:
480
+ # Delete old file
481
+ old_file = repo.get_contents(change['old_file_path'], ref=branch)
482
+ old_content = old_file.decoded_content.decode("utf-8")
483
+
484
+ # Apply changes to content if there are any
485
+ if change.get('hunks'):
486
+ new_content = self._apply_patch_to_content(old_content, change['hunks'])
487
+ else:
488
+ new_content = old_content
489
+
490
+ # Create new file
491
+ repo.create_file(
492
+ path=change['file_path'],
493
+ message=f"{commit_message} - Rename {change['old_file_path']} to {change['file_path']}",
494
+ content=new_content,
495
+ branch=branch
496
+ )
497
+
498
+ # Delete old file
499
+ repo.delete_file(
500
+ path=change['old_file_path'],
501
+ message=f"{commit_message} - Remove old file {change['old_file_path']}",
502
+ sha=old_file.sha,
503
+ branch=branch
504
+ )
505
+
506
+ applied_changes.append(f"Renamed: {change['old_file_path']} → {change['file_path']}")
507
+ except Exception as e:
508
+ failed_changes.append(f"Failed to rename {change.get('old_file_path', 'unknown')} to {change['file_path']}: {str(e)}")
509
+
510
+ except Exception as e:
511
+ failed_changes.append(f"Failed to process {change.get('file_path', 'unknown file')}: {str(e)}")
512
+
513
+ # Return summary
514
+ result = {
515
+ "success": len(applied_changes) > 0,
516
+ "applied_changes": applied_changes,
517
+ "failed_changes": failed_changes,
518
+ "total_changes": len(changes),
519
+ "successful_changes": len(applied_changes),
520
+ "failed_count": len(failed_changes)
521
+ }
522
+
523
+ if failed_changes:
524
+ result["message"] = f"Patch partially applied. {len(applied_changes)} successful, {len(failed_changes)} failed."
525
+ else:
526
+ result["message"] = f"Patch successfully applied. {len(applied_changes)} changes made."
527
+
528
+ return result
529
+
530
+ except Exception as e:
531
+ return {
532
+ "error": str(e),
533
+ "message": f"Unable to apply git patch due to error: {str(e)}"
534
+ }
535
+
536
+ def _parse_git_patch(self, patch_content: str) -> List[Dict]:
537
+ """
538
+ Parse git patch content in unified diff format and extract file changes.
539
+
540
+ Parameters:
541
+ patch_content (str): The patch content to parse
542
+
543
+ Returns:
544
+ List[Dict]: List of change dictionaries
545
+ """
546
+ import re
547
+
548
+ changes = []
549
+ lines = patch_content.strip().split('\n')
550
+ i = 0
551
+
552
+ while i < len(lines):
553
+ line = lines[i]
554
+
555
+ # Look for diff --git lines
556
+ if line.startswith('diff --git'):
557
+ change = self._parse_file_change(lines, i)
558
+ if change:
559
+ changes.append(change)
560
+ i = change.get('next_index', i + 1)
561
+ else:
562
+ i += 1
563
+ else:
564
+ i += 1
565
+
566
+ return changes
567
+
568
+ def _parse_file_change(self, lines: List[str], start_index: int) -> Optional[Dict]:
569
+ """
570
+ Parse a single file change from patch lines.
571
+
572
+ Parameters:
573
+ lines (List[str]): All patch lines
574
+ start_index (int): Starting index for this file change
575
+
576
+ Returns:
577
+ Optional[Dict]: Parsed file change or None if invalid
578
+ """
579
+ import re
580
+
581
+ if start_index >= len(lines):
582
+ return None
583
+
584
+ diff_line = lines[start_index]
585
+
586
+ # Extract file paths from diff line
587
+ match = re.match(r'diff --git a/(.+) b/(.+)', diff_line)
588
+ if not match:
589
+ return None
590
+
591
+ old_path = match.group(1)
592
+ new_path = match.group(2)
593
+
594
+ change = {
595
+ 'old_file_path': old_path,
596
+ 'file_path': new_path,
597
+ 'hunks': [],
598
+ 'next_index': start_index + 1
599
+ }
600
+
601
+ i = start_index + 1
602
+
603
+ # Process header lines (index, ---, +++, etc.)
604
+ while i < len(lines):
605
+ line = lines[i]
606
+
607
+ if line.startswith('new file mode'):
608
+ change['operation'] = 'create'
609
+ elif line.startswith('deleted file mode'):
610
+ change['operation'] = 'delete'
611
+ elif line.startswith('rename from'):
612
+ change['operation'] = 'rename'
613
+ elif line.startswith('index '):
614
+ pass # Skip index lines
615
+ elif line.startswith('--- '):
616
+ pass # Skip old file reference
617
+ elif line.startswith('+++ '):
618
+ pass # Skip new file reference
619
+ elif line.startswith('@@'):
620
+ # Found a hunk, parse it
621
+ hunk, next_i = self._parse_hunk(lines, i)
622
+ if hunk:
623
+ change['hunks'].append(hunk)
624
+ i = next_i
625
+ continue
626
+ elif line.startswith('diff --git') or line.startswith('Binary files'):
627
+ # Start of next file or binary file
628
+ break
629
+ elif line.strip() == '':
630
+ pass # Skip empty lines
631
+ else:
632
+ # Unknown line, continue
633
+ pass
634
+
635
+ i += 1
636
+
637
+ # Determine operation if not set
638
+ if 'operation' not in change:
639
+ if old_path == new_path:
640
+ change['operation'] = 'modify'
641
+ else:
642
+ change['operation'] = 'rename'
643
+
644
+ change['next_index'] = i
645
+
646
+ # For new files, extract content from hunks
647
+ if change['operation'] == 'create' and change['hunks']:
648
+ content_lines = []
649
+ for hunk in change['hunks']:
650
+ for line in hunk['lines']:
651
+ if line.startswith('+') and not line.startswith('+++'):
652
+ content_lines.append(line[1:]) # Remove + prefix
653
+ change['new_content'] = '\n'.join(content_lines)
654
+
655
+ return change
656
+
657
+ def _parse_hunk(self, lines: List[str], start_index: int) -> Tuple[Optional[Dict], int]:
658
+ """
659
+ Parse a single hunk from patch lines.
660
+
661
+ Parameters:
662
+ lines (List[str]): All patch lines
663
+ start_index (int): Starting index for this hunk
664
+
665
+ Returns:
666
+ Tuple[Optional[Dict], int]: Parsed hunk and next index
667
+ """
668
+ import re
669
+
670
+ if start_index >= len(lines):
671
+ return None, start_index + 1
672
+
673
+ hunk_header = lines[start_index]
674
+
675
+ # Parse hunk header: @@ -old_start,old_count +new_start,new_count @@
676
+ match = re.match(r'@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@', hunk_header)
677
+ if not match:
678
+ return None, start_index + 1
679
+
680
+ old_start = int(match.group(1))
681
+ old_count = int(match.group(2)) if match.group(2) else 1
682
+ new_start = int(match.group(3))
683
+ new_count = int(match.group(4)) if match.group(4) else 1
684
+
685
+ hunk = {
686
+ 'old_start': old_start,
687
+ 'old_count': old_count,
688
+ 'new_start': new_start,
689
+ 'new_count': new_count,
690
+ 'lines': []
691
+ }
692
+
693
+ i = start_index + 1
694
+
695
+ # Collect hunk lines
696
+ while i < len(lines):
697
+ line = lines[i]
698
+
699
+ if line.startswith('@@') or line.startswith('diff --git') or line.startswith('Binary files'):
700
+ # Start of next hunk or file
701
+ break
702
+ elif line.startswith(' ') or line.startswith('+') or line.startswith('-'):
703
+ # Context, addition, or deletion line
704
+ hunk['lines'].append(line)
705
+ elif line.strip() == '':
706
+ # Empty line in hunk
707
+ hunk['lines'].append(line)
708
+ else:
709
+ # Unknown line, stop parsing this hunk
710
+ break
711
+
712
+ i += 1
713
+
714
+ return hunk, i
715
+
716
+ def _apply_patch_to_content(self, original_content: str, hunks: List[Dict]) -> str:
717
+ """
718
+ Apply patch hunks to original content.
719
+
720
+ Parameters:
721
+ original_content (str): Original file content
722
+ hunks (List[Dict]): List of patch hunks
723
+
724
+ Returns:
725
+ str: Modified content
726
+ """
727
+ if not hunks:
728
+ return original_content
729
+
730
+ lines = original_content.split('\n')
731
+ result_lines = []
732
+
733
+ # Sort hunks by line number
734
+ sorted_hunks = sorted(hunks, key=lambda h: h['old_start'])
735
+
736
+ current_line = 0
737
+
738
+ for hunk in sorted_hunks:
739
+ # Add lines before this hunk
740
+ while current_line < hunk['old_start'] - 1:
741
+ if current_line < len(lines):
742
+ result_lines.append(lines[current_line])
743
+ current_line += 1
744
+
745
+ # Apply hunk changes
746
+ old_line_in_hunk = 0
747
+
748
+ for patch_line in hunk['lines']:
749
+ if patch_line.startswith(' '):
750
+ # Context line - should match original
751
+ context_line = patch_line[1:]
752
+ if current_line < len(lines):
753
+ result_lines.append(lines[current_line])
754
+ current_line += 1
755
+ old_line_in_hunk += 1
756
+ elif patch_line.startswith('-'):
757
+ # Deletion - skip original line
758
+ current_line += 1
759
+ old_line_in_hunk += 1
760
+ elif patch_line.startswith('+'):
761
+ # Addition - add new line
762
+ result_lines.append(patch_line[1:])
763
+
764
+ # Add remaining lines
765
+ while current_line < len(lines):
766
+ result_lines.append(lines[current_line])
767
+ current_line += 1
768
+
769
+ return '\n'.join(result_lines)
770
+
329
771
  def get_pull_request(self, pr_number: str, repo_name: Optional[str] = None) -> str:
330
772
  """
331
773
  Fetches information about a specific pull request.
@@ -1453,6 +1895,20 @@ class GitHubClient(BaseModel):
1453
1895
  "description": self.get_commits.__doc__,
1454
1896
  "args_schema": GetCommits,
1455
1897
  },
1898
+ {
1899
+ "ref": self.get_commit_changes,
1900
+ "name": "get_commit_changes",
1901
+ "mode": "get_commit_changes",
1902
+ "description": self.get_commit_changes.__doc__,
1903
+ "args_schema": GetCommitChanges,
1904
+ },
1905
+ {
1906
+ "ref": self.apply_git_patch,
1907
+ "name": "apply_git_patch",
1908
+ "mode": "apply_git_patch",
1909
+ "description": self.apply_git_patch.__doc__,
1910
+ "args_schema": ApplyGitPatch,
1911
+ },
1456
1912
  {
1457
1913
  "ref": self.trigger_workflow,
1458
1914
  "name": "trigger_workflow",
@@ -149,7 +149,21 @@ GetCommits = create_model(
149
149
  path=(Optional[str], Field(description="The file path to filter commits by", default=None)),
150
150
  since=(Optional[str], Field(description="Only commits after this date will be returned (ISO format)", default=None)),
151
151
  until=(Optional[str], Field(description="Only commits before this date will be returned (ISO format)", default=None)),
152
- author=(Optional[str], Field(description="The author of the commits", default=None))
152
+ author=(Optional[str], Field(description="The author of the commits", default=None)),
153
+ max_count=(Optional[int], Field(description="Maximum number of commits to return (default: 30)", default=30))
154
+ )
155
+
156
+ GetCommitChanges = create_model(
157
+ "GetCommitChanges",
158
+ sha=(str, Field(description="The commit SHA to get changed files for")),
159
+ repo_name=(Optional[str], Field(default=None, description="Name of the repository (e.g., 'owner/repo'). If None, uses the default repository."))
160
+ )
161
+
162
+ ApplyGitPatch = create_model(
163
+ "ApplyGitPatch",
164
+ patch_content=(str, Field(description="The git patch content in unified diff format")),
165
+ commit_message=(Optional[str], Field(description="Commit message for the patch application", default="Apply git patch")),
166
+ repo_name=(Optional[str], Field(default=None, description="Name of the repository (e.g., 'owner/repo'). If None, uses the default repository."))
153
167
  )
154
168
 
155
169
  TriggerWorkflow = create_model(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.151
3
+ Version: 0.3.153
4
4
  Summary: SDK for building langchain agents using resources from Alita
5
5
  Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedjik@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -31,11 +31,12 @@ Requires-Dist: langchain_community~=0.3.7; extra == "runtime"
31
31
  Requires-Dist: langchain-openai~=0.3.0; extra == "runtime"
32
32
  Requires-Dist: langgraph-checkpoint-sqlite~=2.0.0; extra == "runtime"
33
33
  Requires-Dist: langgraph-checkpoint-postgres~=2.0.1; extra == "runtime"
34
- Requires-Dist: langsmith==0.1.144; extra == "runtime"
35
- Requires-Dist: langgraph~=0.2.53; extra == "runtime"
34
+ Requires-Dist: langsmith>=0.3.45; extra == "runtime"
35
+ Requires-Dist: langgraph>=0.4.8; extra == "runtime"
36
36
  Requires-Dist: langchain_chroma~=0.2.2; extra == "runtime"
37
37
  Requires-Dist: langchain-unstructured~=0.1.6; extra == "runtime"
38
38
  Requires-Dist: langchain-postgres~=0.0.13; extra == "runtime"
39
+ Requires-Dist: langmem==0.0.27; extra == "runtime"
39
40
  Requires-Dist: keybert==0.8.3; extra == "runtime"
40
41
  Requires-Dist: charset_normalizer==3.3.2; extra == "runtime"
41
42
  Requires-Dist: unstructured[local-inference]==0.16.23; extra == "runtime"
@@ -37,11 +37,12 @@ langchain_community~=0.3.7
37
37
  langchain-openai~=0.3.0
38
38
  langgraph-checkpoint-sqlite~=2.0.0
39
39
  langgraph-checkpoint-postgres~=2.0.1
40
- langsmith==0.1.144
41
- langgraph~=0.2.53
40
+ langsmith>=0.3.45
41
+ langgraph>=0.4.8
42
42
  langchain_chroma~=0.2.2
43
43
  langchain-unstructured~=0.1.6
44
44
  langchain-postgres~=0.0.13
45
+ langmem==0.0.27
45
46
  keybert==0.8.3
46
47
  charset_normalizer==3.3.2
47
48
  unstructured[local-inference]==0.16.23
@@ -1,3 +1,2 @@
1
1
  alita_sdk
2
2
  docs
3
- req_bkup
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "alita_sdk"
7
- version = "0.3.151"
7
+ version = "0.3.153"
8
8
  description = "SDK for building langchain agents using resources from Alita"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -28,7 +28,7 @@ name = "Ivan Krakhmaliuk"
28
28
  email = "lifedjik@gmail.com"
29
29
 
30
30
  [project.optional-dependencies]
31
- runtime = [ "langchain_core==0.3.49", "langchain<=0.3.22", "langchain_community~=0.3.7", "langchain-openai~=0.3.0", "langgraph-checkpoint-sqlite~=2.0.0", "langgraph-checkpoint-postgres~=2.0.1", "langsmith==0.1.144", "langgraph~=0.2.53", "langchain_chroma~=0.2.2", "langchain-unstructured~=0.1.6", "langchain-postgres~=0.0.13", "keybert==0.8.3", "charset_normalizer==3.3.2", "unstructured[local-inference]==0.16.23", "unstructured_pytesseract==0.3.13", "unstructured_inference==0.8.7", "python-pptx==1.0.2", "pdf2image==1.16.3", "pikepdf==8.7.1", "pypdf==4.3.1", "pdfminer.six==20240706", "opencv-python==4.11.0.86", "python-docx==1.1.2", "openpyxl==3.1.2", "markdown==3.5.1", "beautifulsoup4==4.12.2", "gensim==4.3.3", "chromadb==0.5.20", "pgvector==0.2.5", "scipy==1.13.1", "pytesseract==0.3.13", "reportlab==4.2.5", "svglib==1.5.1", "rlpycairo==0.3.0", "cairocffi==1.7.1", "docx2txt==0.8", "mammoth==1.9.0", "opentelemetry-exporter-otlp-proto-grpc==1.25.0", "opentelemetry_api==1.25.0", "opentelemetry_instrumentation==0.46b0", "grpcio_status==1.63.0rc1", "protobuf==4.25.7", "sentence-transformers==2.7.0",]
31
+ runtime = [ "langchain_core==0.3.49", "langchain<=0.3.22", "langchain_community~=0.3.7", "langchain-openai~=0.3.0", "langgraph-checkpoint-sqlite~=2.0.0", "langgraph-checkpoint-postgres~=2.0.1", "langsmith>=0.3.45", "langgraph>=0.4.8", "langchain_chroma~=0.2.2", "langchain-unstructured~=0.1.6", "langchain-postgres~=0.0.13", "langmem==0.0.27", "keybert==0.8.3", "charset_normalizer==3.3.2", "unstructured[local-inference]==0.16.23", "unstructured_pytesseract==0.3.13", "unstructured_inference==0.8.7", "python-pptx==1.0.2", "pdf2image==1.16.3", "pikepdf==8.7.1", "pypdf==4.3.1", "pdfminer.six==20240706", "opencv-python==4.11.0.86", "python-docx==1.1.2", "openpyxl==3.1.2", "markdown==3.5.1", "beautifulsoup4==4.12.2", "gensim==4.3.3", "chromadb==0.5.20", "pgvector==0.2.5", "scipy==1.13.1", "pytesseract==0.3.13", "reportlab==4.2.5", "svglib==1.5.1", "rlpycairo==0.3.0", "cairocffi==1.7.1", "docx2txt==0.8", "mammoth==1.9.0", "opentelemetry-exporter-otlp-proto-grpc==1.25.0", "opentelemetry_api==1.25.0", "opentelemetry_instrumentation==0.46b0", "grpcio_status==1.63.0rc1", "protobuf==4.25.7", "sentence-transformers==2.7.0",]
32
32
  tools = [ "dulwich==0.21.6", "paramiko==3.3.1", "pygithub==2.3.0", "python-gitlab==4.5.0", "gitpython==3.1.43", "atlassian-python-api~=3.41", "atlassian_python_api==3.41.16", "jira==3.8.0", "qtest-swagger-client==0.0.3", "testrail-api==1.13.2", "azure-devops==7.1.0b4", "msrest==0.7.1", "python-graphql-client~=0.4.3", "zephyr-python-api==0.1.0", "pyral==1.6.0", "boto3>=1.37.23", "azure-core==1.30.2", "azure-identity==1.16.0", "azure-keyvault-keys==4.9.0", "azure-keyvault-secrets==4.8.0", "azure-mgmt-core==1.4.0", "azure-mgmt-resource==23.0.1", "azure-mgmt-storage==21.1.0", "azure-storage-blob==12.23.1", "azure-search-documents==11.5.2", "PyMySQL==1.1.1", "psycopg2-binary==2.9.10", "Office365-REST-Python-Client==2.5.14", "python-docx==1.1.2", "python-pptx==1.0.2", "pypdf2~=3.0.1", "FigmaPy==2018.1.0", "pandas==2.2.3", "factor_analyzer==0.5.1", "statsmodels==0.14.4", "tabulate==0.9.0", "tree_sitter==0.20.2", "tree-sitter-languages==1.10.2", "astor~=0.8.1", "markdownify~=1.1.0", "requests_openapi==1.0.5", "duckduckgo_search==5.3.0", "playwright>=1.52.0", "google-api-python-client==2.154.0", "wikipedia==1.4.0", "lxml==5.2.2", "beautifulsoup4", "pymupdf==1.24.9", "googlemaps==4.10.0", "yagmail==0.15.293", "pysnc==1.1.10", "shortuuid==1.0.13", "yarl==1.17.1",]
33
33
  community = [ "retry-extended==0.2.3", "browser-use==0.1.43", "pyobjtojson==0.3", "elitea-analyse==0.1.2",]
34
34
  all = [ "alita-sdk[runtime]", "alita-sdk[tools]", "alita-sdk[community]",]
File without changes
File without changes