alita-sdk 0.3.276__tar.gz → 0.3.432__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.
Potentially problematic release.
This version of alita-sdk might be problematic. Click here for more details.
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/PKG-INFO +34 -32
- alita_sdk-0.3.432/alita_sdk/configurations/bitbucket.py +127 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/browser.py +1 -1
- alita_sdk-0.3.432/alita_sdk/configurations/confluence.py +132 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/figma.py +0 -5
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/github.py +65 -1
- alita_sdk-0.3.432/alita_sdk/configurations/gitlab.py +110 -0
- alita_sdk-0.3.432/alita_sdk/configurations/jira.py +140 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/qtest.py +1 -1
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/sql.py +2 -2
- alita_sdk-0.3.432/alita_sdk/configurations/testrail.py +109 -0
- alita_sdk-0.3.432/alita_sdk/configurations/xray.py +125 -0
- alita_sdk-0.3.432/alita_sdk/configurations/zephyr_enterprise.py +113 -0
- alita_sdk-0.3.432/alita_sdk/configurations/zephyr_essential.py +95 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/clients/artifact.py +12 -2
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/clients/client.py +79 -27
- alita_sdk-0.3.432/alita_sdk/runtime/clients/mcp_discovery.py +342 -0
- alita_sdk-0.3.432/alita_sdk/runtime/clients/mcp_manager.py +262 -0
- alita_sdk-0.3.432/alita_sdk/runtime/clients/sandbox_client.py +373 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/assistant.py +69 -17
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/constants.py +5 -1
- alita_sdk-0.3.432/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +460 -0
- alita_sdk-0.3.432/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +222 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/document_loaders/AlitaJSONLoader.py +8 -2
- alita_sdk-0.3.432/alita_sdk/runtime/langchain/document_loaders/AlitaMarkdownLoader.py +66 -0
- alita_sdk-0.3.432/alita_sdk/runtime/langchain/document_loaders/AlitaPDFLoader.py +132 -0
- alita_sdk-0.3.432/alita_sdk/runtime/langchain/document_loaders/AlitaPowerPointLoader.py +91 -0
- alita_sdk-0.3.432/alita_sdk/runtime/langchain/document_loaders/AlitaPythonLoader.py +9 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +1 -4
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/document_loaders/AlitaTextLoader.py +15 -2
- alita_sdk-0.3.432/alita_sdk/runtime/langchain/document_loaders/ImageParser.py +30 -0
- alita_sdk-0.3.432/alita_sdk/runtime/langchain/document_loaders/constants.py +317 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +4 -2
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/langraph_agent.py +225 -57
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/utils.py +32 -5
- alita_sdk-0.3.432/alita_sdk/runtime/models/mcp_models.py +57 -0
- alita_sdk-0.3.432/alita_sdk/runtime/toolkits/__init__.py +24 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/toolkits/application.py +8 -1
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/toolkits/artifact.py +9 -2
- alita_sdk-0.3.432/alita_sdk/runtime/toolkits/mcp.py +660 -0
- alita_sdk-0.3.432/alita_sdk/runtime/toolkits/tools.py +242 -0
- alita_sdk-0.3.432/alita_sdk/runtime/tools/__init__.py +22 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/application.py +16 -4
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/artifact.py +137 -10
- alita_sdk-0.3.432/alita_sdk/runtime/tools/function.py +143 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/graph.py +10 -4
- alita_sdk-0.3.432/alita_sdk/runtime/tools/image_generation.py +212 -0
- alita_sdk-0.3.432/alita_sdk/runtime/tools/llm.py +308 -0
- alita_sdk-0.3.432/alita_sdk/runtime/tools/mcp_inspect_tool.py +256 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/mcp_server_tool.py +55 -3
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/router.py +2 -1
- alita_sdk-0.3.432/alita_sdk/runtime/tools/sandbox.py +375 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/vectorstore.py +25 -49
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/vectorstore_base.py +87 -77
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/utils/streamlit.py +35 -4
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/utils/toolkit_utils.py +5 -2
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/utils/utils.py +10 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/__init__.py +54 -32
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/ado/__init__.py +0 -1
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/ado/repos/__init__.py +3 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/ado/repos/repos_wrapper.py +11 -9
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/ado/test_plan/__init__.py +3 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +26 -6
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/ado/wiki/__init__.py +3 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/ado/wiki/ado_wrapper.py +69 -9
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/ado/work_item/__init__.py +3 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/ado/work_item/ado_wrapper.py +61 -9
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/advanced_jira_mining/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/azure_ai/search/__init__.py +3 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/base_indexer_toolkit.py +210 -57
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/bitbucket/__init__.py +2 -1
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/bitbucket/api_wrapper.py +7 -5
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/browser/__init__.py +25 -5
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/browser/crawler.py +3 -1
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/browser/utils.py +15 -6
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/backend_reports_tool.py +8 -4
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/excel_reporter.py +8 -4
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/codeparser.py +1 -1
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +1 -1
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/cloud/aws/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/cloud/azure/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/cloud/gcp/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/cloud/k8s/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/code/sonar/__init__.py +2 -0
- alita_sdk-0.3.432/alita_sdk/tools/code_indexer_toolkit.py +166 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/confluence/__init__.py +4 -2
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/confluence/api_wrapper.py +140 -49
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/confluence/loader.py +10 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/elitea_base.py +68 -30
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/figma/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/figma/api_wrapper.py +282 -149
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/github/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/github/api_wrapper.py +9 -26
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/github/github_client.py +13 -10
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/github/schemas.py +2 -1
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/gitlab/__init__.py +3 -2
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/gitlab/api_wrapper.py +61 -33
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/gitlab_org/__init__.py +3 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/google_places/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/jira/__init__.py +5 -1
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/jira/api_wrapper.py +92 -37
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/memory/__init__.py +26 -10
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/non_code_indexer_toolkit.py +6 -2
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/openapi/__init__.py +10 -1
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/api_wrapper.py +7 -25
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/postman/__init__.py +1 -2
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/postman/api_wrapper.py +19 -8
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/postman/postman_analysis.py +8 -1
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/qtest/__init__.py +9 -3
- alita_sdk-0.3.432/alita_sdk/tools/qtest/api_wrapper.py +960 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/rally/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/report_portal/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/salesforce/__init__.py +3 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/servicenow/__init__.py +3 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/sharepoint/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/sharepoint/api_wrapper.py +115 -34
- alita_sdk-0.3.432/alita_sdk/tools/sharepoint/authorization_helper.py +231 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/sharepoint/utils.py +8 -2
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/slack/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/sql/__init__.py +2 -0
- alita_sdk-0.3.432/alita_sdk/tools/sql/api_wrapper.py +160 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/testio/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/testrail/__init__.py +2 -1
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/testrail/api_wrapper.py +213 -45
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/utils/__init__.py +19 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/utils/content_parser.py +124 -55
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/vector_adapters/VectorStoreAdapter.py +74 -22
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/xray/__init__.py +3 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/xray/api_wrapper.py +12 -26
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr_enterprise/__init__.py +5 -2
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +17 -7
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr_essential/__init__.py +3 -1
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr_essential/api_wrapper.py +238 -27
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr_essential/client.py +6 -4
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr_scale/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr_scale/api_wrapper.py +6 -2
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr_squad/__init__.py +2 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk.egg-info/PKG-INFO +34 -32
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk.egg-info/SOURCES.txt +11 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk.egg-info/requires.txt +32 -30
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk.egg-info/top_level.txt +1 -0
- alita_sdk-0.3.432/pyproject.toml +50 -0
- alita_sdk-0.3.276/alita_sdk/configurations/bitbucket.py +0 -32
- alita_sdk-0.3.276/alita_sdk/configurations/confluence.py +0 -37
- alita_sdk-0.3.276/alita_sdk/configurations/gitlab.py +0 -31
- alita_sdk-0.3.276/alita_sdk/configurations/jira.py +0 -37
- alita_sdk-0.3.276/alita_sdk/configurations/testrail.py +0 -21
- alita_sdk-0.3.276/alita_sdk/configurations/xray.py +0 -32
- alita_sdk-0.3.276/alita_sdk/configurations/zephyr_enterprise.py +0 -20
- alita_sdk-0.3.276/alita_sdk/configurations/zephyr_essential.py +0 -18
- alita_sdk-0.3.276/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -148
- alita_sdk-0.3.276/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -87
- alita_sdk-0.3.276/alita_sdk/runtime/langchain/document_loaders/AlitaPDFLoader.py +0 -76
- alita_sdk-0.3.276/alita_sdk/runtime/langchain/document_loaders/AlitaPowerPointLoader.py +0 -54
- alita_sdk-0.3.276/alita_sdk/runtime/langchain/document_loaders/ImageParser.py +0 -17
- alita_sdk-0.3.276/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -169
- alita_sdk-0.3.276/alita_sdk/runtime/toolkits/tools.py +0 -190
- alita_sdk-0.3.276/alita_sdk/runtime/tools/function.py +0 -61
- alita_sdk-0.3.276/alita_sdk/runtime/tools/llm.py +0 -295
- alita_sdk-0.3.276/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
- alita_sdk-0.3.276/alita_sdk/tools/qtest/api_wrapper.py +0 -448
- alita_sdk-0.3.276/alita_sdk/tools/sharepoint/authorization_helper.py +0 -57
- alita_sdk-0.3.276/alita_sdk/tools/sql/api_wrapper.py +0 -112
- alita_sdk-0.3.276/alita_sdk/tools/vector_adapters/__init__.py +0 -0
- alita_sdk-0.3.276/pyproject.toml +0 -50
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/LICENSE +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/README.md +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/community/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/community/utils.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/ado.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/azure_search.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/bigquery.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/carrier.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/delta_lake.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/embedding.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/google_places.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/pgvector.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/postman.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/rally.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/report_portal.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/salesforce.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/service_now.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/sharepoint.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/slack.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/sonar.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/testio.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/configurations/zephyr.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/clients/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/clients/datasource.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/clients/prompt.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/indexer.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/store_manager.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/tools/git.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/tools/log.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/tools/state.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/llms/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/llms/preloaded.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/toolkits/configurations.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/toolkits/datasource.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/toolkits/prompt.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/agent.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/datasource.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/echo.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/loop.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/loop_output.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/prompt.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/tools/tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
- {alita_sdk-0.3.276/alita_sdk/runtime/toolkits → alita_sdk-0.3.432/alita_sdk/runtime/utils}/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/utils/constants.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/utils/evaluate.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/utils/logging.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/runtime/utils/toolkit_runtime.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/ado/utils.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/aws/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/aws/delta_lake/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/aws/delta_lake/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/aws/delta_lake/schemas.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/aws/delta_lake/tool.py +0 -0
- {alita_sdk-0.3.276/alita_sdk/runtime/tools → alita_sdk-0.3.432/alita_sdk/tools/azure_ai}/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
- {alita_sdk-0.3.276/alita_sdk/runtime/utils → alita_sdk-0.3.432/alita_sdk/tools/base}/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/base/tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/browser/google_search_rag.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/browser/wiki.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/tools.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/carrier/utils.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/__init__.py +0 -0
- {alita_sdk-0.3.276/alita_sdk/tools/azure_ai → alita_sdk-0.3.432/alita_sdk/tools/chunkers/code}/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/constants.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/models.py +0 -0
- {alita_sdk-0.3.276/alita_sdk/tools/base → alita_sdk-0.3.432/alita_sdk/tools/chunkers/sematic}/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/sematic/json_chunker.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/chunkers/utils.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/cloud/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
- {alita_sdk-0.3.276/alita_sdk/tools/chunkers → alita_sdk-0.3.432/alita_sdk/tools}/code/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/code/linter/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/confluence/utils.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/elastic/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/github/tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/github/tool_prompts.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/gitlab/tools.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/gitlab/utils.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/gmail/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/gmail/utils.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/google/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/google/bigquery/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/google/bigquery/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/google/bigquery/schemas.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/google/bigquery/tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/keycloak/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
- {alita_sdk-0.3.276/alita_sdk/tools/chunkers/sematic → alita_sdk-0.3.432/alita_sdk/tools/llm}/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/llm/img_utils.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/llm/llm_utils.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/localgit/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/localgit/local_git.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/localgit/tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/ocr/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/ocr/text_detection.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
- {alita_sdk-0.3.276/alita_sdk/tools/code → alita_sdk-0.3.432/alita_sdk/tools/pandas/dataframe/executor}/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
- {alita_sdk-0.3.276/alita_sdk/tools/llm → alita_sdk-0.3.432/alita_sdk/tools/pandas/dataframe/generator}/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pptx/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/qtest/tool.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/rally/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/salesforce/model.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/slack/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/sql/models.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/testio/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/utils/available_tools_decorator.py +0 -0
- {alita_sdk-0.3.276/alita_sdk/tools/pandas/dataframe/executor → alita_sdk-0.3.432/alita_sdk/tools/vector_adapters}/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/yagmail/__init__.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr/rest_client.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/alita_sdk.egg-info/dependency_links.txt +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/setup.cfg +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/tests/test_ado_analysis.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/tests/test_github_analysis.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/tests/test_gitlab_analysis.py +0 -0
- {alita_sdk-0.3.276 → alita_sdk-0.3.432}/tests/test_jira_analysis.py +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alita_sdk
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.432
|
|
4
4
|
Summary: SDK for building langchain agents using resources from Alita
|
|
5
|
-
Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <
|
|
5
|
+
Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedj27@gmail.com>, Artem Dubrovskiy <ad13box@gmail.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
7
7
|
Project-URL: Homepage, https://projectalita.ai
|
|
8
8
|
Project-URL: Issues, https://github.com/ProjectAlita/alita-sdk/issues
|
|
@@ -25,60 +25,64 @@ Requires-Dist: httpcore==1.0.7
|
|
|
25
25
|
Requires-Dist: urllib3>=2
|
|
26
26
|
Requires-Dist: certifi==2024.8.30
|
|
27
27
|
Provides-Extra: runtime
|
|
28
|
-
Requires-Dist:
|
|
29
|
-
Requires-Dist:
|
|
30
|
-
Requires-Dist:
|
|
31
|
-
Requires-Dist:
|
|
28
|
+
Requires-Dist: streamlit>=1.28.0; extra == "runtime"
|
|
29
|
+
Requires-Dist: langchain_core<0.4.0,>=0.3.76; extra == "runtime"
|
|
30
|
+
Requires-Dist: langchain<0.4.0,>=0.3.22; extra == "runtime"
|
|
31
|
+
Requires-Dist: langchain_community<0.4.0,>=0.3.7; extra == "runtime"
|
|
32
|
+
Requires-Dist: langchain-openai<0.4.0,>=0.3.0; extra == "runtime"
|
|
33
|
+
Requires-Dist: langchain-anthropic<0.4.0,>=0.3.10; extra == "runtime"
|
|
34
|
+
Requires-Dist: anthropic>=0.57.0; extra == "runtime"
|
|
35
|
+
Requires-Dist: langgraph<0.5,>=0.4.8; extra == "runtime"
|
|
36
|
+
Requires-Dist: langgraph-prebuilt==0.5.2; extra == "runtime"
|
|
32
37
|
Requires-Dist: langgraph-checkpoint-sqlite~=2.0.0; extra == "runtime"
|
|
33
38
|
Requires-Dist: langgraph-checkpoint-postgres==2.0.21; extra == "runtime"
|
|
34
39
|
Requires-Dist: langsmith>=0.3.45; extra == "runtime"
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
Requires-Dist:
|
|
40
|
+
Requires-Dist: langchain_chroma<0.3.0,>=0.2.2; extra == "runtime"
|
|
41
|
+
Requires-Dist: chromadb==0.5.20; extra == "runtime"
|
|
42
|
+
Requires-Dist: pgvector==0.2.5; extra == "runtime"
|
|
37
43
|
Requires-Dist: langchain-unstructured~=0.1.6; extra == "runtime"
|
|
38
44
|
Requires-Dist: langchain-postgres~=0.0.13; extra == "runtime"
|
|
39
|
-
Requires-Dist: keybert==0.8.3; extra == "runtime"
|
|
40
|
-
Requires-Dist: charset_normalizer==3.3.2; extra == "runtime"
|
|
41
45
|
Requires-Dist: unstructured[local-inference]==0.16.23; extra == "runtime"
|
|
42
46
|
Requires-Dist: unstructured_pytesseract==0.3.13; extra == "runtime"
|
|
43
47
|
Requires-Dist: unstructured_inference==0.8.7; extra == "runtime"
|
|
44
48
|
Requires-Dist: python-pptx==1.0.2; extra == "runtime"
|
|
45
|
-
Requires-Dist: pdf2image==1.16.3; extra == "runtime"
|
|
46
|
-
Requires-Dist: pikepdf==8.7.1; extra == "runtime"
|
|
47
|
-
Requires-Dist: pypdf==4.3.1; extra == "runtime"
|
|
48
|
-
Requires-Dist: pdfminer.six==20240706; extra == "runtime"
|
|
49
|
-
Requires-Dist: opencv-python==4.11.0.86; extra == "runtime"
|
|
50
49
|
Requires-Dist: python-docx==1.1.2; extra == "runtime"
|
|
51
50
|
Requires-Dist: openpyxl==3.1.2; extra == "runtime"
|
|
52
|
-
Requires-Dist:
|
|
53
|
-
Requires-Dist:
|
|
54
|
-
Requires-Dist:
|
|
55
|
-
Requires-Dist:
|
|
56
|
-
Requires-Dist:
|
|
57
|
-
Requires-Dist:
|
|
58
|
-
Requires-Dist: pytesseract==0.3.13; extra == "runtime"
|
|
51
|
+
Requires-Dist: pypdf==4.3.1; extra == "runtime"
|
|
52
|
+
Requires-Dist: pdfminer.six==20240706; extra == "runtime"
|
|
53
|
+
Requires-Dist: pdf2image==1.16.3; extra == "runtime"
|
|
54
|
+
Requires-Dist: pikepdf==8.7.1; extra == "runtime"
|
|
55
|
+
Requires-Dist: docx2txt==0.8; extra == "runtime"
|
|
56
|
+
Requires-Dist: mammoth==1.9.0; extra == "runtime"
|
|
59
57
|
Requires-Dist: reportlab==4.2.5; extra == "runtime"
|
|
60
58
|
Requires-Dist: svglib==1.5.1; extra == "runtime"
|
|
61
|
-
Requires-Dist: rlpycairo==0.3.0; extra == "runtime"
|
|
62
59
|
Requires-Dist: cairocffi==1.7.1; extra == "runtime"
|
|
63
|
-
Requires-Dist:
|
|
64
|
-
Requires-Dist:
|
|
60
|
+
Requires-Dist: rlpycairo==0.3.0; extra == "runtime"
|
|
61
|
+
Requires-Dist: keybert==0.8.3; extra == "runtime"
|
|
62
|
+
Requires-Dist: sentence-transformers==2.7.0; extra == "runtime"
|
|
63
|
+
Requires-Dist: gensim==4.3.3; extra == "runtime"
|
|
64
|
+
Requires-Dist: scipy==1.13.1; extra == "runtime"
|
|
65
|
+
Requires-Dist: opencv-python==4.11.0.86; extra == "runtime"
|
|
66
|
+
Requires-Dist: pytesseract==0.3.13; extra == "runtime"
|
|
67
|
+
Requires-Dist: markdown==3.5.1; extra == "runtime"
|
|
68
|
+
Requires-Dist: beautifulsoup4==4.12.2; extra == "runtime"
|
|
69
|
+
Requires-Dist: charset_normalizer==3.3.2; extra == "runtime"
|
|
65
70
|
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.25.0; extra == "runtime"
|
|
66
71
|
Requires-Dist: opentelemetry_api==1.25.0; extra == "runtime"
|
|
67
72
|
Requires-Dist: opentelemetry_instrumentation==0.46b0; extra == "runtime"
|
|
68
73
|
Requires-Dist: grpcio_status==1.63.0rc1; extra == "runtime"
|
|
69
74
|
Requires-Dist: protobuf==4.25.7; extra == "runtime"
|
|
70
|
-
Requires-Dist:
|
|
75
|
+
Requires-Dist: langchain-sandbox>=0.0.6; extra == "runtime"
|
|
71
76
|
Provides-Extra: tools
|
|
72
77
|
Requires-Dist: dulwich==0.21.6; extra == "tools"
|
|
73
78
|
Requires-Dist: paramiko==3.3.1; extra == "tools"
|
|
74
79
|
Requires-Dist: pygithub==2.3.0; extra == "tools"
|
|
75
80
|
Requires-Dist: python-gitlab==4.5.0; extra == "tools"
|
|
76
81
|
Requires-Dist: gitpython==3.1.43; extra == "tools"
|
|
77
|
-
Requires-Dist: atlassian-python-api~=
|
|
78
|
-
Requires-Dist: atlassian_python_api==3.41.16; extra == "tools"
|
|
82
|
+
Requires-Dist: atlassian-python-api~=4.0.7; extra == "tools"
|
|
79
83
|
Requires-Dist: jira==3.8.0; extra == "tools"
|
|
80
84
|
Requires-Dist: qtest-swagger-client==0.0.3; extra == "tools"
|
|
81
|
-
Requires-Dist: testrail-api==1.13.
|
|
85
|
+
Requires-Dist: testrail-api==1.13.4; extra == "tools"
|
|
82
86
|
Requires-Dist: azure-devops==7.1.0b4; extra == "tools"
|
|
83
87
|
Requires-Dist: msrest==0.7.1; extra == "tools"
|
|
84
88
|
Requires-Dist: python-graphql-client~=0.4.3; extra == "tools"
|
|
@@ -97,8 +101,6 @@ Requires-Dist: azure-search-documents==11.5.2; extra == "tools"
|
|
|
97
101
|
Requires-Dist: PyMySQL==1.1.1; extra == "tools"
|
|
98
102
|
Requires-Dist: psycopg2-binary==2.9.10; extra == "tools"
|
|
99
103
|
Requires-Dist: Office365-REST-Python-Client==2.5.14; extra == "tools"
|
|
100
|
-
Requires-Dist: python-docx==1.1.2; extra == "tools"
|
|
101
|
-
Requires-Dist: python-pptx==1.0.2; extra == "tools"
|
|
102
104
|
Requires-Dist: pypdf2~=3.0.1; extra == "tools"
|
|
103
105
|
Requires-Dist: FigmaPy==2018.1.0; extra == "tools"
|
|
104
106
|
Requires-Dist: pandas==2.2.3; extra == "tools"
|
|
@@ -115,7 +117,6 @@ Requires-Dist: playwright>=1.52.0; extra == "tools"
|
|
|
115
117
|
Requires-Dist: google-api-python-client==2.154.0; extra == "tools"
|
|
116
118
|
Requires-Dist: wikipedia==1.4.0; extra == "tools"
|
|
117
119
|
Requires-Dist: lxml==5.2.2; extra == "tools"
|
|
118
|
-
Requires-Dist: beautifulsoup4; extra == "tools"
|
|
119
120
|
Requires-Dist: pymupdf==1.24.9; extra == "tools"
|
|
120
121
|
Requires-Dist: googlemaps==4.10.0; extra == "tools"
|
|
121
122
|
Requires-Dist: yagmail==0.15.293; extra == "tools"
|
|
@@ -127,6 +128,7 @@ Requires-Dist: textract-py3==2.1.1; extra == "tools"
|
|
|
127
128
|
Requires-Dist: slack_sdk==3.35.0; extra == "tools"
|
|
128
129
|
Requires-Dist: deltalake==1.0.2; extra == "tools"
|
|
129
130
|
Requires-Dist: google_cloud_bigquery==3.34.0; extra == "tools"
|
|
131
|
+
Requires-Dist: python-calamine==0.5.3; extra == "tools"
|
|
130
132
|
Provides-Extra: community
|
|
131
133
|
Requires-Dist: retry-extended==0.2.3; extra == "community"
|
|
132
134
|
Requires-Dist: pyobjtojson==0.3; extra == "community"
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from atlassian import Bitbucket
|
|
4
|
+
from pydantic import BaseModel, ConfigDict, Field, SecretStr
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class BitbucketConfiguration(BaseModel):
|
|
8
|
+
model_config = ConfigDict(
|
|
9
|
+
json_schema_extra={
|
|
10
|
+
"metadata": {
|
|
11
|
+
"label": "Bitbucket",
|
|
12
|
+
"icon_url": "bitbucket-icon.svg",
|
|
13
|
+
"sections": {
|
|
14
|
+
"auth": {
|
|
15
|
+
"required": True,
|
|
16
|
+
"subsections": [
|
|
17
|
+
{
|
|
18
|
+
"name": "Username & Password",
|
|
19
|
+
"fields": ["username", "password"]
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
"section": "credentials",
|
|
25
|
+
"type": "bitbucket",
|
|
26
|
+
"categories": ["code repositories"],
|
|
27
|
+
"extra_categories": ["bitbucket", "git", "repository", "code", "version control"],
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
)
|
|
31
|
+
url: str = Field(description="Bitbucket URL")
|
|
32
|
+
username: str = Field(description="Bitbucket Username")
|
|
33
|
+
password: SecretStr = Field(description="Bitbucket Password/App Password")
|
|
34
|
+
|
|
35
|
+
@staticmethod
|
|
36
|
+
def check_connection(settings: dict) -> str | None:
|
|
37
|
+
"""
|
|
38
|
+
Check the connection to Bitbucket.
|
|
39
|
+
|
|
40
|
+
Args:
|
|
41
|
+
settings: Dictionary containing Bitbucket configuration
|
|
42
|
+
- url: Bitbucket instance URL (required)
|
|
43
|
+
- username: Bitbucket username (required)
|
|
44
|
+
- password: Password or App Password (required)
|
|
45
|
+
|
|
46
|
+
Returns:
|
|
47
|
+
None if connection successful, error message string if failed
|
|
48
|
+
"""
|
|
49
|
+
import requests
|
|
50
|
+
from requests.auth import HTTPBasicAuth
|
|
51
|
+
|
|
52
|
+
# Validate url
|
|
53
|
+
url = settings.get("url", "").strip()
|
|
54
|
+
if not url:
|
|
55
|
+
return "Bitbucket URL is required"
|
|
56
|
+
|
|
57
|
+
# Normalize URL - remove trailing slashes
|
|
58
|
+
url = url.rstrip("/")
|
|
59
|
+
|
|
60
|
+
# Basic URL validation
|
|
61
|
+
if not url.startswith(("http://", "https://")):
|
|
62
|
+
return "Bitbucket URL must start with http:// or https://"
|
|
63
|
+
|
|
64
|
+
# Validate username
|
|
65
|
+
username = settings.get("username", "").strip()
|
|
66
|
+
if not username:
|
|
67
|
+
return "Bitbucket username is required"
|
|
68
|
+
|
|
69
|
+
# Validate password
|
|
70
|
+
password = settings.get("password")
|
|
71
|
+
if not password:
|
|
72
|
+
return "Bitbucket password is required"
|
|
73
|
+
|
|
74
|
+
# Extract password value if it's a SecretStr
|
|
75
|
+
password_value = password.get_secret_value() if hasattr(password, 'get_secret_value') else password
|
|
76
|
+
|
|
77
|
+
if not password_value or not str(password_value).strip():
|
|
78
|
+
return "Bitbucket password cannot be empty"
|
|
79
|
+
|
|
80
|
+
# Detect if this is Bitbucket Cloud or Server/Data Center
|
|
81
|
+
is_cloud = "bitbucket.org" in url.lower() or "api.bitbucket.org" in url.lower()
|
|
82
|
+
is_correct_bitbucket_domain = "bitbucket" in url.lower()
|
|
83
|
+
|
|
84
|
+
if is_cloud:
|
|
85
|
+
# Bitbucket Cloud: Use API v2.0
|
|
86
|
+
# Endpoint: /2.0/user - returns current authenticated user
|
|
87
|
+
test_url = f"{url}/2.0/user"
|
|
88
|
+
else:
|
|
89
|
+
# Bitbucket Server/Data Center: Use API v1.0
|
|
90
|
+
# Endpoint: /rest/api/1.0/users/{username}
|
|
91
|
+
test_url = f"{url}/rest/api/1.0/users/{username}"
|
|
92
|
+
|
|
93
|
+
try:
|
|
94
|
+
response = requests.get(
|
|
95
|
+
test_url,
|
|
96
|
+
auth=HTTPBasicAuth(username, str(password_value).strip()),
|
|
97
|
+
timeout=10
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
# Check response status
|
|
101
|
+
if response.status_code == 200:
|
|
102
|
+
# Successfully connected and authenticated
|
|
103
|
+
return None
|
|
104
|
+
elif response.status_code == 401:
|
|
105
|
+
return "Authentication failed: invalid username or password"
|
|
106
|
+
elif response.status_code == 403:
|
|
107
|
+
return "Access forbidden: check user permissions"
|
|
108
|
+
elif response.status_code == 404:
|
|
109
|
+
if not is_correct_bitbucket_domain:
|
|
110
|
+
return f"Url you provided is incorrect. Please provide correct server or cloud bitbucket url."
|
|
111
|
+
if is_cloud:
|
|
112
|
+
return "Bitbucket API endpoint not found: please provide the correct bitbucket cloud URL"
|
|
113
|
+
else:
|
|
114
|
+
return "Bitbucket API endpoint not found: please provide the correct bitbucket server URL"
|
|
115
|
+
else:
|
|
116
|
+
return f"Bitbucket API returned status code {response.status_code}"
|
|
117
|
+
|
|
118
|
+
except requests.exceptions.SSLError as e:
|
|
119
|
+
return f"SSL certificate verification failed: {str(e)}"
|
|
120
|
+
except requests.exceptions.ConnectionError:
|
|
121
|
+
return f"Cannot connect to Bitbucket at {url if not is_cloud else 'api.bitbucket.org'}: connection refused"
|
|
122
|
+
except requests.exceptions.Timeout:
|
|
123
|
+
return f"Connection to Bitbucket at {url if not is_cloud else 'api.bitbucket.org'} timed out"
|
|
124
|
+
except requests.exceptions.RequestException as e:
|
|
125
|
+
return f"Error connecting to Bitbucket: {str(e)}"
|
|
126
|
+
except Exception as e:
|
|
127
|
+
return f"Unexpected error: {str(e)}"
|
|
@@ -15,4 +15,4 @@ class BrowserConfiguration(BaseModel):
|
|
|
15
15
|
}
|
|
16
16
|
)
|
|
17
17
|
google_cse_id: str = Field(description="Google CSE id", default=None)
|
|
18
|
-
google_api_key: SecretStr = Field(description="Google API key",
|
|
18
|
+
google_api_key: SecretStr = Field(description="Google API key", json_schema_extra={'secret': True})
|
|
@@ -0,0 +1,132 @@
|
|
|
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": True,
|
|
15
|
+
"subsections": [
|
|
16
|
+
{
|
|
17
|
+
"name": "Basic",
|
|
18
|
+
"fields": ["username", "api_key"]
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "Bearer",
|
|
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
|
+
base_url: str = Field(description="Confluence URL")
|
|
35
|
+
username: Optional[str] = Field(description="Confluence Username", default=None)
|
|
36
|
+
api_key: Optional[SecretStr] = Field(description="Confluence API Key", default=None)
|
|
37
|
+
token: Optional[SecretStr] = Field(description="Confluence Token", default=None)
|
|
38
|
+
|
|
39
|
+
@staticmethod
|
|
40
|
+
def check_connection(settings: dict) -> str | None:
|
|
41
|
+
"""
|
|
42
|
+
Check the connection to Confluence.
|
|
43
|
+
|
|
44
|
+
Args:
|
|
45
|
+
settings: Dictionary containing Confluence configuration
|
|
46
|
+
- base_url: Confluence instance URL (required)
|
|
47
|
+
- username: Username for Basic Auth (optional)
|
|
48
|
+
- api_key: API key/password for Basic Auth (optional)
|
|
49
|
+
- token: Bearer token for authentication (optional)
|
|
50
|
+
|
|
51
|
+
Returns:
|
|
52
|
+
None if connection successful, error message string if failed
|
|
53
|
+
"""
|
|
54
|
+
import requests
|
|
55
|
+
from requests.auth import HTTPBasicAuth
|
|
56
|
+
|
|
57
|
+
# Validate base_url
|
|
58
|
+
base_url = settings.get("base_url", "").strip()
|
|
59
|
+
if not base_url:
|
|
60
|
+
return "Confluence URL is required"
|
|
61
|
+
|
|
62
|
+
# Normalize URL - remove trailing slashes
|
|
63
|
+
base_url = base_url.rstrip("/")
|
|
64
|
+
|
|
65
|
+
# Basic URL validation
|
|
66
|
+
if not base_url.startswith(("http://", "https://")):
|
|
67
|
+
return "Confluence URL must start with http:// or https://"
|
|
68
|
+
|
|
69
|
+
# Check authentication credentials
|
|
70
|
+
username = settings.get("username")
|
|
71
|
+
api_key = settings.get("api_key")
|
|
72
|
+
token = settings.get("token")
|
|
73
|
+
|
|
74
|
+
# Validate authentication - at least one method must be provided
|
|
75
|
+
has_basic_auth = bool(username and api_key)
|
|
76
|
+
has_token = bool(token and str(token).strip())
|
|
77
|
+
|
|
78
|
+
# Determine authentication method
|
|
79
|
+
auth_headers = {}
|
|
80
|
+
auth = None
|
|
81
|
+
|
|
82
|
+
if has_token:
|
|
83
|
+
# Bearer token authentication
|
|
84
|
+
token_value = token.get_secret_value() if hasattr(token, 'get_secret_value') else token
|
|
85
|
+
auth_headers["Authorization"] = f"Bearer {token_value}"
|
|
86
|
+
elif has_basic_auth:
|
|
87
|
+
# Basic authentication
|
|
88
|
+
api_key_value = api_key.get_secret_value() if hasattr(api_key, 'get_secret_value') else api_key
|
|
89
|
+
auth = HTTPBasicAuth(username, api_key_value)
|
|
90
|
+
else:
|
|
91
|
+
return "Authentication required: provide either token or both username and api_key"
|
|
92
|
+
|
|
93
|
+
# Test connection using /rest/api/user/current endpoint
|
|
94
|
+
# This endpoint returns current user info and validates authentication
|
|
95
|
+
test_url = f"{base_url}/rest/api/user/current"
|
|
96
|
+
|
|
97
|
+
try:
|
|
98
|
+
response = requests.get(
|
|
99
|
+
test_url,
|
|
100
|
+
auth=auth,
|
|
101
|
+
headers=auth_headers,
|
|
102
|
+
timeout=10
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
# Check response status
|
|
106
|
+
if response.status_code == 200:
|
|
107
|
+
# Successfully connected and authenticated
|
|
108
|
+
return None
|
|
109
|
+
elif response.status_code == 401:
|
|
110
|
+
# Authentication failed
|
|
111
|
+
if has_token:
|
|
112
|
+
return "Authentication failed: Invalid token"
|
|
113
|
+
else:
|
|
114
|
+
return "Authentication failed: Invalid username or API key"
|
|
115
|
+
elif response.status_code == 403:
|
|
116
|
+
return """Access forbidden: check permissions and verify the credentials you provided.
|
|
117
|
+
Most probably you provided incorrect credentials (user name and api key or token)"""
|
|
118
|
+
elif response.status_code == 404:
|
|
119
|
+
return "Confluence API endpoint not found: verify the Confluence URL"
|
|
120
|
+
else:
|
|
121
|
+
return f"Confluence API returned status code {response.status_code}"
|
|
122
|
+
|
|
123
|
+
except requests.exceptions.SSLError as e:
|
|
124
|
+
return f"SSL certificate verification failed: {str(e)}"
|
|
125
|
+
except requests.exceptions.ConnectionError:
|
|
126
|
+
return f"Cannot connect to Confluence at {base_url}: connection refused"
|
|
127
|
+
except requests.exceptions.Timeout:
|
|
128
|
+
return f"Connection to Confluence at {base_url} timed out"
|
|
129
|
+
except requests.exceptions.RequestException as e:
|
|
130
|
+
return f"Error connecting to Confluence: {str(e)}"
|
|
131
|
+
except Exception as e:
|
|
132
|
+
return f"Unexpected error: {str(e)}"
|
|
@@ -16,10 +16,6 @@ class FigmaConfiguration(BaseModel):
|
|
|
16
16
|
{
|
|
17
17
|
"name": "Token",
|
|
18
18
|
"fields": ["token"]
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"name": "Oath2",
|
|
22
|
-
"fields": ["oauth2"]
|
|
23
19
|
}
|
|
24
20
|
]
|
|
25
21
|
}
|
|
@@ -32,4 +28,3 @@ class FigmaConfiguration(BaseModel):
|
|
|
32
28
|
}
|
|
33
29
|
)
|
|
34
30
|
token: Optional[SecretStr] = Field(description="Figma Token", json_schema_extra={"secret": True}, default=None)
|
|
35
|
-
oauth2: Optional[SecretStr] = Field(description="OAuth2 Token", json_schema_extra={"secret": True}, default=None)
|
|
@@ -84,4 +84,68 @@ class GithubConfiguration(BaseModel):
|
|
|
84
84
|
"Authentication is misconfigured: provide either Token (access_token), "
|
|
85
85
|
"Password (username + password), App private key (app_id + app_private_key), "
|
|
86
86
|
"or leave all blank for anonymous access."
|
|
87
|
-
)
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
@staticmethod
|
|
90
|
+
def check_connection(settings: dict) -> str | None:
|
|
91
|
+
"""
|
|
92
|
+
Check GitHub connection using provided settings.
|
|
93
|
+
Returns None if connection is successful, error message otherwise.
|
|
94
|
+
"""
|
|
95
|
+
import requests
|
|
96
|
+
from requests.auth import HTTPBasicAuth
|
|
97
|
+
import jwt
|
|
98
|
+
import time
|
|
99
|
+
|
|
100
|
+
base_url = settings.get('base_url', 'https://api.github.com')
|
|
101
|
+
access_token = settings.get('access_token')
|
|
102
|
+
username = settings.get('username')
|
|
103
|
+
password = settings.get('password')
|
|
104
|
+
app_id = settings.get('app_id')
|
|
105
|
+
app_private_key = settings.get('app_private_key')
|
|
106
|
+
|
|
107
|
+
# if all auth methods are None or empty, allow anonymous access
|
|
108
|
+
if not any([access_token, (username and password), (app_id and app_private_key)]):
|
|
109
|
+
return None
|
|
110
|
+
|
|
111
|
+
headers = {'Accept': 'application/vnd.github.v3+json'}
|
|
112
|
+
auth = None
|
|
113
|
+
|
|
114
|
+
try:
|
|
115
|
+
# Determine authentication method
|
|
116
|
+
if access_token:
|
|
117
|
+
headers['Authorization'] = f'token {access_token}'
|
|
118
|
+
elif username and password:
|
|
119
|
+
auth = HTTPBasicAuth(username, password)
|
|
120
|
+
elif app_id and app_private_key:
|
|
121
|
+
# Generate JWT for GitHub App authentication
|
|
122
|
+
payload = {
|
|
123
|
+
'iat': int(time.time()),
|
|
124
|
+
'exp': int(time.time()) + 600, # 10 minutes
|
|
125
|
+
'iss': app_id
|
|
126
|
+
}
|
|
127
|
+
jwt_token = jwt.encode(payload, app_private_key, algorithm='RS256')
|
|
128
|
+
headers['Authorization'] = f'Bearer {jwt_token}'
|
|
129
|
+
|
|
130
|
+
# Test connection with user endpoint
|
|
131
|
+
response = requests.get(f'{base_url}/user', headers=headers, auth=auth, timeout=10)
|
|
132
|
+
|
|
133
|
+
if response.status_code == 200:
|
|
134
|
+
return None
|
|
135
|
+
elif response.status_code == 401:
|
|
136
|
+
return "Authentication failed: Invalid credentials"
|
|
137
|
+
elif response.status_code == 403:
|
|
138
|
+
return "Access forbidden: Check your permissions"
|
|
139
|
+
elif response.status_code == 404:
|
|
140
|
+
return "GitHub API endpoint not found"
|
|
141
|
+
else:
|
|
142
|
+
return f"Connection failed with status {response.status_code}: {response.text}"
|
|
143
|
+
|
|
144
|
+
except requests.exceptions.ConnectionError:
|
|
145
|
+
return "Connection error: Unable to reach GitHub API"
|
|
146
|
+
except requests.exceptions.Timeout:
|
|
147
|
+
return "Connection timeout: GitHub API did not respond in time"
|
|
148
|
+
except jwt.InvalidKeyError:
|
|
149
|
+
return "Invalid private key format for GitHub App authentication"
|
|
150
|
+
except Exception as e:
|
|
151
|
+
return f"Unexpected error: {str(e)}"
|
|
@@ -0,0 +1,110 @@
|
|
|
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
|
+
url: str = Field(description="GitLab URL")
|
|
31
|
+
private_token: SecretStr = Field(description="GitLab private token")
|
|
32
|
+
|
|
33
|
+
@staticmethod
|
|
34
|
+
def check_connection(settings: dict) -> str | None:
|
|
35
|
+
"""
|
|
36
|
+
Check the connection to GitLab.
|
|
37
|
+
|
|
38
|
+
Args:
|
|
39
|
+
settings: Dictionary containing GitLab configuration
|
|
40
|
+
- url: GitLab instance URL (required)
|
|
41
|
+
- private_token: GitLab private token for authentication (required)
|
|
42
|
+
|
|
43
|
+
Returns:
|
|
44
|
+
None if connection successful, error message string if failed
|
|
45
|
+
"""
|
|
46
|
+
import requests
|
|
47
|
+
|
|
48
|
+
# Validate url
|
|
49
|
+
url = settings.get("url", "").strip()
|
|
50
|
+
if not url:
|
|
51
|
+
return "GitLab URL is required"
|
|
52
|
+
|
|
53
|
+
# Normalize URL - remove trailing slashes
|
|
54
|
+
url = url.rstrip("/")
|
|
55
|
+
|
|
56
|
+
# Basic URL validation
|
|
57
|
+
if not url.startswith(("http://", "https://")):
|
|
58
|
+
return "GitLab URL must start with http:// or https://"
|
|
59
|
+
|
|
60
|
+
# Validate private_token
|
|
61
|
+
private_token = settings.get("private_token")
|
|
62
|
+
if not private_token:
|
|
63
|
+
return "GitLab private token is required"
|
|
64
|
+
|
|
65
|
+
# Extract token value if it's a SecretStr
|
|
66
|
+
token_value = private_token.get_secret_value() if hasattr(private_token, 'get_secret_value') else private_token
|
|
67
|
+
|
|
68
|
+
if not token_value or not str(token_value).strip():
|
|
69
|
+
return "GitLab private token cannot be empty"
|
|
70
|
+
|
|
71
|
+
# Test connection using /api/v4/user endpoint
|
|
72
|
+
# This endpoint returns current authenticated user info
|
|
73
|
+
test_url = f"{url}/api/v4/user"
|
|
74
|
+
|
|
75
|
+
# GitLab supports both PRIVATE-TOKEN header and Authorization Bearer
|
|
76
|
+
# Using PRIVATE-TOKEN is GitLab-specific and more explicit
|
|
77
|
+
headers = {
|
|
78
|
+
"PRIVATE-TOKEN": str(token_value).strip()
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
try:
|
|
82
|
+
response = requests.get(
|
|
83
|
+
test_url,
|
|
84
|
+
headers=headers,
|
|
85
|
+
timeout=10
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
# Check response status
|
|
89
|
+
if response.status_code == 200:
|
|
90
|
+
# Successfully connected and authenticated
|
|
91
|
+
return None
|
|
92
|
+
elif response.status_code == 401:
|
|
93
|
+
return "Authentication failed: invalid private token"
|
|
94
|
+
elif response.status_code == 403:
|
|
95
|
+
return "Access forbidden: token lacks required permissions"
|
|
96
|
+
elif response.status_code == 404:
|
|
97
|
+
return "GitLab API endpoint not found: verify the GitLab URL"
|
|
98
|
+
else:
|
|
99
|
+
return f"GitLab API returned status code {response.status_code}"
|
|
100
|
+
|
|
101
|
+
except requests.exceptions.SSLError as e:
|
|
102
|
+
return f"SSL certificate verification failed: {str(e)}"
|
|
103
|
+
except requests.exceptions.ConnectionError:
|
|
104
|
+
return f"Cannot connect to GitLab at {url}: connection refused"
|
|
105
|
+
except requests.exceptions.Timeout:
|
|
106
|
+
return f"Connection to GitLab at {url} timed out"
|
|
107
|
+
except requests.exceptions.RequestException as e:
|
|
108
|
+
return f"Error connecting to GitLab: {str(e)}"
|
|
109
|
+
except Exception as e:
|
|
110
|
+
return f"Unexpected error: {str(e)}"
|