alita-sdk 0.3.265__tar.gz → 0.3.267__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 (352) hide show
  1. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/PKG-INFO +1 -1
  2. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/langraph_agent.py +4 -2
  3. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/toolkits/subgraph.py +11 -6
  4. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/artifact.py +3 -2
  5. alita_sdk-0.3.267/alita_sdk/runtime/tools/graph.py +75 -0
  6. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/utils/utils.py +2 -0
  7. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +33 -21
  8. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/ado/wiki/ado_wrapper.py +25 -13
  9. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/ado/work_item/ado_wrapper.py +2 -1
  10. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/base_indexer_toolkit.py +11 -4
  11. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/sharepoint/api_wrapper.py +3 -2
  12. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/utils/content_parser.py +18 -2
  13. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk.egg-info/PKG-INFO +1 -1
  14. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk.egg-info/SOURCES.txt +1 -0
  15. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/pyproject.toml +1 -1
  16. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/LICENSE +0 -0
  17. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/README.md +0 -0
  18. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/__init__.py +0 -0
  19. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/community/__init__.py +0 -0
  20. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/community/utils.py +0 -0
  21. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/__init__.py +0 -0
  22. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/ado.py +0 -0
  23. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/azure_search.py +0 -0
  24. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/bigquery.py +0 -0
  25. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/bitbucket.py +0 -0
  26. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/confluence.py +0 -0
  27. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/delta_lake.py +0 -0
  28. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/embedding.py +0 -0
  29. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/figma.py +0 -0
  30. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/github.py +0 -0
  31. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/gitlab.py +0 -0
  32. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/jira.py +0 -0
  33. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/pgvector.py +0 -0
  34. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/postman.py +0 -0
  35. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/qtest.py +0 -0
  36. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/rally.py +0 -0
  37. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/service_now.py +0 -0
  38. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/slack.py +0 -0
  39. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/testrail.py +0 -0
  40. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/xray.py +0 -0
  41. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/zephyr.py +0 -0
  42. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/configurations/zephyr_enterprise.py +0 -0
  43. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/__init__.py +0 -0
  44. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/clients/__init__.py +0 -0
  45. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/clients/artifact.py +0 -0
  46. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/clients/client.py +0 -0
  47. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/clients/datasource.py +0 -0
  48. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/clients/prompt.py +0 -0
  49. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/__init__.py +0 -0
  50. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
  51. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
  52. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/assistant.py +0 -0
  53. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
  54. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/constants.py +0 -0
  55. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
  56. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
  57. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
  58. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
  59. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
  60. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
  61. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
  62. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
  63. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaJSONLoader.py +0 -0
  64. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
  65. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaPDFLoader.py +0 -0
  66. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaPowerPointLoader.py +0 -0
  67. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
  68. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
  69. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/AlitaTextLoader.py +0 -0
  70. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
  71. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
  72. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
  73. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/indexer.py +0 -0
  74. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
  75. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
  76. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
  77. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
  78. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
  79. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
  80. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
  81. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
  82. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
  83. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
  84. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/store_manager.py +0 -0
  85. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
  86. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
  87. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
  88. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
  89. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
  90. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
  91. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/tools/git.py +0 -0
  92. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/tools/log.py +0 -0
  93. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
  94. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/tools/state.py +0 -0
  95. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
  96. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
  97. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/langchain/utils.py +0 -0
  98. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/llms/__init__.py +0 -0
  99. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/llms/preloaded.py +0 -0
  100. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/toolkits/__init__.py +0 -0
  101. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/toolkits/application.py +0 -0
  102. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/toolkits/artifact.py +0 -0
  103. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/toolkits/configurations.py +0 -0
  104. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/toolkits/datasource.py +0 -0
  105. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/toolkits/prompt.py +0 -0
  106. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/toolkits/tools.py +0 -0
  107. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
  108. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/__init__.py +0 -0
  109. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/agent.py +0 -0
  110. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/application.py +0 -0
  111. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/datasource.py +0 -0
  112. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/echo.py +0 -0
  113. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/function.py +0 -0
  114. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
  115. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/llm.py +0 -0
  116. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/loop.py +0 -0
  117. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/loop_output.py +0 -0
  118. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
  119. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
  120. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/prompt.py +0 -0
  121. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/router.py +0 -0
  122. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/tool.py +0 -0
  123. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/vectorstore.py +0 -0
  124. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/tools/vectorstore_base.py +0 -0
  125. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
  126. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/utils/__init__.py +0 -0
  127. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/utils/constants.py +0 -0
  128. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/utils/evaluate.py +0 -0
  129. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/utils/logging.py +0 -0
  130. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
  131. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/utils/streamlit.py +0 -0
  132. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/utils/toolkit_runtime.py +0 -0
  133. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/runtime/utils/toolkit_utils.py +0 -0
  134. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/__init__.py +0 -0
  135. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/ado/__init__.py +0 -0
  136. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/ado/repos/__init__.py +0 -0
  137. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
  138. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/ado/test_plan/__init__.py +0 -0
  139. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/ado/utils.py +0 -0
  140. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/ado/wiki/__init__.py +0 -0
  141. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/ado/work_item/__init__.py +0 -0
  142. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
  143. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
  144. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/aws/__init__.py +0 -0
  145. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/aws/delta_lake/__init__.py +0 -0
  146. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/aws/delta_lake/api_wrapper.py +0 -0
  147. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/aws/delta_lake/schemas.py +0 -0
  148. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/aws/delta_lake/tool.py +0 -0
  149. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/azure_ai/__init__.py +0 -0
  150. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/azure_ai/search/__init__.py +0 -0
  151. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
  152. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/base/__init__.py +0 -0
  153. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/base/tool.py +0 -0
  154. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/bitbucket/__init__.py +0 -0
  155. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
  156. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
  157. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
  158. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/browser/__init__.py +0 -0
  159. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/browser/crawler.py +0 -0
  160. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
  161. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/browser/google_search_rag.py +0 -0
  162. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/browser/utils.py +0 -0
  163. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/browser/wiki.py +0 -0
  164. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/__init__.py +0 -0
  165. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
  166. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
  167. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
  168. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
  169. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
  170. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
  171. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
  172. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
  173. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
  174. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
  175. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
  176. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/tools.py +0 -0
  177. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
  178. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
  179. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/carrier/utils.py +0 -0
  180. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/__init__.py +0 -0
  181. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
  182. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
  183. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/constants.py +0 -0
  184. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
  185. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
  186. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
  187. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
  188. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
  189. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
  190. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
  191. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
  192. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
  193. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
  194. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
  195. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
  196. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
  197. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
  198. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
  199. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/models.py +0 -0
  200. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
  201. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
  202. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/sematic/json_chunker.py +0 -0
  203. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
  204. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
  205. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
  206. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/chunkers/utils.py +0 -0
  207. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/cloud/__init__.py +0 -0
  208. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
  209. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
  210. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
  211. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
  212. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
  213. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
  214. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
  215. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
  216. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/code/__init__.py +0 -0
  217. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/code/linter/__init__.py +0 -0
  218. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
  219. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
  220. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/code/sonar/__init__.py +0 -0
  221. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
  222. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/confluence/__init__.py +0 -0
  223. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
  224. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/confluence/loader.py +0 -0
  225. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/confluence/utils.py +0 -0
  226. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
  227. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
  228. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/elastic/__init__.py +0 -0
  229. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
  230. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/elitea_base.py +0 -0
  231. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/figma/__init__.py +0 -0
  232. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/figma/api_wrapper.py +0 -0
  233. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/github/__init__.py +0 -0
  234. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/github/api_wrapper.py +0 -0
  235. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/github/github_client.py +0 -0
  236. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
  237. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/github/schemas.py +0 -0
  238. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/github/tool.py +0 -0
  239. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/github/tool_prompts.py +0 -0
  240. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/gitlab/__init__.py +0 -0
  241. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
  242. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/gitlab/tools.py +0 -0
  243. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/gitlab/utils.py +0 -0
  244. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
  245. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
  246. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/gmail/__init__.py +0 -0
  247. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
  248. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/gmail/utils.py +0 -0
  249. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/google/__init__.py +0 -0
  250. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/google/bigquery/__init__.py +0 -0
  251. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/google/bigquery/api_wrapper.py +0 -0
  252. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/google/bigquery/schemas.py +0 -0
  253. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/google/bigquery/tool.py +0 -0
  254. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/google_places/__init__.py +0 -0
  255. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
  256. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/jira/__init__.py +0 -0
  257. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/jira/api_wrapper.py +0 -0
  258. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/keycloak/__init__.py +0 -0
  259. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
  260. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/llm/__init__.py +0 -0
  261. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/llm/img_utils.py +0 -0
  262. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/llm/llm_utils.py +0 -0
  263. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/localgit/__init__.py +0 -0
  264. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/localgit/local_git.py +0 -0
  265. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/localgit/tool.py +0 -0
  266. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/memory/__init__.py +0 -0
  267. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/non_code_indexer_toolkit.py +0 -0
  268. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/ocr/__init__.py +0 -0
  269. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
  270. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/ocr/text_detection.py +0 -0
  271. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/openapi/__init__.py +0 -0
  272. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/__init__.py +0 -0
  273. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
  274. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
  275. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
  276. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
  277. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
  278. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
  279. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
  280. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
  281. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
  282. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
  283. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
  284. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
  285. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
  286. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
  287. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
  288. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
  289. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
  290. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
  291. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/postman/__init__.py +0 -0
  292. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/postman/api_wrapper.py +0 -0
  293. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/postman/postman_analysis.py +0 -0
  294. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pptx/__init__.py +0 -0
  295. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
  296. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/qtest/__init__.py +0 -0
  297. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/qtest/api_wrapper.py +0 -0
  298. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/qtest/tool.py +0 -0
  299. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/rally/__init__.py +0 -0
  300. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/rally/api_wrapper.py +0 -0
  301. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/report_portal/__init__.py +0 -0
  302. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
  303. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
  304. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/salesforce/__init__.py +0 -0
  305. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
  306. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/salesforce/model.py +0 -0
  307. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/servicenow/__init__.py +0 -0
  308. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
  309. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
  310. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/sharepoint/__init__.py +0 -0
  311. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
  312. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/sharepoint/utils.py +0 -0
  313. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/slack/__init__.py +0 -0
  314. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/slack/api_wrapper.py +0 -0
  315. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/sql/__init__.py +0 -0
  316. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/sql/api_wrapper.py +0 -0
  317. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/sql/models.py +0 -0
  318. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/testio/__init__.py +0 -0
  319. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/testio/api_wrapper.py +0 -0
  320. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/testrail/__init__.py +0 -0
  321. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
  322. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/utils/__init__.py +0 -0
  323. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/utils/available_tools_decorator.py +0 -0
  324. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/vector_adapters/VectorStoreAdapter.py +0 -0
  325. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/vector_adapters/__init__.py +0 -0
  326. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/xray/__init__.py +0 -0
  327. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/xray/api_wrapper.py +0 -0
  328. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/yagmail/__init__.py +0 -0
  329. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
  330. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
  331. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr/__init__.py +0 -0
  332. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
  333. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr/rest_client.py +0 -0
  334. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr_enterprise/__init__.py +0 -0
  335. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +0 -0
  336. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
  337. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr_essential/__init__.py +0 -0
  338. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr_essential/api_wrapper.py +0 -0
  339. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr_essential/client.py +0 -0
  340. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
  341. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -0
  342. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr_squad/__init__.py +0 -0
  343. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -0
  344. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +0 -0
  345. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk.egg-info/dependency_links.txt +0 -0
  346. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk.egg-info/requires.txt +0 -0
  347. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/alita_sdk.egg-info/top_level.txt +0 -0
  348. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/setup.cfg +0 -0
  349. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/tests/test_ado_analysis.py +0 -0
  350. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/tests/test_github_analysis.py +0 -0
  351. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/tests/test_gitlab_analysis.py +0 -0
  352. {alita_sdk-0.3.265 → alita_sdk-0.3.267}/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.265
3
+ Version: 0.3.267
4
4
  Summary: SDK for building langchain agents using resources from Alita
5
5
  Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedjik@gmail.com>, Artem Dubrovskiy <ad13box@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -422,7 +422,7 @@ def create_graph(
422
422
  if not pipeline_name:
423
423
  raise ValueError("Subgraph must have a 'tool' node: add required tool to the subgraph node")
424
424
  node_fn = SubgraphRunnable(
425
- inner=tool,
425
+ inner=tool.graph,
426
426
  name=pipeline_name,
427
427
  input_mapping=node.get('input_mapping', {}),
428
428
  output_mapping=node.get('output_mapping', {}),
@@ -666,7 +666,9 @@ class LangGraphAgentRunnable(CompiledStateGraph):
666
666
  config: Optional[RunnableConfig] = None,
667
667
  *args, **kwargs):
668
668
  logger.info(f"Incomming Input: {input}")
669
- if not config.get("configurable", {}).get("thread_id"):
669
+ if config is None:
670
+ config = RunnableConfig()
671
+ if not config.get("configurable", {}).get("thread_id", ""):
670
672
  config["configurable"] = {"thread_id": str(uuid4())}
671
673
  thread_id = config.get("configurable", {}).get("thread_id")
672
674
  # Handle chat history and current input properly
@@ -1,8 +1,11 @@
1
1
  from typing import List, Any
2
2
 
3
+ from langchain_core.tools import BaseTool
4
+ from langgraph.checkpoint.memory import MemorySaver
3
5
  from langgraph.graph.state import CompiledStateGraph
4
6
 
5
7
  from ..langchain.langraph_agent import create_graph, SUBGRAPH_REGISTRY
8
+ from ..tools.graph import GraphTool
6
9
  from ..utils.utils import clean_string
7
10
 
8
11
 
@@ -16,7 +19,7 @@ class SubgraphToolkit:
16
19
  llm,
17
20
  app_api_key: str,
18
21
  selected_tools: list[str] = []
19
- ) -> List[CompiledStateGraph]:
22
+ ) -> List[BaseTool]:
20
23
  from .tools import get_tools
21
24
  # from langgraph.checkpoint.memory import MemorySaver
22
25
 
@@ -36,18 +39,20 @@ class SubgraphToolkit:
36
39
 
37
40
  # For backward compatibility, still create a compiled graph stub
38
41
  # This is mainly used for identification in the parent graph's tools list
42
+ # For now the graph toolkit will have its own ephemeral in memory checkpoint memory.
39
43
  graph = create_graph(
40
44
  client=llm,
41
45
  tools=tools,
42
46
  yaml_schema=version_details['instructions'],
43
47
  debug=False,
44
48
  store=None,
45
- memory=None,
46
- for_subgraph=True, # compile as raw subgraph
49
+ memory=MemorySaver(),
50
+ # for_subgraph=True, # compile as raw subgraph
47
51
  )
48
-
52
+
53
+ cleaned_subgraph_name = clean_string(subgraph_name)
49
54
  # Tag the graph stub for parent lookup
50
- graph.name = clean_string(subgraph_name)
55
+ graph.name = cleaned_subgraph_name
51
56
 
52
57
  # Return the compiled graph stub for backward compatibility
53
- return [graph]
58
+ return [GraphTool(description=app_details['description'], name=subgraph_name, graph=graph)]
@@ -9,6 +9,7 @@ from pydantic import create_model, Field, model_validator
9
9
 
10
10
  from alita_sdk.tools.non_code_indexer_toolkit import NonCodeIndexerToolkit
11
11
  from alita_sdk.tools.utils.available_tools_decorator import extend_with_parent_available_tools
12
+ from ...runtime.utils.utils import IndexerKeywords
12
13
 
13
14
 
14
15
  class ArtifactWrapper(NonCodeIndexerToolkit):
@@ -82,8 +83,8 @@ class ArtifactWrapper(NonCodeIndexerToolkit):
82
83
  for document in documents:
83
84
  try:
84
85
  page_content = self.artifact.get_content_bytes(artifact_name=document.metadata['name'])
85
- document.metadata['loader_content'] = page_content
86
- document.metadata['loader_content_type'] = document.metadata['name']
86
+ document.metadata[IndexerKeywords.CONTENT_IN_BYTES.value] = page_content
87
+ document.metadata[IndexerKeywords.CONTENT_FILE_NAME.value] = document.metadata['name']
87
88
  yield document
88
89
  except Exception as e:
89
90
  logging.error(f"Failed while parsing the file '{document.metadata['name']}': {e}")
@@ -0,0 +1,75 @@
1
+ import json
2
+
3
+ from langgraph.graph.state import CompiledStateGraph
4
+
5
+ from ..utils.utils import clean_string
6
+ from langchain_core.tools import BaseTool
7
+ from langchain_core.messages import BaseMessage, AIMessage, ToolCall
8
+ from typing import Any, Type, Optional, Union
9
+ from pydantic import create_model, field_validator, BaseModel
10
+ from pydantic.fields import FieldInfo
11
+ from ..langchain.mixedAgentRenderes import convert_message_to_json
12
+ from logging import getLogger
13
+
14
+ logger = getLogger(__name__)
15
+
16
+ graphToolSchema = create_model(
17
+ "graphToolSchema",
18
+ input=(str, FieldInfo(description="User Input for Graph")),
19
+ chat_history=(Optional[list[BaseMessage]],
20
+ FieldInfo(description="Chat History relevant for Graph in format [{'role': '<user| assistant | etc>', 'content': '<content of the respected message>'}]", default=[]))
21
+ )
22
+
23
+
24
+ def formulate_query(kwargs):
25
+ chat_history = []
26
+ if kwargs.get('chat_history'):
27
+ if isinstance(kwargs.get('chat_history')[-1], BaseMessage):
28
+ chat_history = convert_message_to_json(kwargs.get('chat_history')[:])
29
+ elif isinstance(kwargs.get('chat_history')[-1], dict):
30
+ if all([True if message.get('role') and message.get('content') else False for message in
31
+ kwargs.get('chat_history')]):
32
+ chat_history = kwargs.get('chat_history')[:]
33
+ else:
34
+ for each in kwargs.get('chat_history')[:]:
35
+ chat_history.append(AIMessage(json.dumps(each)))
36
+ elif isinstance(kwargs.get('chat_history')[-1], str):
37
+ chat_history = []
38
+ for each in kwargs.get('chat_history')[:]:
39
+ chat_history.append(AIMessage(each))
40
+ elif kwargs.get('messages'):
41
+ chat_history = convert_message_to_json(kwargs.get('messages')[:])
42
+ result = {"input": kwargs.get('input'), "chat_history": chat_history}
43
+ for key, value in kwargs.items():
44
+ if key not in ("input", "chat_history"):
45
+ result[key] = value
46
+ return result
47
+
48
+
49
+ class GraphTool(BaseTool):
50
+ name: str
51
+ description: str
52
+ graph: CompiledStateGraph
53
+ args_schema: Type[BaseModel] = graphToolSchema
54
+ return_type: str = "str"
55
+
56
+ @field_validator('name', mode='before')
57
+ @classmethod
58
+ def remove_spaces(cls, v):
59
+ return clean_string(v)
60
+
61
+ def invoke(self, input: Any, config: Optional[dict] = None, **kwargs: Any) -> Any:
62
+ """Override default invoke to preserve all fields, not just args_schema"""
63
+ schema_values = self.args_schema(**input).model_dump() if self.args_schema else {}
64
+ extras = {k: v for k, v in input.items() if k not in schema_values}
65
+ all_kwargs = {**kwargs, **extras, **schema_values}
66
+ if config is None:
67
+ config = {}
68
+ return self._run(*config, **all_kwargs)
69
+
70
+ def _run(self, *args, **kwargs):
71
+ response = self.graph.invoke(formulate_query(kwargs))
72
+ if self.return_type == "str":
73
+ return response["output"]
74
+ else:
75
+ return {"messages": [{"role": "assistant", "content": response["output"]}]}
@@ -9,6 +9,8 @@ class IndexerKeywords(Enum):
9
9
  PARENT = 'parent_id'
10
10
  # DEPENDENCY_ID = 'dependency_id'
11
11
  UPDATED_ON = 'updated_on'
12
+ CONTENT_IN_BYTES = 'loader_content'
13
+ CONTENT_FILE_NAME = 'loader_content_type'
12
14
 
13
15
  # This pattern matches characters that are NOT alphanumeric, underscores, or hyphens
14
16
  clean_string_pattern = re.compile(r'[^a-zA-Z0-9_.-]')
@@ -1,7 +1,7 @@
1
1
  import json
2
2
  import logging
3
3
  import xml.etree.ElementTree as ET
4
- from typing import Generator, Optional
4
+ from typing import Generator, Literal, Optional
5
5
 
6
6
  from azure.devops.connection import Connection
7
7
  from azure.devops.v7_0.test_plan.models import TestPlanCreateParams, TestSuiteCreateParams, \
@@ -14,7 +14,9 @@ from pydantic import create_model, PrivateAttr, model_validator, SecretStr
14
14
  from pydantic.fields import FieldInfo as Field
15
15
 
16
16
  from ..work_item import AzureDevOpsApiWrapper
17
- from ...elitea_base import BaseVectorStoreToolApiWrapper, extend_with_vector_tools
17
+ from ...non_code_indexer_toolkit import NonCodeIndexerToolkit
18
+ from ...utils.available_tools_decorator import extend_with_parent_available_tools
19
+ from ....runtime.utils.utils import IndexerKeywords
18
20
 
19
21
  logger = logging.getLogger(__name__)
20
22
 
@@ -158,7 +160,7 @@ TestCasesGetModel = create_model(
158
160
  suite_id=(int, Field(description="ID of the test suite for which test cases are requested"))
159
161
  )
160
162
 
161
- class TestPlanApiWrapper(BaseVectorStoreToolApiWrapper):
163
+ class TestPlanApiWrapper(NonCodeIndexerToolkit):
162
164
  # TODO use ado_configuration instead of organization_url, project and token
163
165
  __test__ = False
164
166
  organization_url: str
@@ -178,7 +180,7 @@ class TestPlanApiWrapper(BaseVectorStoreToolApiWrapper):
178
180
  cls._client = connection.clients.get_test_plan_client()
179
181
  except Exception as e:
180
182
  raise ImportError(f"Failed to connect to Azure DevOps: {e}")
181
- return values
183
+ return super().validate_toolkit(values)
182
184
 
183
185
  def create_test_plan(self, test_plan_create_params: str):
184
186
  """Create a test plan in Azure DevOps."""
@@ -360,7 +362,7 @@ class TestPlanApiWrapper(BaseVectorStoreToolApiWrapper):
360
362
  logger.error(f"Error getting test cases: {e}")
361
363
  return ToolException(f"Error getting test cases: {e}")
362
364
 
363
- def _base_loader(self, plan_id: str, suite_ids: Optional[list[str]] = [], **kwargs) -> Generator[Document, None, None]:
365
+ def _base_loader(self, plan_id: str, suite_ids: Optional[list[str]] = [], chunking_tool: str = None, **kwargs) -> Generator[Document, None, None]:
364
366
  cases = []
365
367
  for sid in suite_ids:
366
368
  cases.extend(self.get_test_cases(plan_id, sid))
@@ -368,29 +370,39 @@ class TestPlanApiWrapper(BaseVectorStoreToolApiWrapper):
368
370
  for case in cases:
369
371
  field_dicts = case.get('work_item', {}).get('work_item_fields', [])
370
372
  data = {k: v for d in field_dicts for k, v in d.items()}
371
- yield Document(
372
- page_content=data.get('Microsoft.VSTS.TCM.Steps', ''),
373
- metadata={
374
- 'id': case.get('work_item', {}).get('id', ''),
375
- 'title': case.get('work_item', {}).get('name', ''),
376
- 'plan_id': case.get('test_plan', {}).get('id', ''),
377
- 'suite_id': case.get('test_suite', {}).get('id', ''),
378
- 'description': data.get('System.Description', ''),
379
- 'updated_on': data.get('System.Rev', ''),
380
- })
381
-
382
- def _process_document(self, document: Document) -> Generator[Document, None, None]:
383
- if False:
384
- yield # Unreachable, but keeps the function a generator
373
+ if chunking_tool:
374
+ yield Document(
375
+ page_content='',
376
+ metadata={
377
+ 'id': case.get('work_item', {}).get('id', ''),
378
+ 'title': case.get('work_item', {}).get('name', ''),
379
+ 'plan_id': case.get('test_plan', {}).get('id', ''),
380
+ 'suite_id': case.get('test_suite', {}).get('id', ''),
381
+ 'description': data.get('System.Description', ''),
382
+ 'updated_on': data.get('System.Rev', ''),
383
+ IndexerKeywords.CONTENT_IN_BYTES.value: data.get('Microsoft.VSTS.TCM.Steps', '').encode("utf-8")
384
+ })
385
+ else:
386
+ yield Document(
387
+ page_content=data.get('Microsoft.VSTS.TCM.Steps', ''),
388
+ metadata={
389
+ 'id': case.get('work_item', {}).get('id', ''),
390
+ 'title': case.get('work_item', {}).get('name', ''),
391
+ 'plan_id': case.get('test_plan', {}).get('id', ''),
392
+ 'suite_id': case.get('test_suite', {}).get('id', ''),
393
+ 'description': data.get('System.Description', ''),
394
+ 'updated_on': data.get('System.Rev', ''),
395
+ })
385
396
 
386
397
  def _index_tool_params(self):
387
398
  """Return the parameters for indexing data."""
388
399
  return {
389
400
  "plan_id": (str, Field(description="ID of the test plan for which test cases are requested")),
390
- "suite_ids": (str, Field(description="List of test suite IDs for which test cases are requested (can be empty)"))
401
+ "suite_ids": (str, Field(description="List of test suite IDs for which test cases are requested (can be empty)")),
402
+ 'chunking_tool':(Literal['html'], Field(description="Name of chunking tool", default='html'))
391
403
  }
392
404
 
393
- @extend_with_vector_tools
405
+ @extend_with_parent_available_tools
394
406
  def get_available_tools(self):
395
407
  """Return a list of available tools."""
396
408
  return [
@@ -1,6 +1,6 @@
1
1
  import hashlib
2
2
  import logging
3
- from typing import Any, Dict, Generator, Optional
3
+ from typing import Generator, Literal, Optional
4
4
 
5
5
  from azure.devops.connection import Connection
6
6
  from azure.devops.exceptions import AzureDevOpsServiceError
@@ -15,7 +15,9 @@ from pydantic import create_model, PrivateAttr, SecretStr
15
15
  from pydantic import model_validator
16
16
  from pydantic.fields import Field
17
17
 
18
- from ...elitea_base import BaseVectorStoreToolApiWrapper, extend_with_vector_tools
18
+ from ...non_code_indexer_toolkit import NonCodeIndexerToolkit
19
+ from ...utils.available_tools_decorator import extend_with_parent_available_tools
20
+ from ....runtime.utils.utils import IndexerKeywords
19
21
 
20
22
  logger = logging.getLogger(__name__)
21
23
 
@@ -55,7 +57,7 @@ RenamePageInput = create_model(
55
57
  )
56
58
 
57
59
 
58
- class AzureDevOpsApiWrapper(BaseVectorStoreToolApiWrapper):
60
+ class AzureDevOpsApiWrapper(NonCodeIndexerToolkit):
59
61
  # TODO use ado_configuration instead of organization_url, project and token
60
62
  organization_url: str
61
63
  project: str
@@ -82,7 +84,7 @@ class AzureDevOpsApiWrapper(BaseVectorStoreToolApiWrapper):
82
84
  except Exception as e:
83
85
  return ImportError(f"Failed to connect to Azure DevOps: {e}")
84
86
 
85
- return values
87
+ return super().validate_toolkit(values)
86
88
 
87
89
  def get_wiki(self, wiki_identified: str):
88
90
  """Extract ADO wiki information."""
@@ -219,7 +221,7 @@ class AzureDevOpsApiWrapper(BaseVectorStoreToolApiWrapper):
219
221
  logger.error(f"Unable to modify wiki page: {str(e)}")
220
222
  return ToolException(f"Unable to modify wiki page: {str(e)}")
221
223
 
222
- def _base_loader(self, wiki_identifier: str, title_contains: Optional[str] = None, **kwargs) -> Generator[Document, None, None]:
224
+ def _base_loader(self, wiki_identifier: str, chunking_tool: str = None, title_contains: Optional[str] = None, **kwargs) -> Generator[Document, None, None]:
223
225
  pages = self._client.get_pages_batch(pages_batch_request={}, project=self.project, wiki_identifier=wiki_identifier)
224
226
  #
225
227
  for page in pages:
@@ -227,21 +229,31 @@ class AzureDevOpsApiWrapper(BaseVectorStoreToolApiWrapper):
227
229
  content_hash = hashlib.sha256(content.encode("utf-8")).hexdigest()
228
230
  title = page.path.rsplit("/", 1)[-1]
229
231
  if not title_contains or (title_contains and title_contains.lower() in title.lower()):
230
- yield Document(page_content=content, metadata={
231
- 'id': str(page.id),
232
- 'path': page.path,
233
- 'title': title,
234
- 'updated_on': content_hash
235
- })
232
+ if chunking_tool:
233
+ yield Document(page_content='', metadata={
234
+ 'id': str(page.id),
235
+ 'path': page.path,
236
+ 'title': title,
237
+ 'updated_on': content_hash,
238
+ IndexerKeywords.CONTENT_IN_BYTES.value: content.encode("utf-8")
239
+ })
240
+ else:
241
+ yield Document(page_content=content, metadata={
242
+ 'id': str(page.id),
243
+ 'path': page.path,
244
+ 'title': title,
245
+ 'updated_on': content_hash
246
+ })
236
247
 
237
248
  def _index_tool_params(self):
238
249
  """Return the parameters for indexing data."""
239
250
  return {
240
251
  "wiki_identifier": (str, Field(description="Wiki identifier to index, e.g., 'ABCProject.wiki'")),
241
- 'title_contains': (Optional[str], Field(default=None, description="Optional filter to include only pages with titles containing exact this string"))
252
+ 'title_contains': (Optional[str], Field(default=None, description="Optional filter to include only pages with titles containing exact this string")),
253
+ 'chunking_tool':(Literal['markdown'], Field(description="Name of chunking tool", default='markdown'))
242
254
  }
243
255
 
244
- @extend_with_vector_tools
256
+ @extend_with_parent_available_tools
245
257
  def get_available_tools(self):
246
258
  """Return a list of available tools."""
247
259
  return [
@@ -15,6 +15,7 @@ from pydantic import model_validator
15
15
  from pydantic.fields import Field
16
16
 
17
17
  from alita_sdk.tools.non_code_indexer_toolkit import NonCodeIndexerToolkit
18
+ from ....runtime.utils.utils import IndexerKeywords
18
19
 
19
20
  logger = logging.getLogger(__name__)
20
21
 
@@ -525,7 +526,7 @@ class AzureDevOpsApiWrapper(NonCodeIndexerToolkit):
525
526
  for attachment_id, file_name in document.metadata.get('attachment_ids', {}).items():
526
527
  content_generator = self._client.get_attachment_content(id=attachment_id, download=True)
527
528
  content = b"".join(x for x in content_generator)
528
- yield Document(page_content="", metadata={'id': attachment_id, 'loader_content_type': file_name, 'loader_content': content})
529
+ yield Document(page_content="", metadata={'id': attachment_id, IndexerKeywords.CONTENT_FILE_NAME.value: file_name, IndexerKeywords.CONTENT_IN_BYTES.value: content})
529
530
 
530
531
  def _index_tool_params(self):
531
532
  """Return the parameters for indexing data."""
@@ -5,7 +5,7 @@ from typing import Any, Optional, List, Literal, Dict, Generator
5
5
  from langchain_core.documents import Document
6
6
  from pydantic import create_model, Field, SecretStr
7
7
 
8
- from .utils.content_parser import process_content_by_type
8
+ from .utils.content_parser import file_extension_by_chunker, process_content_by_type
9
9
  from .vector_adapters.VectorStoreAdapter import VectorStoreAdapterFactory
10
10
  from ..runtime.tools.vectorstore_base import VectorStoreWrapperBase
11
11
  from ..runtime.utils.utils import IndexerKeywords
@@ -170,19 +170,26 @@ class BaseIndexerToolkit(VectorStoreWrapperBase):
170
170
  chunking_config['llm'] = self.llm
171
171
 
172
172
  for document in documents:
173
- if content_type := document.metadata.get('loader_content_type', None):
173
+ if content_type := document.metadata.get(IndexerKeywords.CONTENT_FILE_NAME.value, None):
174
174
  # apply parsing based on content type and chunk if chunker was applied to parent doc
175
- content = document.metadata.pop('loader_content', None)
175
+ content = document.metadata.pop(IndexerKeywords.CONTENT_IN_BYTES.value, None)
176
176
  yield from process_content_by_type(
177
177
  document=document,
178
178
  content=content,
179
179
  extension_source=content_type, llm=self.llm, chunking_config=chunking_config)
180
+ elif chunking_tool and (content_in_bytes := document.metadata.pop(IndexerKeywords.CONTENT_IN_BYTES.value, None)):
181
+ # apply parsing based on content type resolved from chunking_tool
182
+ content_type = file_extension_by_chunker(chunking_tool)
183
+ yield from process_content_by_type(
184
+ document=document,
185
+ content=content_in_bytes,
186
+ extension_source=content_type, llm=self.llm, chunking_config=chunking_config)
180
187
  elif chunking_tool:
181
188
  # apply default chunker from toolkit config. No parsing.
182
189
  chunker = chunkers.get(chunking_tool)
183
190
  yield from chunker(file_content_generator=iter([document]), config=chunking_config)
184
191
  else:
185
- # return as is if neither chunker or content typa are specified
192
+ # return as is if neither chunker nor content type are specified
186
193
  yield document
187
194
 
188
195
  def _extend_data(self, documents: Generator[Document, None, None]):
@@ -10,6 +10,7 @@ from pydantic import Field, PrivateAttr, create_model, model_validator, SecretSt
10
10
 
11
11
  from ..non_code_indexer_toolkit import NonCodeIndexerToolkit
12
12
  from ..utils.content_parser import parse_file_content
13
+ from ...runtime.utils.utils import IndexerKeywords
13
14
 
14
15
  NoInput = create_model(
15
16
  "NoInput"
@@ -200,8 +201,8 @@ class SharepointApiWrapper(NonCodeIndexerToolkit):
200
201
  def _extend_data(self, documents: Generator[Document, None, None]):
201
202
  for document in documents:
202
203
  try:
203
- document.metadata['loader_content'] = self._load_file_content_in_bytes(document.metadata['Path'])
204
- document.metadata['loader_content_type'] = document.metadata['Name']
204
+ document.metadata[IndexerKeywords.CONTENT_IN_BYTES.value] = self._load_file_content_in_bytes(document.metadata['Path'])
205
+ document.metadata[IndexerKeywords.CONTENT_FILE_NAME.value] = document.metadata['Name']
205
206
  yield document
206
207
  except Exception as e:
207
208
  logging.error(f"Failed while parsing the file '{document.metadata['Path']}': {e}")
@@ -8,6 +8,7 @@ from langchain_core.documents import Document
8
8
  from langchain_core.tools import ToolException
9
9
 
10
10
  from alita_sdk.runtime.langchain.document_loaders.constants import loaders_map
11
+ from ...runtime.utils.utils import IndexerKeywords
11
12
 
12
13
  logger = getLogger(__name__)
13
14
 
@@ -175,7 +176,7 @@ def process_content_by_type(document: Document, content, extension_source: str,
175
176
  with tempfile.NamedTemporaryFile(mode='w+b', suffix=extension, delete=False) as temp_file:
176
177
  temp_file_path = temp_file.name
177
178
  if content is None:
178
- logger.warning("'loader_content' ie expected but not found in document metadata.")
179
+ logger.warning(f"'{IndexerKeywords.CONTENT_IN_BYTES.value}' ie expected but not found in document metadata.")
179
180
  return
180
181
 
181
182
  temp_file.write(content)
@@ -218,4 +219,19 @@ def sanitize_for_postgres(text: str, replacement: str = "") -> str:
218
219
  >>> sanitize_for_postgres("Hello\\x00world", " ")
219
220
  'Hello world'
220
221
  """
221
- return text.replace("\x00", replacement)
222
+ return text.replace("\x00", replacement)
223
+
224
+
225
+ def file_extension_by_chunker(chunker_name: str) -> str:
226
+ name = chunker_name.lower()
227
+ if name == "markdown":
228
+ return ".md"
229
+ if name == "json":
230
+ return ".json"
231
+ if name == "text" or name == "txt":
232
+ return ".txt"
233
+ if name == "html":
234
+ return ".html"
235
+ if name == "csv":
236
+ return ".csv"
237
+ return None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.265
3
+ Version: 0.3.267
4
4
  Summary: SDK for building langchain agents using resources from Alita
5
5
  Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedjik@gmail.com>, Artem Dubrovskiy <ad13box@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -105,6 +105,7 @@ alita_sdk/runtime/tools/artifact.py
105
105
  alita_sdk/runtime/tools/datasource.py
106
106
  alita_sdk/runtime/tools/echo.py
107
107
  alita_sdk/runtime/tools/function.py
108
+ alita_sdk/runtime/tools/graph.py
108
109
  alita_sdk/runtime/tools/indexer_tool.py
109
110
  alita_sdk/runtime/tools/llm.py
110
111
  alita_sdk/runtime/tools/loop.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "alita_sdk"
7
- version = "0.3.265"
7
+ version = "0.3.267"
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