alita-sdk 0.3.228__tar.gz → 0.3.229__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 (340) hide show
  1. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/PKG-INFO +1 -1
  2. alita_sdk-0.3.229/alita_sdk/configurations/__init__.py +66 -0
  3. alita_sdk-0.3.229/alita_sdk/configurations/ado.py +41 -0
  4. alita_sdk-0.3.229/alita_sdk/configurations/azure_search.py +21 -0
  5. alita_sdk-0.3.229/alita_sdk/configurations/bigquery.py +23 -0
  6. alita_sdk-0.3.229/alita_sdk/configurations/bitbucket.py +31 -0
  7. alita_sdk-0.3.229/alita_sdk/configurations/confluence.py +36 -0
  8. alita_sdk-0.3.229/alita_sdk/configurations/delta_lake.py +24 -0
  9. alita_sdk-0.3.229/alita_sdk/configurations/github.py +45 -0
  10. alita_sdk-0.3.229/alita_sdk/configurations/gitlab.py +31 -0
  11. alita_sdk-0.3.229/alita_sdk/configurations/jira.py +36 -0
  12. alita_sdk-0.3.229/alita_sdk/configurations/pgvector.py +18 -0
  13. alita_sdk-0.3.229/alita_sdk/configurations/postman.py +30 -0
  14. alita_sdk-0.3.229/alita_sdk/configurations/qtest.py +20 -0
  15. alita_sdk-0.3.229/alita_sdk/configurations/service_now.py +31 -0
  16. alita_sdk-0.3.229/alita_sdk/configurations/slack.py +35 -0
  17. alita_sdk-0.3.229/alita_sdk/configurations/testrail.py +20 -0
  18. alita_sdk-0.3.229/alita_sdk/runtime/toolkits/configurations.py +4 -0
  19. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/ado/repos/__init__.py +21 -30
  20. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/aws/delta_lake/__init__.py +9 -13
  21. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/azure_ai/search/__init__.py +9 -15
  22. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/bitbucket/__init__.py +8 -11
  23. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/confluence/__init__.py +20 -20
  24. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/github/__init__.py +22 -45
  25. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/gitlab/__init__.py +8 -8
  26. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/google/bigquery/__init__.py +5 -26
  27. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/jira/__init__.py +18 -18
  28. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/postman/__init__.py +5 -5
  29. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/qtest/__init__.py +3 -2
  30. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/servicenow/__init__.py +7 -5
  31. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/slack/__init__.py +6 -7
  32. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/testrail/__init__.py +8 -11
  33. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk.egg-info/PKG-INFO +1 -1
  34. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk.egg-info/SOURCES.txt +17 -0
  35. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/pyproject.toml +1 -1
  36. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/LICENSE +0 -0
  37. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/README.md +0 -0
  38. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/__init__.py +0 -0
  39. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/community/__init__.py +0 -0
  40. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/community/utils.py +0 -0
  41. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/__init__.py +0 -0
  42. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/clients/__init__.py +0 -0
  43. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/clients/artifact.py +0 -0
  44. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/clients/client.py +0 -0
  45. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/clients/datasource.py +0 -0
  46. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/clients/prompt.py +0 -0
  47. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/__init__.py +0 -0
  48. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
  49. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
  50. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/assistant.py +0 -0
  51. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
  52. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/constants.py +0 -0
  53. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
  54. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
  55. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
  56. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
  57. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
  58. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
  59. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
  60. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
  61. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
  62. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaPDFLoader.py +0 -0
  63. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaPowerPointLoader.py +0 -0
  64. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
  65. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
  66. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/AlitaTextLoader.py +0 -0
  67. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
  68. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
  69. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
  70. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/indexer.py +0 -0
  71. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
  72. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
  73. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
  74. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
  75. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
  76. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/langraph_agent.py +0 -0
  77. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
  78. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
  79. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
  80. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
  81. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
  82. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/store_manager.py +0 -0
  83. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
  84. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
  85. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
  86. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
  87. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
  88. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
  89. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/tools/git.py +0 -0
  90. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/tools/log.py +0 -0
  91. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
  92. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/tools/state.py +0 -0
  93. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
  94. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
  95. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/langchain/utils.py +0 -0
  96. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/llms/__init__.py +0 -0
  97. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/llms/preloaded.py +0 -0
  98. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/toolkits/__init__.py +0 -0
  99. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/toolkits/application.py +0 -0
  100. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/toolkits/artifact.py +0 -0
  101. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/toolkits/datasource.py +0 -0
  102. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/toolkits/prompt.py +0 -0
  103. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
  104. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/toolkits/tools.py +0 -0
  105. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
  106. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/__init__.py +0 -0
  107. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/agent.py +0 -0
  108. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/application.py +0 -0
  109. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/artifact.py +0 -0
  110. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/datasource.py +0 -0
  111. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/echo.py +0 -0
  112. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/function.py +0 -0
  113. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
  114. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/llm.py +0 -0
  115. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/loop.py +0 -0
  116. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/loop_output.py +0 -0
  117. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
  118. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
  119. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/prompt.py +0 -0
  120. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/router.py +0 -0
  121. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/tool.py +0 -0
  122. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/tools/vectorstore.py +0 -0
  123. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
  124. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/utils/__init__.py +0 -0
  125. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/utils/constants.py +0 -0
  126. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/utils/evaluate.py +0 -0
  127. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/utils/logging.py +0 -0
  128. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
  129. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/utils/streamlit.py +0 -0
  130. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/utils/toolkit_runtime.py +0 -0
  131. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/utils/toolkit_utils.py +0 -0
  132. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/runtime/utils/utils.py +0 -0
  133. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/__init__.py +0 -0
  134. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/ado/__init__.py +0 -0
  135. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
  136. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/ado/test_plan/__init__.py +0 -0
  137. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +0 -0
  138. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/ado/utils.py +0 -0
  139. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/ado/wiki/__init__.py +0 -0
  140. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/ado/wiki/ado_wrapper.py +0 -0
  141. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/ado/work_item/__init__.py +0 -0
  142. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
  143. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
  144. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
  145. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/aws/__init__.py +0 -0
  146. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/aws/delta_lake/api_wrapper.py +0 -0
  147. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/aws/delta_lake/schemas.py +0 -0
  148. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/aws/delta_lake/tool.py +0 -0
  149. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/azure_ai/__init__.py +0 -0
  150. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
  151. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/base/__init__.py +0 -0
  152. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/base/tool.py +0 -0
  153. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
  154. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
  155. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
  156. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/bitbucket/tools.py +0 -0
  157. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/browser/__init__.py +0 -0
  158. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/browser/crawler.py +0 -0
  159. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
  160. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/browser/google_search_rag.py +0 -0
  161. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/browser/utils.py +0 -0
  162. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/browser/wiki.py +0 -0
  163. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/__init__.py +0 -0
  164. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
  165. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
  166. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
  167. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
  168. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
  169. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
  170. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
  171. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
  172. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
  173. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
  174. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
  175. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/tools.py +0 -0
  176. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
  177. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
  178. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/carrier/utils.py +0 -0
  179. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/__init__.py +0 -0
  180. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
  181. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
  182. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/constants.py +0 -0
  183. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
  184. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
  185. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
  186. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
  187. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
  188. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
  189. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
  190. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
  191. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
  192. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
  193. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
  194. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
  195. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
  196. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
  197. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
  198. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/models.py +0 -0
  199. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
  200. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
  201. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
  202. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
  203. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
  204. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/chunkers/utils.py +0 -0
  205. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/cloud/__init__.py +0 -0
  206. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
  207. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
  208. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
  209. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
  210. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
  211. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
  212. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
  213. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
  214. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/code/__init__.py +0 -0
  215. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/code/linter/__init__.py +0 -0
  216. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
  217. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
  218. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/code/sonar/__init__.py +0 -0
  219. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
  220. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
  221. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/confluence/loader.py +0 -0
  222. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/confluence/utils.py +0 -0
  223. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
  224. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
  225. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/elastic/__init__.py +0 -0
  226. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
  227. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/elitea_base.py +0 -0
  228. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/figma/__init__.py +0 -0
  229. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/figma/api_wrapper.py +0 -0
  230. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/github/api_wrapper.py +0 -0
  231. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/github/github_client.py +0 -0
  232. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
  233. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/github/schemas.py +0 -0
  234. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/github/tool.py +0 -0
  235. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/github/tool_prompts.py +0 -0
  236. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
  237. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/gitlab/tools.py +0 -0
  238. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/gitlab/utils.py +0 -0
  239. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
  240. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
  241. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/gmail/__init__.py +0 -0
  242. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
  243. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/gmail/utils.py +0 -0
  244. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/google/__init__.py +0 -0
  245. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/google/bigquery/api_wrapper.py +0 -0
  246. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/google/bigquery/schemas.py +0 -0
  247. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/google/bigquery/tool.py +0 -0
  248. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/google_places/__init__.py +0 -0
  249. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
  250. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/jira/api_wrapper.py +0 -0
  251. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/keycloak/__init__.py +0 -0
  252. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
  253. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/llm/__init__.py +0 -0
  254. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/llm/img_utils.py +0 -0
  255. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/llm/llm_utils.py +0 -0
  256. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/localgit/__init__.py +0 -0
  257. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/localgit/local_git.py +0 -0
  258. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/localgit/tool.py +0 -0
  259. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/memory/__init__.py +0 -0
  260. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/ocr/__init__.py +0 -0
  261. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
  262. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/ocr/text_detection.py +0 -0
  263. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/openapi/__init__.py +0 -0
  264. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/__init__.py +0 -0
  265. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
  266. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
  267. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
  268. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
  269. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
  270. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
  271. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
  272. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
  273. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
  274. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
  275. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
  276. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
  277. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
  278. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
  279. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
  280. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
  281. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
  282. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
  283. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/postman/api_wrapper.py +0 -0
  284. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/postman/postman_analysis.py +0 -0
  285. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pptx/__init__.py +0 -0
  286. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
  287. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/qtest/api_wrapper.py +0 -0
  288. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/qtest/tool.py +0 -0
  289. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/rally/__init__.py +0 -0
  290. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/rally/api_wrapper.py +0 -0
  291. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/report_portal/__init__.py +0 -0
  292. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
  293. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
  294. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/salesforce/__init__.py +0 -0
  295. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
  296. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/salesforce/model.py +0 -0
  297. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
  298. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
  299. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/sharepoint/__init__.py +0 -0
  300. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/sharepoint/api_wrapper.py +0 -0
  301. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
  302. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/sharepoint/utils.py +0 -0
  303. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/slack/api_wrapper.py +0 -0
  304. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/sql/__init__.py +0 -0
  305. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/sql/api_wrapper.py +0 -0
  306. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/sql/models.py +0 -0
  307. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/testio/__init__.py +0 -0
  308. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/testio/api_wrapper.py +0 -0
  309. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
  310. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/utils/__init__.py +0 -0
  311. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/utils/content_parser.py +0 -0
  312. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/vector_adapters/VectorStoreAdapter.py +0 -0
  313. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/vector_adapters/__init__.py +0 -0
  314. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/xray/__init__.py +0 -0
  315. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/xray/api_wrapper.py +0 -0
  316. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/yagmail/__init__.py +0 -0
  317. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
  318. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
  319. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr/__init__.py +0 -0
  320. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
  321. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr/rest_client.py +0 -0
  322. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr_enterprise/__init__.py +0 -0
  323. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +0 -0
  324. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
  325. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr_essential/__init__.py +0 -0
  326. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr_essential/api_wrapper.py +0 -0
  327. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr_essential/client.py +0 -0
  328. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
  329. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -0
  330. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr_squad/__init__.py +0 -0
  331. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -0
  332. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +0 -0
  333. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk.egg-info/dependency_links.txt +0 -0
  334. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk.egg-info/requires.txt +0 -0
  335. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/alita_sdk.egg-info/top_level.txt +0 -0
  336. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/setup.cfg +0 -0
  337. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/tests/test_ado_analysis.py +0 -0
  338. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/tests/test_github_analysis.py +0 -0
  339. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/tests/test_gitlab_analysis.py +0 -0
  340. {alita_sdk-0.3.228 → alita_sdk-0.3.229}/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.228
3
+ Version: 0.3.229
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
@@ -0,0 +1,66 @@
1
+ import logging
2
+
3
+ logger = logging.getLogger(__name__)
4
+
5
+ AVAILABLE_CONFIGURATIONS = {}
6
+ AVAILABLE_CLASS_CONFIGURATIONS = {}
7
+ FAILED_IMPORTS = {}
8
+
9
+
10
+ def _safe_import_configuration(
11
+ configuration_name, module_path, configuration_class_name
12
+ ):
13
+ """Safely import a configuration module and register available functions/classes."""
14
+ try:
15
+ module = __import__(f'alita_sdk.configurations.{module_path}', fromlist=[''])
16
+ configuration_class = getattr(module, configuration_class_name)
17
+ AVAILABLE_CONFIGURATIONS[configuration_name] = configuration_class.model_json_schema()
18
+ AVAILABLE_CLASS_CONFIGURATIONS[configuration_name] = configuration_class
19
+ logger.debug(f"Successfully imported {configuration_name}")
20
+ except Exception as e:
21
+ FAILED_IMPORTS[configuration_name] = str(e)
22
+ logger.debug(f"Failed to import {configuration_name}: {e}")
23
+
24
+ # Safe imports for all tools
25
+ _safe_import_configuration('github', 'github', 'GithubConfiguration')
26
+ _safe_import_configuration('pgvector', 'pgvector', 'PgVectorConfiguration')
27
+ _safe_import_configuration('ado', 'ado', 'AdoConfiguration')
28
+ _safe_import_configuration('ado_repos', 'ado', 'AdoReposConfiguration')
29
+ _safe_import_configuration('gitlab', 'gitlab', 'GitlabConfiguration')
30
+ _safe_import_configuration('qtest', 'qtest', 'QtestConfiguration')
31
+ _safe_import_configuration('bitbucket', 'bitbucket', 'BitbucketConfiguration')
32
+ _safe_import_configuration('confluence', 'confluence', 'ConfluenceConfiguration')
33
+ _safe_import_configuration('jira', 'jira', 'JiraConfiguration')
34
+ _safe_import_configuration('postman', 'postman', 'PostmanConfiguration')
35
+ _safe_import_configuration('service_now', 'service_now', 'ServiceNowConfiguration')
36
+ _safe_import_configuration('testrail', 'testrail', 'TestRailConfiguration')
37
+ _safe_import_configuration('slack', 'slack', 'SlackConfiguration')
38
+ _safe_import_configuration('azure_search', 'azure_search', 'AzureSearchConfiguration')
39
+ _safe_import_configuration('delta_lake', 'delta_lake', 'DeltaLakeConfiguration')
40
+ _safe_import_configuration('bigquery', 'bigquery', 'BigQueryConfiguration')
41
+
42
+ # Log import summary
43
+ available_count = len(AVAILABLE_CONFIGURATIONS)
44
+ total_attempted = len(AVAILABLE_CONFIGURATIONS) + len(FAILED_IMPORTS)
45
+ logger.info(f"Configuration imports completed: {available_count}/{total_attempted} successful")
46
+
47
+
48
+ def get_configurations():
49
+ """Return all available configuration schemas."""
50
+ return AVAILABLE_CONFIGURATIONS.copy()
51
+
52
+
53
+ def get_class_configurations():
54
+ """Return all available configuration classes."""
55
+ return AVAILABLE_CLASS_CONFIGURATIONS.copy()
56
+
57
+
58
+ def get_available_configurations():
59
+ """Return list of available configuration class names."""
60
+ return list(AVAILABLE_CONFIGURATIONS.keys())
61
+
62
+
63
+ __all__ = [
64
+ 'get_configurations',
65
+ 'get_available_configurations',
66
+ ]
@@ -0,0 +1,41 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class AdoConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "Ado",
11
+ "icon_url": None,
12
+ "section": "credentials",
13
+ "type": "ado"
14
+ }
15
+ }
16
+ )
17
+ organization_url: Optional[str] = Field(description="Base API URL")
18
+ project: Optional[str] = Field(description="ADO project", default=None)
19
+ token: Optional[SecretStr] = Field(description="ADO Token")
20
+
21
+
22
+ class AdoReposConfiguration(BaseModel):
23
+ model_config = ConfigDict(
24
+ json_schema_extra={
25
+ "metadata": {
26
+ "label": "ADO repos",
27
+ "icon_url": "ado-repos-icon.svg",
28
+ "section": "credentials",
29
+ "type": "ado_repos"
30
+ }
31
+ }
32
+ )
33
+ repository_id: Optional[str] = Field(description="ADO repository ID", default=None)
34
+
35
+ ado_configuration: AdoConfiguration = Field(
36
+ default_factory=AdoConfiguration,
37
+ description="ADO configuration",
38
+ json_schema_extra={
39
+ 'configuration_types': ['ado']
40
+ }
41
+ )
@@ -0,0 +1,21 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class AzureSearchConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "Azure Search",
11
+ "icon_url": "azure-search.svg",
12
+ "section": "credentials",
13
+ "type": "azure_search",
14
+ "categories": ["search"],
15
+ "extra_categories": ["azure", "cognitive search", "vector database", "knowledge base"],
16
+ }
17
+ }
18
+ )
19
+ endpoint: Optional[str] = Field(description="Azure Search endpoint")
20
+ api_base: Optional[str] = Field(description="Azure Search API base")
21
+ api_key: Optional[SecretStr] = Field(description="API key")
@@ -0,0 +1,23 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class BigQueryConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "Google BigQuery",
11
+ "icon_url": "google.svg",
12
+ "section": "credentials",
13
+ "type": "bigquery",
14
+ "categories": ["database"],
15
+ "extra_categories": ["google", "gcp", "data warehouse", "analytics"],
16
+ }
17
+ }
18
+ )
19
+ api_key: Optional[SecretStr] = Field(description="GCP API key")
20
+ project: Optional[str] = Field(description="BigQuery project ID")
21
+ location: Optional[str] = Field(description="BigQuery location")
22
+ dataset: Optional[str] = Field(description="BigQuery dataset name")
23
+ table: Optional[str] = Field(description="BigQuery table name")
@@ -0,0 +1,31 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class BitbucketConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "Bitbucket",
11
+ "icon_url": "bitbucket-icon.svg",
12
+ "sections": {
13
+ "auth": {
14
+ "required": False,
15
+ "subsections": [
16
+ {
17
+ "name": "Username & Password",
18
+ "fields": ["username", "password"]
19
+ }
20
+ ]
21
+ },
22
+ },
23
+ "section": "credentials",
24
+ "type": "bitbucket",
25
+ "categories": ["code repositories"],
26
+ "extra_categories": ["bitbucket", "git", "repository", "code", "version control"],
27
+ }
28
+ }
29
+ )
30
+ username: Optional[str] = Field(description="Bitbucket Username", default=None)
31
+ password: Optional[SecretStr] = Field(description="Bitbucket Password/App Password", default=None)
@@ -0,0 +1,36 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class ConfluenceConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "Confluence",
11
+ "icon_url": "confluence.svg",
12
+ "sections": {
13
+ "auth": {
14
+ "required": False,
15
+ "subsections": [
16
+ {
17
+ "name": "API Key",
18
+ "fields": ["username", "api_key"]
19
+ },
20
+ {
21
+ "name": "Token",
22
+ "fields": ["token"]
23
+ }
24
+ ]
25
+ },
26
+ },
27
+ "section": "credentials",
28
+ "type": "confluence",
29
+ "categories": ["documentation"],
30
+ "extra_categories": ["confluence", "wiki", "documentation", "knowledge base"],
31
+ }
32
+ }
33
+ )
34
+ username: Optional[str] = Field(description="Confluence Username", default=None)
35
+ api_key: Optional[SecretStr] = Field(description="Confluence API Key", default=None)
36
+ token: Optional[SecretStr] = Field(description="Confluence Token", default=None)
@@ -0,0 +1,24 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class DeltaLakeConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "AWS Delta Lake",
11
+ "icon_url": "delta-lake.svg",
12
+ "section": "credentials",
13
+ "type": "delta_lake",
14
+ "categories": ["database"],
15
+ "extra_categories": ["aws", "data lake", "analytics", "storage"],
16
+ }
17
+ }
18
+ )
19
+ aws_access_key_id: Optional[SecretStr] = Field(description="AWS access key ID")
20
+ aws_secret_access_key: Optional[SecretStr] = Field(description="AWS secret access key")
21
+ aws_session_token: Optional[SecretStr] = Field(description="AWS session token (optional)")
22
+ aws_region: Optional[str] = Field(description="AWS region for Delta Lake storage")
23
+ s3_path: Optional[str] = Field(description="S3 path to Delta Lake data (e.g., s3://bucket/path)")
24
+ table_path: Optional[str] = Field(description="Delta Lake table path (if not using s3_path)")
@@ -0,0 +1,45 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class GithubConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "GitHub",
11
+ "icon_url": None,
12
+ "sections": {
13
+ "auth": {
14
+ "required": False,
15
+ "subsections": [
16
+ {
17
+ "name": "Token",
18
+ "fields": ["access_token"]
19
+ },
20
+ {
21
+ "name": "Password",
22
+ "fields": ["username", "password"]
23
+ },
24
+ {
25
+ "name": "App private key",
26
+ "fields": ["app_id", "app_private_key"]
27
+ }
28
+ ]
29
+ },
30
+ },
31
+ "section": "credentials",
32
+ "type": "github",
33
+ "categories": ["code repositories"],
34
+ "extra_categories": ["github", "git", "repository", "code", "version control"],
35
+ }
36
+ }
37
+ )
38
+ base_url: Optional[str] = Field(description="Base API URL", default="https://api.github.com")
39
+ app_id: Optional[str] = Field(description="Github APP ID", default=None)
40
+ app_private_key: Optional[SecretStr] = Field(description="Github APP private key", default=None)
41
+
42
+ access_token: Optional[SecretStr] = Field(description="Github Access Token", default=None)
43
+
44
+ username: Optional[str] = Field(description="Github Username", default=None)
45
+ password: Optional[SecretStr] = Field(description="Github Password", default=None)
@@ -0,0 +1,31 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class GitlabConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "GitLab",
11
+ "icon_url": None,
12
+ "sections": {
13
+ "auth": {
14
+ "required": True,
15
+ "subsections": [
16
+ {
17
+ "name": "GitLab private token",
18
+ "fields": ["private_token"]
19
+ }
20
+ ]
21
+ }
22
+ },
23
+ "section": "credentials",
24
+ "type": "gitlab",
25
+ "categories": ["code repositories"],
26
+ "extra_categories": ["gitlab", "git", "repository", "code", "version control"],
27
+ }
28
+ }
29
+ )
30
+ private_token: Optional[SecretStr] = Field(description="GitLab private token", default=None)
31
+
@@ -0,0 +1,36 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class JiraConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "Jira",
11
+ "icon_url": "jira.svg",
12
+ "sections": {
13
+ "auth": {
14
+ "required": False,
15
+ "subsections": [
16
+ {
17
+ "name": "API Key",
18
+ "fields": ["username", "api_key"]
19
+ },
20
+ {
21
+ "name": "Token",
22
+ "fields": ["token"]
23
+ }
24
+ ]
25
+ },
26
+ },
27
+ "section": "credentials",
28
+ "type": "jira",
29
+ "categories": ["project management"],
30
+ "extra_categories": ["jira", "issue tracking", "project management", "agile"],
31
+ }
32
+ }
33
+ )
34
+ username: Optional[str] = Field(description="Jira Username", default=None)
35
+ api_key: Optional[SecretStr] = Field(description="Jira API Key", default=None)
36
+ token: Optional[SecretStr] = Field(description="Jira Token", default=None)
@@ -0,0 +1,18 @@
1
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
2
+
3
+
4
+ class PgVectorConfiguration(BaseModel):
5
+ model_config = ConfigDict(
6
+ json_schema_extra={
7
+ "metadata": {
8
+ "label": "PgVector",
9
+ "icon_url": None,
10
+ "section": "vectorstorage",
11
+ "type": "pgvector"
12
+ }
13
+ }
14
+ )
15
+ connection_string: SecretStr = Field(
16
+ description="Connection string for PgVector database",
17
+ default=None
18
+ )
@@ -0,0 +1,30 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class PostmanConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "Postman",
11
+ "icon_url": "postman.svg",
12
+ "sections": {
13
+ "auth": {
14
+ "required": False,
15
+ "subsections": [
16
+ {
17
+ "name": "API Key",
18
+ "fields": ["api_key"]
19
+ }
20
+ ]
21
+ },
22
+ },
23
+ "section": "credentials",
24
+ "type": "postman",
25
+ "categories": ["api testing"],
26
+ "extra_categories": ["postman", "api", "testing", "collection"],
27
+ }
28
+ }
29
+ )
30
+ api_key: Optional[SecretStr] = Field(description="Postman API Key", default=None)
@@ -0,0 +1,20 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class QtestConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "QTest",
11
+ "icon_url": "qtest.svg",
12
+ "categories": ["test management"],
13
+ "section": "credentials",
14
+ "type": "qtest",
15
+ "extra_categories": ["quality assurance", "test case management", "test planning"]
16
+ }
17
+ }
18
+ )
19
+ qtest_api_token: Optional[SecretStr] = Field(description="QTest API token", default=None)
20
+
@@ -0,0 +1,31 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class ServiceNowConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "ServiceNow",
11
+ "icon_url": "servicenow.svg",
12
+ "sections": {
13
+ "auth": {
14
+ "required": False,
15
+ "subsections": [
16
+ {
17
+ "name": "Username & Password",
18
+ "fields": ["username", "password"]
19
+ }
20
+ ]
21
+ },
22
+ },
23
+ "section": "credentials",
24
+ "type": "service_now",
25
+ "categories": ["service management"],
26
+ "extra_categories": ["servicenow", "itsm", "service management", "incident"],
27
+ }
28
+ }
29
+ )
30
+ username: Optional[str] = Field(description="ServiceNow Username", default=None)
31
+ password: Optional[SecretStr] = Field(description="ServiceNow Password", default=None)
@@ -0,0 +1,35 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class SlackConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "Slack",
11
+ "icon_url": "slack.svg",
12
+ "sections": {
13
+ "auth": {
14
+ "required": False,
15
+ "subsections": [
16
+ {
17
+ "name": "Bot Token",
18
+ "fields": ["bot_token"]
19
+ },
20
+ {
21
+ "name": "User Token",
22
+ "fields": ["user_token"]
23
+ }
24
+ ]
25
+ },
26
+ },
27
+ "section": "credentials",
28
+ "type": "slack",
29
+ "categories": ["communication"],
30
+ "extra_categories": ["slack", "chat", "messaging", "collaboration"],
31
+ }
32
+ }
33
+ )
34
+ name: Optional[SecretStr] = Field(description="Slack Bot Token")
35
+ slack_token: Optional[SecretStr] = Field(description="Slack Token like XOXB-*****-*****-*****-*****")
@@ -0,0 +1,20 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, SecretStr
4
+
5
+
6
+ class TestRailConfiguration(BaseModel):
7
+ model_config = ConfigDict(
8
+ json_schema_extra={
9
+ "metadata": {
10
+ "label": "TestRail",
11
+ "icon_url": "testrail.svg",
12
+ "section": "credentials",
13
+ "type": "testrail",
14
+ "categories": ["test management"],
15
+ "extra_categories": ["testrail", "test management", "quality assurance", "testing"],
16
+ }
17
+ }
18
+ )
19
+ email: Optional[str] = Field(description="TestRail Email", default=None)
20
+ password: Optional[SecretStr] = Field(description="TestRail Password", default=None)
@@ -0,0 +1,4 @@
1
+ from alita_sdk.configurations import get_configurations as alita_configurations
2
+
3
+ def get_configurations():
4
+ return alita_configurations()
@@ -1,9 +1,12 @@
1
1
  from typing import List, Literal, Optional
2
2
 
3
3
  from langchain_core.tools import BaseTool, BaseToolkit
4
- from pydantic import BaseModel, Field, create_model, SecretStr
4
+ from pydantic import BaseModel, Field, create_model
5
5
 
6
6
  import requests
7
+
8
+ from ....configurations.ado import AdoReposConfiguration
9
+ from ....configurations.pgvector import PgVectorConfiguration
7
10
  from ...base.tool import BaseAction
8
11
  from .repos_wrapper import ReposApiWrapper
9
12
  from ...utils import clean_string, TOOLKIT_SPLITTER, get_max_toolkit_length, check_connection_response
@@ -14,11 +17,11 @@ name = "ado_repos"
14
17
  def _get_toolkit(tool) -> BaseToolkit:
15
18
  return AzureDevOpsReposToolkit().get_toolkit(
16
19
  selected_tools=tool['settings'].get('selected_tools', []),
17
- organization_url=tool['settings'].get('organization_url', ""),
18
- project=tool['settings'].get('project', ""),
19
- token=tool['settings'].get('token', ""),
20
+ organization_url=tool['settings'].get('ado_repos_configuration').get('ado_configuration').get('organization_url', ""),
21
+ project=tool['settings'].get('ado_repos_configuration').get('ado_configuration').get('project', ""),
22
+ token=tool['settings'].get('ado_repos_configuration').get('ado_configuration').get('token', ""),
20
23
  limit=tool['settings'].get('limit', 5),
21
- repository_id=tool['settings'].get('repository_id', ""),
24
+ repository_id=tool['settings'].get('ado_repos_configuration').get('repository_id', ""),
22
25
  base_branch=tool['settings'].get('base_branch', ""),
23
26
  active_branch=tool['settings'].get('active_branch', ""),
24
27
  toolkit_name=tool['settings'].get('toolkit_name', ""),
@@ -46,33 +49,21 @@ class AzureDevOpsReposToolkit(BaseToolkit):
46
49
  AzureDevOpsReposToolkit.toolkit_max_length = get_max_toolkit_length(selected_tools)
47
50
  m = create_model(
48
51
  name,
49
- organization_url=(str, Field(title="Organization URL",
50
- description="ADO organization url",
51
- json_schema_extra={
52
- 'configuration': True,
53
- "configuration_title": True
54
- })),
55
- project=(str, Field(title="Project", description="ADO project", json_schema_extra={'configuration': True})),
56
- repository_id=(str, Field(title="Repository ID", description="ADO repository ID",
57
- json_schema_extra={
58
- 'max_toolkit_length': AzureDevOpsReposToolkit.toolkit_max_length,
59
- 'configuration': True})),
60
- token=(SecretStr, Field(title="Token", description="ADO token", json_schema_extra={'secret': True, 'configuration': True})),
52
+ ado_repos_configuration=(Optional[AdoReposConfiguration], Field(description="Ado Repos configuration", default=None,
53
+ json_schema_extra={'configuration_types': ['ado_repos']})),
61
54
  base_branch=(Optional[str], Field(default="", title="Base branch", description="ADO base branch (e.g., main)")),
62
55
  active_branch=(Optional[str], Field(default="", title="Active branch", description="ADO active branch (e.g., main)")),
63
56
 
64
57
  # indexer settings
65
- connection_string = (Optional[SecretStr], Field(description="Connection string for vectorstore",
66
- default=None,
67
- json_schema_extra={'secret': True})),
68
-
58
+ pgvector_configuration=(Optional[PgVectorConfiguration], Field(description="PgVector configuration", default=None, json_schema_extra={'configuration_types': ['pgvector']})),
59
+ json_schema_extra={'secret': True})),
69
60
  # embedder settings
70
61
  embedding_model=(str, Field(description="Embedding model: i.e. 'HuggingFaceEmbeddings', etc.",
71
- default="HuggingFaceEmbeddings")),
62
+ default="HuggingFaceEmbeddings")),
72
63
  embedding_model_params=(dict, Field(
73
- description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}",
74
- default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
75
-
64
+ description="Embedding model parameters: i.e. `{'model_name': 'sentence-transformers/all-MiniLM-L6-v2'}",
65
+ default={"model_name": "sentence-transformers/all-MiniLM-L6-v2"})),
66
+
76
67
  selected_tools=(List[Literal[tuple(selected_tools)]], Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
77
68
  __config__={'json_schema_extra': {'metadata':
78
69
  {
@@ -91,11 +82,11 @@ class AzureDevOpsReposToolkit(BaseToolkit):
91
82
  },
92
83
  "categories": ["code repositories"],
93
84
  "extra_categories": ["code", "repository", "version control"],
94
- "configuration_group": {
95
- "name": "ado_repos",
96
- "label": "Azure DevOps Repositories",
97
- "icon_url": "ado-repos-icon.svg",
98
- }
85
+ # "configuration_group": {
86
+ # "name": "ado_repos",
87
+ # "label": "Azure DevOps Repositories",
88
+ # "icon_url": "ado-repos-icon.svg",
89
+ # }
99
90
  }}}
100
91
  )
101
92