alita-sdk 0.3.192__tar.gz → 0.3.194__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 (314) hide show
  1. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/PKG-INFO +1 -1
  2. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/llms/alita.py +1 -1
  3. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/ado/test_plan/__init__.py +2 -0
  4. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/ado/wiki/__init__.py +11 -3
  5. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/ado/work_item/__init__.py +10 -3
  6. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/memory/__init__.py +1 -0
  7. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/slack/__init__.py +30 -10
  8. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/slack/api_wrapper.py +7 -14
  9. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/zephyr_squad/__init__.py +5 -6
  10. alita_sdk-0.3.194/alita_sdk/tools/zephyr_squad/api_wrapper.py +319 -0
  11. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +57 -17
  12. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk.egg-info/PKG-INFO +1 -1
  13. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/pyproject.toml +1 -1
  14. alita_sdk-0.3.192/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -135
  15. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/LICENSE +0 -0
  16. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/README.md +0 -0
  17. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/__init__.py +0 -0
  18. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/community/__init__.py +0 -0
  19. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/community/analysis/__init__.py +0 -0
  20. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/community/analysis/ado_analyse/__init__.py +0 -0
  21. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/community/analysis/ado_analyse/api_wrapper.py +0 -0
  22. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/community/analysis/github_analyse/__init__.py +0 -0
  23. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/community/analysis/github_analyse/api_wrapper.py +0 -0
  24. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/community/analysis/gitlab_analyse/__init__.py +0 -0
  25. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/community/analysis/gitlab_analyse/api_wrapper.py +0 -0
  26. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/community/analysis/jira_analyse/__init__.py +0 -0
  27. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/community/analysis/jira_analyse/api_wrapper.py +0 -0
  28. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/community/utils.py +0 -0
  29. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/__init__.py +0 -0
  30. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/clients/__init__.py +0 -0
  31. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/clients/artifact.py +0 -0
  32. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/clients/client.py +0 -0
  33. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/clients/datasource.py +0 -0
  34. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/clients/prompt.py +0 -0
  35. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/__init__.py +0 -0
  36. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
  37. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
  38. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/assistant.py +0 -0
  39. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
  40. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/constants.py +0 -0
  41. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
  42. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
  43. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
  44. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
  45. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
  46. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
  47. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
  48. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
  49. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
  50. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
  51. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
  52. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
  53. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
  54. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
  55. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/indexer.py +0 -0
  56. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
  57. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
  58. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
  59. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
  60. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
  61. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/langraph_agent.py +0 -0
  62. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
  63. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
  64. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
  65. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
  66. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
  67. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/store_manager.py +0 -0
  68. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
  69. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
  70. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
  71. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
  72. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
  73. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
  74. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/tools/git.py +0 -0
  75. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/tools/log.py +0 -0
  76. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
  77. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/tools/state.py +0 -0
  78. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
  79. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
  80. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/langchain/utils.py +0 -0
  81. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/llms/__init__.py +0 -0
  82. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/llms/preloaded.py +0 -0
  83. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/toolkits/__init__.py +0 -0
  84. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/toolkits/application.py +0 -0
  85. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/toolkits/artifact.py +0 -0
  86. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/toolkits/datasource.py +0 -0
  87. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/toolkits/prompt.py +0 -0
  88. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
  89. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/toolkits/tools.py +0 -0
  90. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
  91. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/__init__.py +0 -0
  92. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/agent.py +0 -0
  93. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/application.py +0 -0
  94. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/artifact.py +0 -0
  95. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/datasource.py +0 -0
  96. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/echo.py +0 -0
  97. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/function.py +0 -0
  98. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
  99. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/llm.py +0 -0
  100. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/loop.py +0 -0
  101. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/loop_output.py +0 -0
  102. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
  103. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
  104. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/prompt.py +0 -0
  105. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/router.py +0 -0
  106. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/tool.py +0 -0
  107. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/tools/vectorstore.py +0 -0
  108. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
  109. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/utils/__init__.py +0 -0
  110. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/utils/constants.py +0 -0
  111. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/utils/evaluate.py +0 -0
  112. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/utils/logging.py +0 -0
  113. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
  114. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/utils/streamlit.py +0 -0
  115. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/runtime/utils/utils.py +0 -0
  116. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/__init__.py +0 -0
  117. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/ado/__init__.py +0 -0
  118. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/ado/repos/__init__.py +0 -0
  119. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
  120. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +0 -0
  121. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/ado/utils.py +0 -0
  122. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/ado/wiki/ado_wrapper.py +0 -0
  123. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
  124. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
  125. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
  126. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/azure_ai/__init__.py +0 -0
  127. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/azure_ai/search/__init__.py +0 -0
  128. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
  129. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/base/__init__.py +0 -0
  130. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/base/tool.py +0 -0
  131. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/bitbucket/__init__.py +0 -0
  132. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
  133. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
  134. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
  135. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/bitbucket/tools.py +0 -0
  136. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/browser/__init__.py +0 -0
  137. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/browser/crawler.py +0 -0
  138. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
  139. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/browser/google_search_rag.py +0 -0
  140. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/browser/utils.py +0 -0
  141. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/browser/wiki.py +0 -0
  142. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/__init__.py +0 -0
  143. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
  144. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
  145. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
  146. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
  147. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
  148. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
  149. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
  150. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
  151. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
  152. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
  153. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
  154. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/tools.py +0 -0
  155. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
  156. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
  157. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/carrier/utils.py +0 -0
  158. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/__init__.py +0 -0
  159. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
  160. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
  161. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/constants.py +0 -0
  162. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
  163. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
  164. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
  165. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
  166. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
  167. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
  168. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
  169. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
  170. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
  171. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
  172. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
  173. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
  174. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
  175. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
  176. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
  177. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/models.py +0 -0
  178. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
  179. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
  180. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
  181. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
  182. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
  183. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/chunkers/utils.py +0 -0
  184. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/cloud/__init__.py +0 -0
  185. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
  186. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
  187. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
  188. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
  189. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
  190. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
  191. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
  192. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
  193. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/code/__init__.py +0 -0
  194. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/code/linter/__init__.py +0 -0
  195. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
  196. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
  197. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/code/sonar/__init__.py +0 -0
  198. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
  199. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/confluence/__init__.py +0 -0
  200. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
  201. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/confluence/loader.py +0 -0
  202. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/confluence/utils.py +0 -0
  203. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
  204. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
  205. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/elastic/__init__.py +0 -0
  206. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
  207. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/elitea_base.py +0 -0
  208. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/figma/__init__.py +0 -0
  209. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/figma/api_wrapper.py +0 -0
  210. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/github/__init__.py +0 -0
  211. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/github/api_wrapper.py +0 -0
  212. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/github/github_client.py +0 -0
  213. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
  214. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/github/schemas.py +0 -0
  215. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/github/tool.py +0 -0
  216. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/github/tool_prompts.py +0 -0
  217. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/gitlab/__init__.py +0 -0
  218. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
  219. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/gitlab/tools.py +0 -0
  220. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/gitlab/utils.py +0 -0
  221. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
  222. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
  223. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/gmail/__init__.py +0 -0
  224. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
  225. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/gmail/utils.py +0 -0
  226. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/google_places/__init__.py +0 -0
  227. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
  228. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/jira/__init__.py +0 -0
  229. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/jira/api_wrapper.py +0 -0
  230. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/keycloak/__init__.py +0 -0
  231. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
  232. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/llm/__init__.py +0 -0
  233. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/llm/img_utils.py +0 -0
  234. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/llm/llm_utils.py +0 -0
  235. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/localgit/__init__.py +0 -0
  236. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/localgit/local_git.py +0 -0
  237. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/localgit/tool.py +0 -0
  238. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/ocr/__init__.py +0 -0
  239. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
  240. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/ocr/text_detection.py +0 -0
  241. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/openapi/__init__.py +0 -0
  242. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/__init__.py +0 -0
  243. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
  244. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
  245. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
  246. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
  247. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
  248. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
  249. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
  250. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
  251. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
  252. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
  253. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
  254. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
  255. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
  256. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
  257. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
  258. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
  259. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
  260. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
  261. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/postman/__init__.py +0 -0
  262. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/postman/api_wrapper.py +0 -0
  263. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/postman/postman_analysis.py +0 -0
  264. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pptx/__init__.py +0 -0
  265. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
  266. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/qtest/__init__.py +0 -0
  267. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/qtest/api_wrapper.py +0 -0
  268. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/qtest/tool.py +0 -0
  269. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/rally/__init__.py +0 -0
  270. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/rally/api_wrapper.py +0 -0
  271. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/report_portal/__init__.py +0 -0
  272. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
  273. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
  274. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/salesforce/__init__.py +0 -0
  275. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
  276. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/salesforce/model.py +0 -0
  277. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/servicenow/__init__.py +0 -0
  278. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
  279. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
  280. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/sharepoint/__init__.py +0 -0
  281. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/sharepoint/api_wrapper.py +0 -0
  282. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
  283. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/sharepoint/utils.py +0 -0
  284. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/sql/__init__.py +0 -0
  285. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/sql/api_wrapper.py +0 -0
  286. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/sql/models.py +0 -0
  287. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/testio/__init__.py +0 -0
  288. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/testio/api_wrapper.py +0 -0
  289. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/testrail/__init__.py +0 -0
  290. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
  291. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/utils/__init__.py +0 -0
  292. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/utils/content_parser.py +0 -0
  293. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/xray/__init__.py +0 -0
  294. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/xray/api_wrapper.py +0 -0
  295. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/yagmail/__init__.py +0 -0
  296. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
  297. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
  298. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/zephyr/__init__.py +0 -0
  299. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
  300. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/zephyr/rest_client.py +0 -0
  301. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/zephyr_enterprise/__init__.py +0 -0
  302. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +0 -0
  303. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
  304. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
  305. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -0
  306. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk.egg-info/SOURCES.txt +0 -0
  307. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk.egg-info/dependency_links.txt +0 -0
  308. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk.egg-info/requires.txt +0 -0
  309. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/alita_sdk.egg-info/top_level.txt +0 -0
  310. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/setup.cfg +0 -0
  311. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/tests/test_ado_analysis.py +0 -0
  312. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/tests/test_github_analysis.py +0 -0
  313. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/tests/test_gitlab_analysis.py +0 -0
  314. {alita_sdk-0.3.192 → alita_sdk-0.3.194}/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.192
3
+ Version: 0.3.194
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
@@ -139,7 +139,7 @@ class AlitaChatModel(BaseChatModel):
139
139
  else:
140
140
  message = _convert_delta_to_message_chunk(chunk, default_chunk_class)
141
141
  finish_reason = None
142
- generation_info = ()
142
+ generation_info = dict()
143
143
  if stop:
144
144
  for stop_word in stop:
145
145
  if stop_word in message.content:
@@ -51,6 +51,8 @@ class AzureDevOpsPlansToolkit(BaseToolkit):
51
51
  ]
52
52
  }
53
53
  },
54
+ # connect different toolkits under the same configuration group with the same name,
55
+ # label and icon
54
56
  "configuration_group": {
55
57
  "name": "ado",
56
58
  "label": "Azure DevOps",
@@ -26,9 +26,17 @@ class AzureDevOpsWikiToolkit(BaseToolkit):
26
26
  'max_toolkit_length': AzureDevOpsWikiToolkit.toolkit_max_length})
27
27
  ),
28
28
  organization_url=(str, Field(title="Organization URL",
29
- description="ADO organization url")),
30
- project=(str, Field(description="ADO project")),
31
- token=(SecretStr, Field(description="ADO token", json_schema_extra={'secret': True})),
29
+ description="ADO organization url", json_schema_extra={
30
+ 'configuration': True,
31
+ })),
32
+ project=(str, Field(description="ADO project",
33
+ json_schema_extra={
34
+ 'configuration': True
35
+ })),
36
+ token=(SecretStr,
37
+ Field(description="ADO token",
38
+ json_schema_extra={'secret': True, 'configuration': True }
39
+ )),
32
40
  selected_tools=(List[Literal[tuple(selected_tools)]],
33
41
  Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
34
42
  __config__={
@@ -25,9 +25,16 @@ class AzureDevOpsWorkItemsToolkit(BaseToolkit):
25
25
  'max_toolkit_length': AzureDevOpsWorkItemsToolkit.toolkit_max_length})
26
26
  ),
27
27
  organization_url=(str, Field(title="Organization URL",
28
- description="ADO organization url")),
29
- project=(str, Field(description="ADO project")),
30
- token=(SecretStr, Field(description="ADO token", json_schema_extra={'secret': True})),
28
+ description="ADO organization url",
29
+ json_schema_extra={
30
+ 'configuration': True
31
+ })),
32
+ project=(str, Field(description="ADO project",
33
+ json_schema_extra={
34
+ 'configuration': True
35
+ }
36
+ )),
37
+ token=(SecretStr, Field(description="ADO token", json_schema_extra={'secret': True, 'configuration': True})),
31
38
  limit=(Optional[int], Field(description="ADO plans limit used for limitation of the list with results", default=5)),
32
39
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
33
40
  __config__={
@@ -40,6 +40,7 @@ class MemoryToolkit(BaseToolkit):
40
40
  'metadata': {
41
41
  "label": "Memory",
42
42
  "icon_url": "memory.svg",
43
+ "hidden": True,
43
44
  "categories": ["other"],
44
45
  "extra_categories": ["long-term memory", "langmem"],
45
46
  }
@@ -1,11 +1,17 @@
1
1
  from typing import List, Optional, Literal
2
2
 
3
+ import logging
4
+
5
+ logger = logging.getLogger(__name__)
6
+
3
7
  from langchain_core.tools import BaseToolkit, BaseTool
4
8
  from pydantic import create_model, BaseModel, Field, SecretStr
5
9
  from ..base.tool import BaseAction
6
10
 
7
11
  from .api_wrapper import SlackApiWrapper
8
- from ..utils import TOOLKIT_SPLITTER, clean_string, get_max_toolkit_length
12
+ from ..utils import TOOLKIT_SPLITTER, clean_string, get_max_toolkit_length, check_connection_response
13
+ from slack_sdk.errors import SlackApiError
14
+ from slack_sdk import WebClient
9
15
 
10
16
  name = "slack"
11
17
 
@@ -24,15 +30,30 @@ class SlackToolkit(BaseToolkit):
24
30
  def toolkit_config_schema() -> BaseModel:
25
31
  selected_tools = {x['name']: x['args_schema'].schema() for x in SlackApiWrapper.model_construct().get_available_tools()}
26
32
  SlackToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
27
- return create_model(
33
+
34
+ @check_connection_response
35
+ def check_connection(self):
36
+ """
37
+ Checks the connection to Slack using the provided token.
38
+ Returns the response from Slack's auth.test endpoint.
39
+ """
40
+ try:
41
+ response = WebClient(token=self.slack_token.get_secret_value()).auth_test()
42
+ logger.info("Slack connection successful: %s", response)
43
+ return {"success": True, "response": response}
44
+ except SlackApiError as e:
45
+ logger.error(f"Slack connection failed: {e.response['error']}")
46
+ return {"success": False, "error": e.response['error']}
47
+
48
+ model = create_model(
28
49
  name,
29
- slack_token=(SecretStr, Field(description="Slack Bot/User OAuth Token like XOXB-*****-*****-*****-*****")),
30
- channel_id=(str, Field(title="Channel ID",
31
- description="Channel ID, user ID, or conversation ID to send the message to. (like C12345678 for public channels, D12345678 for DMs)")),
32
- selected_tools=(List[Literal[tuple(selected_tools)]],
33
- Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
34
- __config__={'json_schema_extra': {'metadata': {"label": "slack", "icon_url": None, "hidden": True}}}
35
- )
50
+ slack_token=(SecretStr, Field(description="Slack Token like XOXB-*****-*****-*****-*****", json_schema_extra={'secret': True, 'configuration': True})),
51
+ channel_id=(str, Field( description="Channel ID", json_schema_extra={'configuration': True})),
52
+ selected_tools=(list[str], Field( description="List of tools to enable", default=[],json_schema_extra={'args_schemas': selected_tools})),
53
+ __config__={'json_schema_extra': {'metadata': {"label": "Slack", "icon_url": None}}}
54
+ )
55
+ model.check_connection = check_connection
56
+ return model
36
57
 
37
58
  @classmethod
38
59
  def get_toolkit(cls, selected_tools: Optional[List[str]] = None, toolkit_name: Optional[str] = None, **kwargs):
@@ -50,7 +71,6 @@ class SlackToolkit(BaseToolkit):
50
71
  name=prefix + tool["name"],
51
72
  description=tool["description"],
52
73
  args_schema=tool["args_schema"],
53
- func=tool["ref"]
54
74
  ))
55
75
  return cls(tools=tools)
56
76
 
@@ -38,27 +38,19 @@ class SlackApiWrapper(BaseToolApiWrapper):
38
38
  slack_token: Optional[SecretStr] = Field(default=None,description="Slack Bot/User OAuth Token like XOXB-*****-*****-*****-*****")
39
39
  channel_id: Optional[str] = Field(default=None, description="Channel ID, user ID, or conversation ID to send the message to. (like C12345678 for public channels, D12345678 for DMs)")
40
40
 
41
- @model_validator(mode="after")
41
+ @model_validator(mode="before")
42
42
  @classmethod
43
43
  def validate_toolkit(cls, values):
44
- token = values.slack_token.get_secret_value() if values.slack_token else None
44
+ token = values.get("slack_token")
45
45
  if not token:
46
- logging.error("Slack token is required.")
47
- raise ValueError("Slack token is required.")
48
- try:
49
- cls._client = WebClient(token=token)
50
- logging.info("Authenticated with Slack token.")
51
- except Exception as e:
52
- logging.error(f"Failed to authenticate with Slack: {str(e)}")
53
- raise ValueError(f"Failed to authenticate with Slack: {str(e)}")
46
+ logger.error("Slack token is required for authentication.")
47
+ raise ValueError("Slack token is required for authentication.")
54
48
  return values
55
-
56
49
  def _get_client(self):
57
- if not self._client:
50
+ if not hasattr(self, "_client") or self._client is None:
58
51
  self._client = WebClient(token=self.slack_token.get_secret_value())
59
52
  return self._client
60
-
61
-
53
+
62
54
  def send_message(self, message: str):
63
55
  """
64
56
  Sends a message to a specified Slack channel, user, or conversation.
@@ -85,6 +77,7 @@ class SlackApiWrapper(BaseToolApiWrapper):
85
77
  try:
86
78
 
87
79
  client = self._get_client()
80
+ logger.info(f"auth test: {client.auth_test()}")
88
81
  # Fetch conversation history
89
82
  response = client.conversations_history(
90
83
  channel=self.channel_id,
@@ -1,14 +1,13 @@
1
1
  from typing import List, Literal, Optional
2
2
 
3
- from langchain_community.agent_toolkits.base import BaseToolkit
4
- from langchain_core.tools import BaseTool
3
+ from langchain_core.tools import BaseToolkit, BaseTool
5
4
  from pydantic import create_model, BaseModel, Field, SecretStr
6
5
 
7
6
  from .api_wrapper import ZephyrSquadApiWrapper
8
7
  from ..base.tool import BaseAction
9
8
  from ..utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length
10
9
 
11
- name = "zephyr"
10
+ name = "zephyr_squad"
12
11
 
13
12
  def get_tools(tool):
14
13
  return ZephyrSquadToolkit().get_toolkit(
@@ -28,10 +27,10 @@ class ZephyrSquadToolkit(BaseToolkit):
28
27
  selected_tools = {x['name']: x['args_schema'].schema() for x in ZephyrSquadApiWrapper.model_construct().get_available_tools()}
29
28
  ZephyrSquadToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
30
29
  return create_model(
31
- "zephyr_squad",
30
+ name,
32
31
  account_id=(str, Field(description="AccountID for the user that is going to be authenticating")),
33
- access_key=(str, Field(description="Generated access key")),
34
- secret_key=(SecretStr, Field(description="Generated secret key")),
32
+ access_key=(SecretStr, Field(description="Generated access key", json_schema_extra={'secret': True})),
33
+ secret_key=(SecretStr, Field(description="Generated secret key", json_schema_extra={'secret': True})),
35
34
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
36
35
  __config__={'json_schema_extra': {'metadata': {"label": "Zephyr Squad", "icon_url": "zephyr.svg",
37
36
  "categories": ["test management"],
@@ -0,0 +1,319 @@
1
+ from typing import List, Literal
2
+
3
+ from pydantic import model_validator, create_model, Field, SecretStr, BaseModel, PrivateAttr
4
+
5
+ from .zephyr_squad_cloud_client import ZephyrSquadCloud
6
+ from ..elitea_base import BaseToolApiWrapper
7
+
8
+
9
+ class ZephyrSquadApiWrapper(BaseToolApiWrapper):
10
+ account_id: str
11
+ access_key: str
12
+ secret_key: SecretStr
13
+ _client: ZephyrSquadCloud = PrivateAttr()
14
+
15
+ @model_validator(mode='before')
16
+ @classmethod
17
+ def validate_toolkit(cls, values):
18
+ account_id = values.get("account_id", None)
19
+ access_key = values.get("access_key", None)
20
+ secret_key = values.get("secret_key", None)
21
+ if not account_id:
22
+ raise ValueError("account_id is required.")
23
+ if not access_key:
24
+ raise ValueError("access_key is required.")
25
+ if not secret_key:
26
+ raise ValueError("secret_key is required.")
27
+ cls._client = ZephyrSquadCloud(
28
+ account_id=account_id,
29
+ access_key=access_key,
30
+ secret_key=secret_key
31
+ )
32
+ return values
33
+
34
+ def get_test_step(self, issue_id, step_id, project_id):
35
+ """Retrieve details for a specific test step in a Jira test case."""
36
+ return self._client.get_test_step(issue_id, step_id, project_id)
37
+
38
+ def update_test_step(self, issue_id, step_id, project_id, json):
39
+ """Update the content or a specific test step in a Jira test case."""
40
+ return self._client.update_test_step(issue_id, step_id, project_id, json)
41
+
42
+ def delete_test_step(self, issue_id, step_id, project_id):
43
+ """Remove a specific test step from a Jira test case."""
44
+ return self._client.delete_test_step(issue_id, step_id, project_id)
45
+
46
+ def create_new_test_step(self, issue_id, project_id, json):
47
+ """Add a new test step to a Jira test case."""
48
+ return self._client.create_new_test_step(issue_id, project_id, json)
49
+
50
+ def get_all_test_steps(self, issue_id, project_id):
51
+ """List all test steps associated with a Jira test case."""
52
+ return self._client.get_all_test_steps(issue_id, project_id)
53
+
54
+ def get_all_test_step_statuses(self):
55
+ """Retrieve all possible statuses for test steps in Jira."""
56
+ return self._client.get_all_test_step_statuses()
57
+
58
+ def get_bdd_content(self, issue_id):
59
+ """Retrieve BDD (Gherkin) content of an issue (feature or scenario)."""
60
+ return self._client.get_bdd_content(issue_id)
61
+
62
+ def update_bdd_content(self, issue_id, new_content):
63
+ """Replace BDD (Gherkin) content of an issue (feature or scenario)."""
64
+ return self._client.update_bdd_content(issue_id, new_content)
65
+
66
+ def delete_bdd_content(self, issue_id):
67
+ """Remove BDD (Gherkin) content of an issue (feature or scenario)."""
68
+ return self._client.delete_bdd_content(issue_id)
69
+
70
+ def create_new_cycle(self, json):
71
+ """Creates a Cycle from a JSON representation. If no VersionId is passed in the request, it will be defaulted to an unscheduled version"""
72
+ return self._client.create_new_cycle(json)
73
+
74
+ def create_folder(self, json):
75
+ """Creates a Folder from a JSON representation. Folder names within a cycle needs to be unique."""
76
+ return self._client.create_folder(json)
77
+
78
+ def add_test_to_cycle(self, cycle_id, json):
79
+ """Adds Tests(s) to a Cycle."""
80
+ return self._client.add_test_to_cycle(cycle_id, json)
81
+
82
+ def add_test_to_folder(self, folder_id, json):
83
+ """Adds Tests(s) to a Folder."""
84
+ return self._client.add_test_to_folder(folder_id, json)
85
+
86
+ def create_execution(self, json):
87
+ """Creates an execution from a JSON representation."""
88
+ return self._client.create_execution(json)
89
+
90
+ def get_execution(self, execution_id, issue_id, project_id):
91
+ """Retrieves Execution and ExecutionStatus by ExecutionId"""
92
+ return self._client.get_execution(execution_id, issue_id, project_id)
93
+
94
+ def get_available_tools(self):
95
+ return [
96
+ {
97
+ "name": "get_test_step",
98
+ "description": self.get_test_step.__doc__,
99
+ "args_schema": ProjectIssueStep,
100
+ "ref": self.get_test_step,
101
+ },
102
+ {
103
+ "name": "update_test_step",
104
+ "description": self.update_test_step.__doc__,
105
+ "args_schema": UpdateTestStep,
106
+ "ref": self.update_test_step,
107
+ },
108
+ {
109
+ "name": "delete_test_step",
110
+ "description": self.delete_test_step.__doc__,
111
+ "args_schema": ProjectIssueStep,
112
+ "ref": self.delete_test_step,
113
+ },
114
+ {
115
+ "name": "create_new_test_step",
116
+ "description": self.create_new_test_step.__doc__,
117
+ "args_schema": CreateNewTestStep,
118
+ "ref": self.create_new_test_step,
119
+ },
120
+ {
121
+ "name": "get_all_test_steps",
122
+ "description": self.get_all_test_steps.__doc__,
123
+ "args_schema": ProjectIssue,
124
+ "ref": self.get_all_test_steps,
125
+ },
126
+ {
127
+ "name": "get_all_test_step_statuses",
128
+ "description": self.get_all_test_step_statuses.__doc__,
129
+ "args_schema": create_model("NoInput"),
130
+ "ref": self.get_all_test_step_statuses,
131
+ },
132
+ {
133
+ "name": "get_bdd_content",
134
+ "description": self.get_bdd_content.__doc__,
135
+ "args_schema": Issue,
136
+ "ref": self.get_bdd_content,
137
+ },
138
+ {
139
+ "name": "update_bdd_content",
140
+ "description": self.update_bdd_content.__doc__,
141
+ "args_schema": UpdateBddContent,
142
+ "ref": self.update_bdd_content,
143
+ },
144
+ {
145
+ "name": "delete_bdd_content",
146
+ "description": self.delete_bdd_content.__doc__,
147
+ "args_schema": Issue,
148
+ "ref": self.delete_bdd_content,
149
+ },
150
+ {
151
+ "name": "create_new_cycle",
152
+ "description": self.create_new_cycle.__doc__,
153
+ "args_schema": CycleJson,
154
+ "ref": self.create_new_cycle,
155
+ },
156
+ {
157
+ "name": "create_folder",
158
+ "description": self.create_folder.__doc__,
159
+ "args_schema": FolderJson,
160
+ "ref": self.create_folder,
161
+ },
162
+ {
163
+ "name": "add_test_to_cycle",
164
+ "description": self.add_test_to_cycle.__doc__,
165
+ "args_schema": TestToCycle,
166
+ "ref": self.add_test_to_cycle,
167
+ },
168
+ {
169
+ "name": "add_test_to_folder",
170
+ "description": self.add_test_to_folder.__doc__,
171
+ "args_schema": TestToFolder,
172
+ "ref": self.add_test_to_folder,
173
+ },
174
+ {
175
+ "name": "create_execution",
176
+ "description": self.create_execution.__doc__,
177
+ "args_schema": ExecutionJson,
178
+ "ref": self.create_execution,
179
+ },
180
+ {
181
+ "name": "get_execution",
182
+ "description": self.get_execution.__doc__,
183
+ "args_schema": GetExecution,
184
+ "ref": self.get_execution,
185
+ }
186
+ ]
187
+
188
+
189
+ Issue = create_model(
190
+ "Issue",
191
+ issue_id=(int, Field(description="Jira ticket id of test case."))
192
+ )
193
+
194
+ ProjectIssue = create_model(
195
+ "ProjectIssue",
196
+ project_id=(int, Field(description="Jira project id to which test case belongs.")),
197
+ __base__=Issue
198
+ )
199
+
200
+ ProjectIssueStep = create_model(
201
+ "ProjectIssueStep",
202
+ step_id=(str, Field(description="Test step id to operate.")),
203
+ __base__=ProjectIssue
204
+ )
205
+
206
+ UpdateTestStep = create_model(
207
+ "UpdateTestStep",
208
+ json=(str, Field(description=(
209
+ "JSON body to update a Zephyr test step. Fields:\n"
210
+ "- id (string, required): Unique identifier for the test step. Example: \"0001481146115453-3a0480a3ffffc384-0001\"\n"
211
+ "- step (string, required): Description of the test step. Example: \"Sample Test Step\"\n"
212
+ "- data (string, optional): Test data used in this step. Example: \"Sample Test Data\"\n"
213
+ "- result (string, optional): Expected result after executing the step. Example: \"Expected Test Result\"\n"
214
+ "- customFieldValues (array[object], optional): List of custom field values for the test step. Each object contains:\n"
215
+ " - customFieldId (string, required): ID of the custom field. Example: \"3ce1c679-7c43-4d37-89f6-757603379e31\"\n"
216
+ " - value (object, required): Value for the custom field. Example: {\"value\": \"08/21/2018\"}\n"
217
+ "*IMPORTANT*: Use double quotes for all field names and string values."))),
218
+ __base__=ProjectIssueStep
219
+ )
220
+
221
+ CreateNewTestStep = create_model(
222
+ "CreateNewTestStep",
223
+ json=(str, Field(description=(
224
+ "JSON body to create a Zephyr test step. Fields:\n"
225
+ "- step (string, required): Description of the test step. Example: \"Sample Test Step\"\n"
226
+ "- data (string, optional): Test data used in this step. Example: \"Sample Test Data\"\n"
227
+ "- result (string, optional): Expected result after executing the step. Example: \"Expected Test Result\"\n"
228
+ "*IMPORTANT*: Use double quotes for all field names and string values."))),
229
+ __base__=ProjectIssue
230
+ )
231
+
232
+ UpdateBddContent = create_model(
233
+ "UpdateTestStep",
234
+ new_content=(str, Field(description=(
235
+ "String containing a Gherkin scenario or a feature background.\n"
236
+ "New lines must be encoded as \\n or \\r\\n, and other characters that have special meaning in JSON strings must be escaped accordingly"))),
237
+ __base__=Issue
238
+ )
239
+
240
+ CycleJson = create_model(
241
+ "CycleJson",
242
+ json=(str, Field(description=(
243
+ "JSON body to create a Zephyr test cycle. Fields:\n"
244
+ "- name (string, required): Test cycle name. Example: \"Test Cycle\"\n"
245
+ "- build (string, optional): Build name. Example: \"build 1.0\"\n"
246
+ "- environment (string, optional): Environment name. Example: \"Bug Fix\"\n"
247
+ "- description (string, optional): Cycle description. Example: \"This contains the zephyr tests for a version\"\n"
248
+ "- startDate (long, optional): Start date as a Unix timestamp. Example: 1485278607\n"
249
+ "- endDate (long, optional): End date as a Unix timestamp. Example: 1485302400\n"
250
+ "- projectId (integer, required): Project ID. Example: 10100\n"
251
+ "- versionId (integer, required): Version ID. Example: 10000\n"
252
+ "*IMPORTANT*: Use double quotes for all field names and string values.")))
253
+ )
254
+
255
+ FolderJson = create_model(
256
+ "FolderJson",
257
+ json=(str, Field(description=(
258
+ "JSON body to create a Zephyr folder. Fields:\n"
259
+ "- name (string, required): Folder name. Example: \"Folder 01\"\n"
260
+ "- description (string, optional): Folder description. Example: \"Create New Folder\"\n"
261
+ "- cycleId (string, required): Cycle ID. Example: \"0001513838430954-242ac112-0001\"\n"
262
+ "- projectId (integer, required): Project ID. Example: 10100\n"
263
+ "- versionId (integer, required): Version ID. Example: 10000\n"
264
+ "*IMPORTANT*: Use double quotes for all field names and string values.")))
265
+ )
266
+
267
+ ExecutionJson = create_model(
268
+ "ExecutionJson",
269
+ json=(str, Field(description=(
270
+ "JSON body for Zephyr operation. Fields:\n"
271
+ "- status (object, optional): Status object. Example: {\"id\": 1}\n"
272
+ "- id (string, optional): Unique identifier. Example: \"0001456664462103-5aoee13a3fob-0001\"\n"
273
+ "- projectId (integer, required): Project ID. Example: 10000\n"
274
+ "- issueId (integer, required): Issue ID. Example: 10000\n"
275
+ "- cycleId (string, optional): Cycle ID. Example: \"0001456664262308-5a6ee13a3f6b-0001\"\n"
276
+ "- versionId (integer, required): Version ID. Example: -1\n"
277
+ "- assigneeType (string, optional): \"currentUser\" or \"assignee\". Example: \"assignee\"\n"
278
+ "- assignee (string, optional): Assignee name if assigneeType is \"assignee\". Example: \"jiraUserKey\"\n"
279
+ "*IMPORTANT*: Use double quotes for all field names and string values.")))
280
+ )
281
+
282
+ TestToCycle = create_model(
283
+ "TestToCycle",
284
+ step_id=(str, Field(description="Test step id to operate.")),
285
+ json=(str, Field(description=(
286
+ "JSON body for Zephyr operation. Fields:\n"
287
+ "- issues (array[string], required if method=1): List of Jira issue keys. Example: [\"TEST-1\"]\n"
288
+ "- jql (string, required if method=2): JQL query string. Example: \"project = DEMO AND type = Test AND reporter = admin\"\n"
289
+ "- versionId (integer, required): Version ID. Example: -1\n"
290
+ "- projectId (integer, required): Project ID. Example: 10000\n"
291
+ "- fromVersionId (integer, required if method=3): Source Version ID. Example: -1\n"
292
+ "- fromCycleId (string, required if method=3): Source Cycle ID. Example: \"-0001484006184518-242ac112-0001\"\n"
293
+ "- statuses (string, optional, used when method=3): Statuses. Example: \"-1\"\n"
294
+ "- priorities (string, optional, used when method=3): Priorities (comma-separated). Example: \"1,4\"\n"
295
+ "- labels (string, optional, used when method=3): Labels (comma-separated). Example: \"-High,dock\"\n"
296
+ "- method (string, required): Operation method. Example: \"1\"\n"
297
+ "*IMPORTANT*: Use double quotes for all field names and string values.")))
298
+ )
299
+
300
+ TestToFolder = create_model(
301
+ "TestToFolder",
302
+ step_id=(str, Field(description="folderId of Execution.")),
303
+ json=(str, Field(description=(
304
+ "JSON body to update a Zephyr test step. Fields:\n"
305
+ "- issues (array[string], required): List of Jira issue keys. Example: [\"FSC-2\", \"FSC-3\"]\n"
306
+ "- assigneeType (string, required): Type of assignee. Example: \"currentUser\"\n"
307
+ "- method (integer, required): Method identifier. Example: 1\n"
308
+ "- versionId (integer, required): Version ID. Example: 12829\n"
309
+ "- projectId (integer, required): Project ID. Example: 10930\n"
310
+ "- cycleId (string, required): Cycle ID. Example: \"0001513838430954-242ac112-0001\"\n"
311
+ "*IMPORTANT*: Use double quotes for all field names and string values.")))
312
+ )
313
+
314
+ GetExecution = create_model(
315
+ "GetExecution",
316
+ execution_id=(str, Field(description="executionId of Execution.")),
317
+ issue_id=(int, Field(description="issueId of Execution.")),
318
+ project_id=(int, Field(description="projectId of Execution."))
319
+ )