alita-sdk 0.3.202__tar.gz → 0.3.204__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 (313) hide show
  1. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/PKG-INFO +1 -1
  2. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/clients/client.py +3 -3
  3. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/api_wrapper.py +3 -0
  4. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/backend_reports_tool.py +29 -1
  5. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/backend_tests_tool.py +33 -30
  6. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/carrier_sdk.py +14 -5
  7. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/tools.py +2 -1
  8. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/postman/api_wrapper.py +28 -15
  9. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/slack/api_wrapper.py +19 -4
  10. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk.egg-info/PKG-INFO +1 -1
  11. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/pyproject.toml +1 -1
  12. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/LICENSE +0 -0
  13. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/README.md +0 -0
  14. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/__init__.py +0 -0
  15. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/community/__init__.py +0 -0
  16. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/community/analysis/__init__.py +0 -0
  17. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/community/analysis/ado_analyse/__init__.py +0 -0
  18. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/community/analysis/ado_analyse/api_wrapper.py +0 -0
  19. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/community/analysis/github_analyse/__init__.py +0 -0
  20. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/community/analysis/github_analyse/api_wrapper.py +0 -0
  21. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/community/analysis/gitlab_analyse/__init__.py +0 -0
  22. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/community/analysis/gitlab_analyse/api_wrapper.py +0 -0
  23. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/community/analysis/jira_analyse/__init__.py +0 -0
  24. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/community/analysis/jira_analyse/api_wrapper.py +0 -0
  25. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/community/utils.py +0 -0
  26. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/__init__.py +0 -0
  27. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/clients/__init__.py +0 -0
  28. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/clients/artifact.py +0 -0
  29. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/clients/datasource.py +0 -0
  30. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/clients/prompt.py +0 -0
  31. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/__init__.py +0 -0
  32. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
  33. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
  34. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/assistant.py +0 -0
  35. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
  36. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/constants.py +0 -0
  37. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
  38. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
  39. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
  40. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
  41. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
  42. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
  43. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
  44. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
  45. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
  46. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
  47. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
  48. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
  49. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
  50. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
  51. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/indexer.py +0 -0
  52. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
  53. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
  54. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
  55. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
  56. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
  57. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/langraph_agent.py +0 -0
  58. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
  59. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
  60. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
  61. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
  62. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
  63. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/store_manager.py +0 -0
  64. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
  65. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
  66. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
  67. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
  68. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
  69. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
  70. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/tools/git.py +0 -0
  71. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/tools/log.py +0 -0
  72. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
  73. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/tools/state.py +0 -0
  74. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
  75. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
  76. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/langchain/utils.py +0 -0
  77. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/llms/__init__.py +0 -0
  78. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/llms/alita.py +0 -0
  79. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/llms/preloaded.py +0 -0
  80. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/toolkits/__init__.py +0 -0
  81. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/toolkits/application.py +0 -0
  82. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/toolkits/artifact.py +0 -0
  83. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/toolkits/datasource.py +0 -0
  84. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/toolkits/prompt.py +0 -0
  85. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
  86. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/toolkits/tools.py +0 -0
  87. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
  88. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/__init__.py +0 -0
  89. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/agent.py +0 -0
  90. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/application.py +0 -0
  91. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/artifact.py +0 -0
  92. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/datasource.py +0 -0
  93. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/echo.py +0 -0
  94. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/function.py +0 -0
  95. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
  96. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/llm.py +0 -0
  97. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/loop.py +0 -0
  98. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/loop_output.py +0 -0
  99. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
  100. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
  101. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/prompt.py +0 -0
  102. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/router.py +0 -0
  103. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/tool.py +0 -0
  104. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/tools/vectorstore.py +0 -0
  105. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
  106. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/utils/__init__.py +0 -0
  107. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/utils/constants.py +0 -0
  108. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/utils/evaluate.py +0 -0
  109. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/utils/logging.py +0 -0
  110. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
  111. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/utils/streamlit.py +0 -0
  112. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/runtime/utils/utils.py +0 -0
  113. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/__init__.py +0 -0
  114. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/ado/__init__.py +0 -0
  115. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/ado/repos/__init__.py +0 -0
  116. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
  117. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/ado/test_plan/__init__.py +0 -0
  118. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +0 -0
  119. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/ado/utils.py +0 -0
  120. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/ado/wiki/__init__.py +0 -0
  121. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/ado/wiki/ado_wrapper.py +0 -0
  122. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/ado/work_item/__init__.py +0 -0
  123. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
  124. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
  125. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
  126. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/azure_ai/__init__.py +0 -0
  127. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/azure_ai/search/__init__.py +0 -0
  128. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
  129. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/base/__init__.py +0 -0
  130. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/base/tool.py +0 -0
  131. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/bitbucket/__init__.py +0 -0
  132. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
  133. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
  134. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
  135. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/bitbucket/tools.py +0 -0
  136. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/browser/__init__.py +0 -0
  137. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/browser/crawler.py +0 -0
  138. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
  139. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/browser/google_search_rag.py +0 -0
  140. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/browser/utils.py +0 -0
  141. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/browser/wiki.py +0 -0
  142. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/__init__.py +0 -0
  143. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
  144. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
  145. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
  146. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
  147. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
  148. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
  149. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
  150. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
  151. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
  152. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/carrier/utils.py +0 -0
  153. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/__init__.py +0 -0
  154. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
  155. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
  156. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/constants.py +0 -0
  157. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
  158. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
  159. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
  160. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
  161. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
  162. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
  163. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
  164. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
  165. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
  166. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
  167. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
  168. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
  169. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
  170. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
  171. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
  172. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/models.py +0 -0
  173. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
  174. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
  175. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
  176. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
  177. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
  178. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/chunkers/utils.py +0 -0
  179. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/cloud/__init__.py +0 -0
  180. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
  181. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
  182. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
  183. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
  184. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
  185. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
  186. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
  187. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
  188. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/code/__init__.py +0 -0
  189. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/code/linter/__init__.py +0 -0
  190. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
  191. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
  192. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/code/sonar/__init__.py +0 -0
  193. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
  194. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/confluence/__init__.py +0 -0
  195. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
  196. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/confluence/loader.py +0 -0
  197. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/confluence/utils.py +0 -0
  198. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
  199. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
  200. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/elastic/__init__.py +0 -0
  201. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
  202. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/elitea_base.py +0 -0
  203. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/figma/__init__.py +0 -0
  204. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/figma/api_wrapper.py +0 -0
  205. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/github/__init__.py +0 -0
  206. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/github/api_wrapper.py +0 -0
  207. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/github/github_client.py +0 -0
  208. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
  209. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/github/schemas.py +0 -0
  210. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/github/tool.py +0 -0
  211. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/github/tool_prompts.py +0 -0
  212. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/gitlab/__init__.py +0 -0
  213. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
  214. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/gitlab/tools.py +0 -0
  215. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/gitlab/utils.py +0 -0
  216. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
  217. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
  218. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/gmail/__init__.py +0 -0
  219. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
  220. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/gmail/utils.py +0 -0
  221. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/google_places/__init__.py +0 -0
  222. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
  223. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/jira/__init__.py +0 -0
  224. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/jira/api_wrapper.py +0 -0
  225. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/keycloak/__init__.py +0 -0
  226. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
  227. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/llm/__init__.py +0 -0
  228. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/llm/img_utils.py +0 -0
  229. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/llm/llm_utils.py +0 -0
  230. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/localgit/__init__.py +0 -0
  231. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/localgit/local_git.py +0 -0
  232. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/localgit/tool.py +0 -0
  233. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/memory/__init__.py +0 -0
  234. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/ocr/__init__.py +0 -0
  235. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
  236. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/ocr/text_detection.py +0 -0
  237. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/openapi/__init__.py +0 -0
  238. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/__init__.py +0 -0
  239. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
  240. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
  241. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
  242. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
  243. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
  244. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
  245. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
  246. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
  247. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
  248. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
  249. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
  250. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
  251. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
  252. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
  253. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
  254. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
  255. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
  256. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
  257. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/postman/__init__.py +0 -0
  258. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/postman/postman_analysis.py +0 -0
  259. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pptx/__init__.py +0 -0
  260. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
  261. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/qtest/__init__.py +0 -0
  262. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/qtest/api_wrapper.py +0 -0
  263. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/qtest/tool.py +0 -0
  264. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/rally/__init__.py +0 -0
  265. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/rally/api_wrapper.py +0 -0
  266. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/report_portal/__init__.py +0 -0
  267. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
  268. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
  269. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/salesforce/__init__.py +0 -0
  270. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
  271. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/salesforce/model.py +0 -0
  272. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/servicenow/__init__.py +0 -0
  273. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
  274. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
  275. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/sharepoint/__init__.py +0 -0
  276. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/sharepoint/api_wrapper.py +0 -0
  277. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
  278. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/sharepoint/utils.py +0 -0
  279. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/slack/__init__.py +0 -0
  280. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/sql/__init__.py +0 -0
  281. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/sql/api_wrapper.py +0 -0
  282. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/sql/models.py +0 -0
  283. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/testio/__init__.py +0 -0
  284. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/testio/api_wrapper.py +0 -0
  285. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/testrail/__init__.py +0 -0
  286. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
  287. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/utils/__init__.py +0 -0
  288. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/utils/content_parser.py +0 -0
  289. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/xray/__init__.py +0 -0
  290. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/xray/api_wrapper.py +0 -0
  291. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/yagmail/__init__.py +0 -0
  292. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
  293. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
  294. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/zephyr/__init__.py +0 -0
  295. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
  296. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/zephyr/rest_client.py +0 -0
  297. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/zephyr_enterprise/__init__.py +0 -0
  298. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +0 -0
  299. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
  300. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
  301. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -0
  302. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/zephyr_squad/__init__.py +0 -0
  303. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -0
  304. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +0 -0
  305. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk.egg-info/SOURCES.txt +0 -0
  306. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk.egg-info/dependency_links.txt +0 -0
  307. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk.egg-info/requires.txt +0 -0
  308. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/alita_sdk.egg-info/top_level.txt +0 -0
  309. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/setup.cfg +0 -0
  310. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/tests/test_ado_analysis.py +0 -0
  311. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/tests/test_github_analysis.py +0 -0
  312. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/tests/test_gitlab_analysis.py +0 -0
  313. {alita_sdk-0.3.202 → alita_sdk-0.3.204}/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.202
3
+ Version: 0.3.204
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
@@ -58,8 +58,8 @@ class AlitaClient:
58
58
  self.list_apps_url = f"{self.base_url}{self.api_path}/applications/applications/prompt_lib/{self.project_id}"
59
59
  self.integration_details = f"{self.base_url}{self.api_path}/integrations/integration/{self.project_id}"
60
60
  self.secrets_url = f"{self.base_url}{self.api_path}/secrets/secret/{self.project_id}"
61
- self.artifacts_url = f"{self.base_url}{self.api_path}/artifacts/artifacts/{self.project_id}"
62
- self.artifact_url = f"{self.base_url}{self.api_path}/artifacts/artifact/{self.project_id}"
61
+ self.artifacts_url = f"{self.base_url}{self.api_path}/artifacts/artifacts/default/{self.project_id}"
62
+ self.artifact_url = f"{self.base_url}{self.api_path}/artifacts/artifact/default/{self.project_id}"
63
63
  self.bucket_url = f"{self.base_url}{self.api_path}/artifacts/buckets/{self.project_id}"
64
64
  self.configurations_url = f'{self.base_url}{self.api_path}/integrations/integrations/default/{self.project_id}?section=configurations&unsecret=true'
65
65
  self.ai_section_url = f'{self.base_url}{self.api_path}/integrations/integrations/default/{self.project_id}?section=ai'
@@ -291,7 +291,7 @@ class AlitaClient:
291
291
  return self._process_requst(data)
292
292
 
293
293
  def download_artifact(self, bucket_name, artifact_name):
294
- url = f'{self.artifact_url}/{bucket_name}/{artifact_name}'
294
+ url = f'{self.artifact_url}/{bucket_name.lower()}/{artifact_name}'
295
295
  data = requests.get(url, headers=self.headers, verify=False)
296
296
  if data.status_code == 403:
297
297
  return {"error": "You are not authorized to access this resource"}
@@ -61,6 +61,9 @@ class CarrierAPIWrapper(BaseModel):
61
61
  def get_reports_list(self) -> List[Dict[str, Any]]:
62
62
  return self._client.get_reports_list()
63
63
 
64
+ def add_tag_to_report(self, report_id, tag_name):
65
+ return self._client.add_tag_to_report(report_id, tag_name)
66
+
64
67
  def get_tests_list(self) -> List[Dict[str, Any]]:
65
68
  return self._client.get_tests_list()
66
69
 
@@ -23,10 +23,11 @@ class GetReportsTool(BaseTool):
23
23
  description: str = "Get list of reports from the Carrier platform."
24
24
  args_schema: Type[BaseModel] = create_model(
25
25
  "GetReportsInput",
26
+ name=(str, Field(default="", description="Optional parameter. Report name to filter reports")),
26
27
  tag_name=(str, Field(default="", description="Optional parameter. Tag name to filter reports")),
27
28
  )
28
29
 
29
- def _run(self, tag_name=""):
30
+ def _run(self, name="", tag_name=""):
30
31
  try:
31
32
  reports = self.api_wrapper.get_reports_list()
32
33
 
@@ -38,6 +39,10 @@ class GetReportsTool(BaseTool):
38
39
 
39
40
  trimmed_reports = []
40
41
  for report in reports:
42
+ # Filter reports by name
43
+ if name and not name == report["name"]:
44
+ continue
45
+
41
46
  # Filter by tag title
42
47
  tags = report.get("tags", [])
43
48
  if tag_name and not any(tag.get("title") == tag_name for tag in tags):
@@ -111,6 +116,29 @@ class GetReportByIDTool(BaseTool):
111
116
  raise ToolException(stacktrace)
112
117
 
113
118
 
119
+ class AddTagToReportTool(BaseTool):
120
+ api_wrapper: CarrierAPIWrapper = Field(..., description="Carrier API Wrapper instance")
121
+ name: str = "add_tag_to_report"
122
+ description: str = "Add tag to backend report"
123
+ args_schema: Type[BaseModel] = create_model(
124
+ "AddTagToReportInput",
125
+ report_id=(str, Field(description="Report id to update")),
126
+ tag_name=(str, Field(description="Tag name to add to report")),
127
+ )
128
+
129
+ def _run(self, report_id: str, tag_name: str):
130
+ try:
131
+ res = self.api_wrapper.add_tag_to_report(report_id, tag_name)
132
+ if "Tags was updated" in res.text:
133
+ return f"Added tag {tag_name} to report id {report_id}"
134
+ else:
135
+ return f"Failed to add new tag to report id {report_id}"
136
+ except Exception:
137
+ stacktrace = traceback.format_exc()
138
+ logger.error(f"Error downloading reports: {stacktrace}")
139
+ raise ToolException(stacktrace)
140
+
141
+
114
142
  class CreateExcelReportTool(BaseTool):
115
143
  api_wrapper: CarrierAPIWrapper = Field(..., description="Carrier API Wrapper instance")
116
144
  name: str = "create_excel_report"
@@ -7,7 +7,6 @@ from pydantic.fields import Field
7
7
  from pydantic import create_model, BaseModel
8
8
  from .api_wrapper import CarrierAPIWrapper
9
9
 
10
-
11
10
  logger = logging.getLogger(__name__)
12
11
 
13
12
 
@@ -79,8 +78,10 @@ class RunTestByIDTool(BaseTool):
79
78
  description: str = "Execute test plan from the Carrier platform."
80
79
  args_schema: Type[BaseModel] = create_model(
81
80
  "RunTestByIdInput",
82
- test_id=(int, Field(default=None, description="Test id to execute. Use test_id if user provide id in int format")),
83
- name=(str, Field(default=None, description="Test name to execute. Use name if user provide name in str format")),
81
+ test_id=(
82
+ int, Field(default=None, description="Test id to execute. Use test_id if user provide id in int format")),
83
+ name=(
84
+ str, Field(default=None, description="Test name to execute. Use name if user provide name in str format")),
84
85
  test_parameters=(list, Field(
85
86
  default=None,
86
87
  description=(
@@ -200,7 +201,6 @@ class RunTestByIDTool(BaseTool):
200
201
  # Validate and merge user-provided cloud_settings with available parameters
201
202
  cloud_settings = self._merge_cloud_settings(available_cloud_settings, cloud_settings)
202
203
 
203
-
204
204
  # Build common_params dictionary
205
205
  common_params = {
206
206
  param["name"]: param
@@ -307,7 +307,8 @@ class CreateBackendTestInput(BaseModel):
307
307
  test_type: str = Field(..., description="Test type")
308
308
  env_type: str = Field(..., description="Env type")
309
309
  entrypoint: str = Field(..., description="Entrypoint for the test (JMeter script path or Gatling simulation path)")
310
- custom_cmd: str = Field(..., description="Custom command line to execute the test (e.g., -l /tmp/reports/jmeter.jtl -e -o /tmp/reports/html_report)")
310
+ custom_cmd: str = Field(...,
311
+ description="Custom command line to execute the test (e.g., -l /tmp/reports/jmeter.jtl -e -o /tmp/reports/html_report)")
311
312
  runner: str = Field(..., description="Test runner (Gatling or JMeter)")
312
313
  source: Optional[Dict[str, Optional[str]]] = Field(
313
314
  None,
@@ -474,8 +475,11 @@ class CreateBackendTestTool(BaseTool):
474
475
  return {
475
476
  "message": "Do you want to configure email integration?",
476
477
  "instructions": (
478
+ "If the user indicates no integrations are needed make sure to pass email_integration"
479
+ " as empty dict to _run method and invoke it ones again with email_integration={}."
477
480
  "If yes, select an integration from the available options below and provide email recipients.\n"
478
- "If no, respond with 'no'."
481
+ "If no, respond with 'no'. "
482
+
479
483
  ),
480
484
  "available_integrations": [
481
485
  {
@@ -491,6 +495,28 @@ class CreateBackendTestTool(BaseTool):
491
495
  },
492
496
  }
493
497
 
498
+ # Ensure email_integrations is an empty dict if the user indicates no integrations are needed
499
+ if isinstance(email_integration, str) and email_integration.lower() == "no":
500
+ email_integration = {}
501
+ elif (
502
+ len(integrations_list) > 0
503
+ and isinstance(email_integration, dict)
504
+ and "integration_id" in email_integration
505
+ and "recipients" in email_integration
506
+ ):
507
+ email_integration = {
508
+ "reporters": {
509
+ "reporter_email": {
510
+ "id": email_integration["integration_id"],
511
+ "is_local": True,
512
+ "project_id": integrations_list[0]["project_id"],
513
+ "recipients": email_integration["recipients"],
514
+ }
515
+ }
516
+ }
517
+ else:
518
+ email_integration = {}
519
+
494
520
  # Prepare the final data dictionary
495
521
  data = {
496
522
  "common_params": {
@@ -512,16 +538,7 @@ class CreateBackendTestTool(BaseTool):
512
538
  "location": "default", # TODO update location
513
539
  },
514
540
  "test_parameters": test_parameters,
515
- "integrations": {
516
- "reporters": {
517
- "reporter_email": {
518
- "id": email_integration["integration_id"],
519
- "is_local": True,
520
- "project_id": integrations_list[0]["project_id"], # Example project_id
521
- "recipients": email_integration["recipients"],
522
- }
523
- }
524
- },
541
+ "integrations": email_integration,
525
542
  "scheduling": [],
526
543
  "run_test": False,
527
544
  }
@@ -539,17 +556,3 @@ class CreateBackendTestTool(BaseTool):
539
556
  stacktrace = traceback.format_exc()
540
557
  logger.error(f"Error while creating test: {stacktrace}")
541
558
  raise ToolException(stacktrace)
542
-
543
- # data = {"common_params":{"name":"toolkit_demo","test_type":"toolkit_demo","env_type":"toolkit_demo",
544
- # "entrypoint":"tests/BasicEcommerceWithTransaction.jmx","runner":"v5.6.3",
545
- # "source":{"name":"git_https","repo":"https://git.epam.com/epm-perf/boilerplate.git",
546
- # "branch":"jmeter","username":"mykhailo_hunko@epam.com",
547
- # "password":"{{secret.mykhailo_gitlab}}"},
548
- # "env_vars":{"cpu_quota":2,"memory_quota":6,"cloud_settings":{},
549
- # "custom_cmd":"-l /tmp/reports/jmeter.jtl -e -o /tmp/reports/html_report"},
550
- # "parallel_runners":1,"cc_env_vars":{},"customization":{},"location":"default"},
551
- # "test_parameters":[{"name":"VUSERS","default":"5","type":"string","description":"","action":""},
552
- # {"name":"DURATION","default":"60","type":"string","description":"","action":""}],
553
- # "integrations":{"reporters":{"reporter_email":{"id":1,"is_local":True,"project_id":36,
554
- # "recipients":["mykhailo_hunko@epam.com"]}}},
555
- # "scheduling":[],"run_test":True}
@@ -77,6 +77,17 @@ class CarrierClient(BaseModel):
77
77
  endpoint = f"api/v1/backend_performance/reports/{self.credentials.project_id}"
78
78
  return self.request('get', endpoint).get("rows", [])
79
79
 
80
+ def add_tag_to_report(self, report_id, tag_name):
81
+ endpoint = f"api/v1/backend_performance/tags/{self.credentials.project_id}/{report_id}"
82
+ full_url = f"{self.credentials.url.rstrip('/')}/{endpoint.lstrip('/')}"
83
+ headers = {
84
+ 'Authorization': f'bearer {self.credentials.token}',
85
+ 'content-type': 'application/json'
86
+ }
87
+ data = {"tags": [{"title": tag_name, "hex": "#5933c6"}]}
88
+ res = requests.post(full_url, headers=headers, json=data)
89
+ return res
90
+
80
91
  def get_tests_list(self) -> List[Dict[str, Any]]:
81
92
  endpoint = f"api/v1/backend_performance/tests/{self.credentials.project_id}"
82
93
  return self.request('get', endpoint).get("rows", [])
@@ -90,9 +101,6 @@ class CarrierClient(BaseModel):
90
101
  form_data = {"data": dumps(data)}
91
102
  # Send the POST request
92
103
  res = requests.post(full_url, headers=headers, data=form_data)
93
- print("************************* response")
94
- print(res.text)
95
- print("**********************************")
96
104
  return res
97
105
 
98
106
  def run_test(self, test_id: str, json_body):
@@ -150,7 +158,8 @@ class CarrierClient(BaseModel):
150
158
  for file_name in file_list:
151
159
  if file_name.startswith(report_archive_prefix) and "excel_report" not in file_name:
152
160
  report_files_list.append(file_name)
153
- test_log_file_path, errors_log_file_path = self.download_and_merge_reports(report_files_list, lg_type, bucket_name, extract_to)
161
+ test_log_file_path, errors_log_file_path = self.download_and_merge_reports(report_files_list, lg_type,
162
+ bucket_name, extract_to)
154
163
 
155
164
  return report_info, test_log_file_path, errors_log_file_path
156
165
 
@@ -312,4 +321,4 @@ class CarrierClient(BaseModel):
312
321
  }
313
322
  }
314
323
 
315
- return self.request('put', endpoint, json=cancel_body)
324
+ return self.request('put', endpoint, json=cancel_body)
@@ -1,6 +1,6 @@
1
1
  # import all available tools
2
2
  from .tickets_tool import FetchTicketsTool, CreateTicketTool
3
- from .backend_reports_tool import GetReportsTool, GetReportByIDTool, CreateExcelReportTool
3
+ from .backend_reports_tool import GetReportsTool, GetReportByIDTool, CreateExcelReportTool, AddTagToReportTool
4
4
  from .backend_tests_tool import GetTestsTool, GetTestByIDTool, RunTestByIDTool, CreateBackendTestTool
5
5
  from .ui_reports_tool import GetUIReportsTool, GetUIReportByIDTool, GetUITestsTool
6
6
  from .run_ui_test_tool import RunUITestTool
@@ -14,6 +14,7 @@ __all__ = [
14
14
  {"name": "create_ticket", "tool": CreateTicketTool},
15
15
  {"name": "get_reports", "tool": GetReportsTool},
16
16
  {"name": "get_report_by_id", "tool": GetReportByIDTool},
17
+ {"name": "add_tag_to_report", "tool": AddTagToReportTool},
17
18
  {"name": "create_excel_report", "tool": CreateExcelReportTool},
18
19
  {"name": "get_tests", "tool": GetTestsTool},
19
20
  {"name": "get_test_by_id", "tool": GetTestByIDTool},
@@ -91,12 +91,16 @@ PostmanUpdateCollectionDescription = create_model(
91
91
 
92
92
  PostmanUpdateCollectionVariables = create_model(
93
93
  "PostmanUpdateCollectionVariables",
94
- variables=(List[Dict], Field(description="Updated collection variables"))
94
+ variables=(Optional[List[Dict[str, Any]]], Field(default=None,
95
+ description="List of collection variables objects. "
96
+ "Example: [{'key': 'project_id', 'type': 'string', 'value': '15', 'enabled': true}]"))
95
97
  )
96
98
 
97
99
  PostmanUpdateCollectionAuth = create_model(
98
100
  "PostmanUpdateCollectionAuth",
99
- auth=(Dict, Field(description="Updated authentication settings"))
101
+ auth=(Optional[Dict[str, Any]], Field(default=None,
102
+ description="Updated authentication settings. Example: {'type': 'bearer',token '': 'your_token'}"
103
+ ))
100
104
  )
101
105
 
102
106
  PostmanDeleteCollection = create_model(
@@ -190,19 +194,30 @@ PostmanUpdateRequestDescription = create_model(
190
194
  PostmanUpdateRequestHeaders = create_model(
191
195
  "PostmanUpdateRequestHeaders",
192
196
  request_path=(str, Field(description="Path to the request (folder/requestName)")),
193
- headers=(List[Dict], Field(description="Request headers"))
197
+ headers=(str, Field(description="String containing HTTP headers, separated by newline characters. "
198
+ "Each header should be in the format: \"Header-Name: value\". "
199
+ "Example: \"Content-Type: application/json\\nAuthorization: Bearer token123\". "))
194
200
  )
195
201
 
196
202
  PostmanUpdateRequestBody = create_model(
197
203
  "PostmanUpdateRequestBody",
198
204
  request_path=(str, Field(description="Path to the request (folder/requestName)")),
199
- body=(Dict, Field(description="Request body"))
205
+ body=(Optional[Dict[str, Any]], Field(default=None, description="Request body."))
200
206
  )
201
207
 
202
208
  PostmanUpdateRequestAuth = create_model(
203
209
  "PostmanUpdateRequestAuth",
204
210
  request_path=(str, Field(description="Path to the request (folder/requestName)")),
205
- auth=(Dict, Field(description="Request authentication"))
211
+ auth=(Optional[Dict[str, Any]], Field(default=None,
212
+ description=(
213
+ "An object. "
214
+ "For API key authentication, use: {\"type\": \"apikey\", \"apikey\": [{\"key\": \"key\", \"value\": \"api-key\"}, {\"key\": \"value\", \"value\": \"XXX\"}]}. "
215
+ "For bearer authentication, use: {\"type\": \"bearer\", \"bearer\": [{\"key\": \"token\", \"value\": \"XXX\", \"type\": \"string\"}]}. "
216
+ "For basic authentication, use: {\"type\": \"basic\", \"basic\": [{\"key\": \"username\", \"value\": \"user\"}, {\"key\": \"password\", \"value\": \"pass\"}]}. "
217
+ "`type`: Authentication type (e.g., \"apikey\", \"bearer\", \"basic\"). "
218
+ "`apikey`, `bearer`, `basic`: List of key-value pairs for configuration."
219
+ "Other types can be added as needed, following the same structure."
220
+ )))
206
221
  )
207
222
 
208
223
  PostmanUpdateRequestTests = create_model(
@@ -692,7 +707,7 @@ class PostmanApiWrapper(BaseToolApiWrapper):
692
707
  def get_collections(self, **kwargs) -> str:
693
708
  """Get all Postman collections accessible to the user."""
694
709
  try:
695
- response = self._make_request('GET', '/collections')
710
+ response = self._make_request('GET', f'/collections?workspace={self.workspace_id}')
696
711
  return json.dumps(response, indent=2)
697
712
  except Exception as e:
698
713
  stacktrace = format_exc()
@@ -1214,7 +1229,7 @@ class PostmanApiWrapper(BaseToolApiWrapper):
1214
1229
  raise ToolException(
1215
1230
  f"Unable to update collection {self.collection_id} description: {str(e)}")
1216
1231
 
1217
- def update_collection_variables(self, variables: List[Dict], **kwargs) -> str:
1232
+ def update_collection_variables(self, variables: List[Dict[str, Any]], **kwargs) -> str:
1218
1233
  """Update collection variables."""
1219
1234
  try:
1220
1235
  # Get current collection
@@ -1234,7 +1249,7 @@ class PostmanApiWrapper(BaseToolApiWrapper):
1234
1249
  raise ToolException(
1235
1250
  f"Unable to update collection {self.collection_id} variables: {str(e)}")
1236
1251
 
1237
- def update_collection_auth(self, auth: Dict, **kwargs) -> str:
1252
+ def update_collection_auth(self, auth: Dict[str, Any], **kwargs) -> str:
1238
1253
  """Update collection authentication settings."""
1239
1254
  try:
1240
1255
  # Get current collection
@@ -1638,7 +1653,7 @@ class PostmanApiWrapper(BaseToolApiWrapper):
1638
1653
  raise ToolException(
1639
1654
  f"Unable to update request '{request_path}' description: {str(e)}")
1640
1655
 
1641
- def update_request_headers(self, request_path: str, headers: List[Dict], **kwargs) -> str:
1656
+ def update_request_headers(self, request_path: str, headers: str, **kwargs) -> str:
1642
1657
  """Update request headers."""
1643
1658
  try:
1644
1659
  # Get request item and ID
@@ -1646,7 +1661,7 @@ class PostmanApiWrapper(BaseToolApiWrapper):
1646
1661
 
1647
1662
  # Create update payload
1648
1663
  request_update = {
1649
- "header": headers
1664
+ "headers": headers
1650
1665
  }
1651
1666
 
1652
1667
  # Update the headers field
@@ -1659,16 +1674,14 @@ class PostmanApiWrapper(BaseToolApiWrapper):
1659
1674
  raise ToolException(
1660
1675
  f"Unable to update request '{request_path}' headers: {str(e)}")
1661
1676
 
1662
- def update_request_body(self, request_path: str, body: Dict, **kwargs) -> str:
1677
+ def update_request_body(self, request_path: str, body: Dict[str, Any], **kwargs) -> str:
1663
1678
  """Update request body."""
1664
1679
  try:
1665
1680
  # Get request item and ID
1666
1681
  request_item, request_id, _ = self._get_request_item_and_id(request_path)
1667
1682
 
1668
1683
  # Create update payload
1669
- request_update = {
1670
- "body": body
1671
- }
1684
+ request_update = body
1672
1685
 
1673
1686
  # Update the body field
1674
1687
  response = self._make_request('PUT', f'/collections/{self.collection_id}/requests/{request_id}',
@@ -1680,7 +1693,7 @@ class PostmanApiWrapper(BaseToolApiWrapper):
1680
1693
  raise ToolException(
1681
1694
  f"Unable to update request '{request_path}' body: {str(e)}")
1682
1695
 
1683
- def update_request_auth(self, request_path: str, auth: Dict, **kwargs) -> str:
1696
+ def update_request_auth(self, request_path: str, auth: Dict[str, Any], **kwargs) -> str:
1684
1697
  """Update request authentication."""
1685
1698
  try:
1686
1699
  # Get request item and ID
@@ -203,8 +203,18 @@ class SlackApiWrapper(BaseToolApiWrapper):
203
203
  client = self._get_client()
204
204
  response = client.conversations_list() # Fetch conversations
205
205
  channels = response.get("channels", [])
206
- print(f"Found {len(channels)} channels.")
207
- return channels # Return the list of channels
206
+ # Extract only the required fields
207
+ filtered_channels = [
208
+ {
209
+ "id": ch.get("id"),
210
+ "name": ch.get("name"),
211
+ "is_channel": ch.get("is_channel"),
212
+ "shared_team_ids": ch.get("shared_team_ids"),
213
+ }
214
+ for ch in channels
215
+ ]
216
+ logger.info(f"Found {len(filtered_channels)} channels.")
217
+ return filtered_channels # Return the list of channels
208
218
  except SlackApiError as e:
209
219
  print(f"Error fetching conversations: {e.response['error']}")
210
220
  return []
@@ -289,13 +299,18 @@ class SlackApiWrapper(BaseToolApiWrapper):
289
299
  "description": self.list_workspace_users.__doc__ or "List all users in the Slack workspace.",
290
300
  "args_schema": ListWorkspaceUsersModel,
291
301
  "ref": self.list_workspace_users
292
- }
293
- ,
302
+ },
294
303
  {
295
304
  "name": "invite_to_conversation",
296
305
  "description": self.invite_to_conversation.__doc__ or "Invite to a conversation in the Slack workspace.",
297
306
  "args_schema": InviteToConversationModel,
298
307
  "ref": self.invite_to_conversation
308
+ },
309
+ {
310
+ "name": "list_workspace_conversations",
311
+ "description": self.list_workspace_conversations.__doc__ or "Invite to a conversation in the Slack workspace.",
312
+ "args_schema": ListWorkspaceConversationsModel,
313
+ "ref": self.list_workspace_conversations
299
314
  }
300
315
 
301
316
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.202
3
+ Version: 0.3.204
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "alita_sdk"
7
- version = "0.3.202"
7
+ version = "0.3.204"
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