alita-sdk 0.3.207__tar.gz → 0.3.208__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.
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/PKG-INFO +1 -1
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/clients/client.py +111 -11
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +82 -11
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/ado/wiki/ado_wrapper.py +62 -2
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +2 -1
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/sharepoint/api_wrapper.py +13 -4
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk.egg-info/PKG-INFO +1 -1
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/pyproject.toml +1 -1
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/LICENSE +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/README.md +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/community/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/community/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/clients/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/clients/artifact.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/clients/datasource.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/clients/prompt.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/assistant.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/constants.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/indexer.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/langraph_agent.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/store_manager.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/git.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/log.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/state.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/llms/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/llms/preloaded.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/toolkits/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/toolkits/application.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/toolkits/artifact.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/toolkits/datasource.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/toolkits/prompt.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/toolkits/tools.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/agent.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/application.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/artifact.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/datasource.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/echo.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/function.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/llm.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/loop.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/loop_output.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/prompt.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/router.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/tools/vectorstore.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/utils/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/utils/constants.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/utils/evaluate.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/utils/logging.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/utils/streamlit.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/utils/toolkit_runtime.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/utils/toolkit_utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/utils/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/ado/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/ado/repos/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/ado/test_plan/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/ado/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/ado/wiki/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/ado/work_item/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/aws/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/aws/delta_lake/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/aws/delta_lake/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/aws/delta_lake/schemas.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/aws/delta_lake/tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/azure_ai/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/azure_ai/search/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/base/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/base/tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/bitbucket/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/bitbucket/tools.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/browser/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/browser/crawler.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/browser/google_search_rag.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/browser/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/browser/wiki.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/tools.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/carrier/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/constants.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/models.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/cloud/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/code/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/code/linter/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/code/sonar/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/confluence/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/confluence/loader.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/confluence/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/elastic/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/elitea_base.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/figma/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/figma/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/github/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/github/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/github/github_client.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/github/schemas.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/github/tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/github/tool_prompts.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/gitlab/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/gitlab/tools.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/gitlab/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/gmail/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/gmail/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/google/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/google/bigquery/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/google/bigquery/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/google/bigquery/schemas.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/google/bigquery/tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/google_places/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/jira/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/jira/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/keycloak/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/llm/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/llm/img_utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/llm/llm_utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/localgit/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/localgit/local_git.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/localgit/tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/memory/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/ocr/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/ocr/text_detection.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/openapi/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/postman/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/postman/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/postman/postman_analysis.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pptx/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/qtest/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/qtest/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/qtest/tool.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/rally/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/rally/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/report_portal/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/salesforce/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/salesforce/model.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/servicenow/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/sharepoint/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/sharepoint/utils.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/slack/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/slack/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/sql/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/sql/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/sql/models.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/testio/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/testio/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/testrail/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/utils/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/utils/content_parser.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/xray/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/xray/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/yagmail/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/zephyr/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/zephyr/rest_client.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/zephyr_enterprise/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/zephyr_squad/__init__.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk.egg-info/SOURCES.txt +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk.egg-info/dependency_links.txt +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk.egg-info/requires.txt +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk.egg-info/top_level.txt +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/setup.cfg +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/tests/test_ado_analysis.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/tests/test_github_analysis.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/tests/test_gitlab_analysis.py +0 -0
- {alita_sdk-0.3.207 → alita_sdk-0.3.208}/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.
|
3
|
+
Version: 0.3.208
|
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
|
@@ -634,27 +634,112 @@ class AlitaClient:
|
|
634
634
|
"execution_time_seconds": 0.0
|
635
635
|
}
|
636
636
|
|
637
|
-
# Find the specific tool
|
637
|
+
# Find the specific tool with smart name matching
|
638
638
|
target_tool = None
|
639
|
+
toolkit_name = toolkit_config.get('toolkit_name', '').lower()
|
640
|
+
|
641
|
+
# Helper function to extract base tool name from full name
|
642
|
+
def extract_base_tool_name(full_name: str) -> str:
|
643
|
+
"""Extract base tool name from toolkit___toolname format."""
|
644
|
+
if '___' in full_name:
|
645
|
+
return full_name.split('___', 1)[1]
|
646
|
+
return full_name
|
647
|
+
|
648
|
+
# Helper function to create full tool name
|
649
|
+
def create_full_tool_name(base_name: str, toolkit_name: str) -> str:
|
650
|
+
"""Create full tool name in toolkit___toolname format."""
|
651
|
+
return f"{toolkit_name}___{base_name}"
|
652
|
+
|
653
|
+
# Normalize tool_name to handle both formats
|
654
|
+
# If user provides toolkit___toolname, extract just the tool name
|
655
|
+
# If user provides just toolname, keep as is
|
656
|
+
if '___' in tool_name:
|
657
|
+
normalized_tool_name = extract_base_tool_name(tool_name)
|
658
|
+
logger.info(f"Extracted base tool name '{normalized_tool_name}' from full name '{tool_name}'")
|
659
|
+
else:
|
660
|
+
normalized_tool_name = tool_name
|
661
|
+
|
662
|
+
# Try multiple matching strategies
|
639
663
|
for tool in tools:
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
elif hasattr(tool, 'func') and hasattr(tool.func, '__name__')
|
644
|
-
|
645
|
-
|
664
|
+
tool_name_attr = None
|
665
|
+
if hasattr(tool, 'name'):
|
666
|
+
tool_name_attr = tool.name
|
667
|
+
elif hasattr(tool, 'func') and hasattr(tool.func, '__name__'):
|
668
|
+
tool_name_attr = tool.func.__name__
|
669
|
+
|
670
|
+
if tool_name_attr:
|
671
|
+
# Strategy 1: Exact match with provided name (handles both formats)
|
672
|
+
if tool_name_attr == tool_name:
|
673
|
+
target_tool = tool
|
674
|
+
logger.info(f"Found tool using exact match: '{tool_name_attr}'")
|
675
|
+
break
|
676
|
+
|
677
|
+
# Strategy 2: Match normalized name with toolkit prefix
|
678
|
+
expected_full_name = create_full_tool_name(normalized_tool_name, toolkit_name)
|
679
|
+
if tool_name_attr == expected_full_name:
|
680
|
+
target_tool = tool
|
681
|
+
logger.info(f"Found tool using toolkit prefix mapping: '{tool_name_attr}' for normalized name '{normalized_tool_name}'")
|
682
|
+
break
|
683
|
+
|
684
|
+
# Strategy 3: Match base names (extract from both sides)
|
685
|
+
base_tool_name = extract_base_tool_name(tool_name_attr)
|
686
|
+
if base_tool_name == normalized_tool_name:
|
687
|
+
target_tool = tool
|
688
|
+
logger.info(f"Found tool using base name mapping: '{tool_name_attr}' -> '{base_tool_name}' matches '{normalized_tool_name}'")
|
689
|
+
break
|
690
|
+
|
691
|
+
# Strategy 4: Match provided name with base tool name (reverse lookup)
|
692
|
+
if tool_name_attr == normalized_tool_name:
|
693
|
+
target_tool = tool
|
694
|
+
logger.info(f"Found tool using direct name match: '{tool_name_attr}' matches normalized '{normalized_tool_name}'")
|
695
|
+
break
|
646
696
|
|
647
697
|
if target_tool is None:
|
648
698
|
available_tools = []
|
699
|
+
base_available_tools = []
|
700
|
+
full_available_tools = []
|
701
|
+
|
649
702
|
for tool in tools:
|
703
|
+
tool_name_attr = None
|
650
704
|
if hasattr(tool, 'name'):
|
651
|
-
|
705
|
+
tool_name_attr = tool.name
|
652
706
|
elif hasattr(tool, 'func') and hasattr(tool.func, '__name__'):
|
653
|
-
|
707
|
+
tool_name_attr = tool.func.__name__
|
708
|
+
|
709
|
+
if tool_name_attr:
|
710
|
+
available_tools.append(tool_name_attr)
|
711
|
+
|
712
|
+
# Extract base name for user-friendly error
|
713
|
+
base_name = extract_base_tool_name(tool_name_attr)
|
714
|
+
if base_name not in base_available_tools:
|
715
|
+
base_available_tools.append(base_name)
|
716
|
+
|
717
|
+
# Track full names separately
|
718
|
+
if '___' in tool_name_attr:
|
719
|
+
full_available_tools.append(tool_name_attr)
|
720
|
+
|
721
|
+
# Create comprehensive error message
|
722
|
+
error_msg = f"Tool '{tool_name}' not found in toolkit '{toolkit_config.get('toolkit_name')}'."
|
723
|
+
|
724
|
+
if base_available_tools and full_available_tools:
|
725
|
+
error_msg += f" Available tools: {base_available_tools} (base names) or {full_available_tools} (full names)"
|
726
|
+
elif base_available_tools:
|
727
|
+
error_msg += f" Available tools: {base_available_tools}"
|
728
|
+
elif available_tools:
|
729
|
+
error_msg += f" Available tools: {available_tools}"
|
730
|
+
else:
|
731
|
+
error_msg += " No tools found in the toolkit."
|
732
|
+
|
733
|
+
# Add helpful hint about naming conventions
|
734
|
+
if '___' in tool_name:
|
735
|
+
error_msg += f" Note: You provided a full name '{tool_name}'. Try using just the base name '{extract_base_tool_name(tool_name)}'."
|
736
|
+
elif full_available_tools:
|
737
|
+
possible_full_name = create_full_tool_name(tool_name, toolkit_name)
|
738
|
+
error_msg += f" Note: You provided a base name '{tool_name}'. The full name might be '{possible_full_name}'."
|
654
739
|
|
655
740
|
return {
|
656
741
|
"success": False,
|
657
|
-
"error":
|
742
|
+
"error": error_msg,
|
658
743
|
"tool_name": tool_name,
|
659
744
|
"toolkit_config": toolkit_config,
|
660
745
|
"llm_model": llm_model,
|
@@ -664,7 +749,22 @@ class AlitaClient:
|
|
664
749
|
|
665
750
|
# Execute the tool with callback support
|
666
751
|
try:
|
667
|
-
|
752
|
+
# Log which tool was found and how
|
753
|
+
actual_tool_name = getattr(target_tool, 'name', None) or getattr(target_tool.func, '__name__', 'unknown')
|
754
|
+
|
755
|
+
# Determine which matching strategy was used
|
756
|
+
if actual_tool_name == tool_name:
|
757
|
+
logger.info(f"Found tool '{tool_name}' using exact match")
|
758
|
+
elif actual_tool_name == create_full_tool_name(normalized_tool_name, toolkit_name):
|
759
|
+
logger.info(f"Found tool '{tool_name}' using toolkit prefix mapping ('{actual_tool_name}' for normalized '{normalized_tool_name}')")
|
760
|
+
elif extract_base_tool_name(actual_tool_name) == normalized_tool_name:
|
761
|
+
logger.info(f"Found tool '{tool_name}' using base name mapping ('{actual_tool_name}' -> '{extract_base_tool_name(actual_tool_name)}')")
|
762
|
+
elif actual_tool_name == normalized_tool_name:
|
763
|
+
logger.info(f"Found tool '{tool_name}' using direct normalized name match ('{actual_tool_name}')")
|
764
|
+
else:
|
765
|
+
logger.info(f"Found tool '{tool_name}' using fallback matching ('{actual_tool_name}')")
|
766
|
+
|
767
|
+
logger.info(f"Executing tool '{tool_name}' (internal name: '{actual_tool_name}') with parameters: {tool_params}")
|
668
768
|
|
669
769
|
# Start timing the tool execution
|
670
770
|
start_time = time.time()
|
@@ -1,7 +1,10 @@
|
|
1
1
|
import json
|
2
2
|
import logging
|
3
|
-
from typing import Optional
|
3
|
+
from typing import Any, Dict, Generator, List, Optional
|
4
4
|
|
5
|
+
from langchain_core.documents import Document
|
6
|
+
|
7
|
+
from alita_sdk.tools.elitea_base import BaseIndexParams
|
5
8
|
from azure.devops.connection import Connection
|
6
9
|
from azure.devops.v7_0.test_plan.models import TestPlanCreateParams, TestSuiteCreateParams, \
|
7
10
|
SuiteTestCaseCreateUpdateParameters
|
@@ -13,7 +16,11 @@ from pydantic.fields import FieldInfo as Field
|
|
13
16
|
import xml.etree.ElementTree as ET
|
14
17
|
|
15
18
|
from ..work_item import AzureDevOpsApiWrapper
|
16
|
-
from ...elitea_base import
|
19
|
+
from ...elitea_base import BaseVectorStoreToolApiWrapper, extend_with_vector_tools
|
20
|
+
try:
|
21
|
+
from alita_sdk.runtime.langchain.interfaces.llm_processor import get_embeddings
|
22
|
+
except ImportError:
|
23
|
+
from alita_sdk.langchain.interfaces.llm_processor import get_embeddings
|
17
24
|
|
18
25
|
logger = logging.getLogger(__name__)
|
19
26
|
|
@@ -96,7 +103,6 @@ TestCaseAddModel = create_model(
|
|
96
103
|
suite_id=(int, Field(description="ID of the test suite to which test cases are to be added"))
|
97
104
|
)
|
98
105
|
|
99
|
-
|
100
106
|
test_steps_description = """Json or XML array string with test steps.
|
101
107
|
Json example: [{"stepNumber": 1, "action": "Some action", "expectedResult": "Some expectation"},...]
|
102
108
|
XML example:
|
@@ -158,7 +164,19 @@ TestCasesGetModel = create_model(
|
|
158
164
|
suite_id=(int, Field(description="ID of the test suite for which test cases are requested"))
|
159
165
|
)
|
160
166
|
|
161
|
-
|
167
|
+
# Schema for indexing ADO Wiki pages into vector store
|
168
|
+
indexData = create_model(
|
169
|
+
"indexData",
|
170
|
+
__base__=BaseIndexParams,
|
171
|
+
plan_id=(int, Field(description="ID of the test plan for which test cases are requested")),
|
172
|
+
suite_ids=(list[int], Field(description="List of test suite IDs for which test cases are requested (can be empty)")),
|
173
|
+
progress_step=(Optional[int], Field(default=None, ge=0, le=100,
|
174
|
+
description="Optional step size for progress reporting during indexing")),
|
175
|
+
clean_index=(Optional[bool], Field(default=False,
|
176
|
+
description="Optional flag to enforce clean existing index before indexing new data")),
|
177
|
+
)
|
178
|
+
|
179
|
+
class TestPlanApiWrapper(BaseVectorStoreToolApiWrapper):
|
162
180
|
__test__ = False
|
163
181
|
organization_url: str
|
164
182
|
project: str
|
@@ -166,6 +184,13 @@ class TestPlanApiWrapper(BaseToolApiWrapper):
|
|
166
184
|
limit: Optional[int] = 5
|
167
185
|
_client: Optional[TestPlanClient] = PrivateAttr()
|
168
186
|
|
187
|
+
llm: Any = None
|
188
|
+
connection_string: Optional[SecretStr] = None
|
189
|
+
collection_name: Optional[str] = None
|
190
|
+
embedding_model: Optional[str] = "HuggingFaceEmbeddings"
|
191
|
+
embedding_model_params: Optional[Dict[str, Any]] = {"model_name": "sentence-transformers/all-MiniLM-L6-v2"}
|
192
|
+
vectorstore_type: Optional[str] = "PGVector"
|
193
|
+
|
169
194
|
class Config:
|
170
195
|
arbitrary_types_allowed = True
|
171
196
|
|
@@ -250,8 +275,10 @@ class TestPlanApiWrapper(BaseToolApiWrapper):
|
|
250
275
|
try:
|
251
276
|
if isinstance(suite_test_case_create_update_parameters, str):
|
252
277
|
suite_test_case_create_update_parameters = json.loads(suite_test_case_create_update_parameters)
|
253
|
-
suite_test_case_create_update_params_obj = [SuiteTestCaseCreateUpdateParameters(**param) for param in
|
254
|
-
|
278
|
+
suite_test_case_create_update_params_obj = [SuiteTestCaseCreateUpdateParameters(**param) for param in
|
279
|
+
suite_test_case_create_update_parameters]
|
280
|
+
test_cases = self._client.add_test_cases_to_suite(suite_test_case_create_update_params_obj, self.project,
|
281
|
+
plan_id, suite_id)
|
255
282
|
return [test_case.as_dict() for test_case in test_cases]
|
256
283
|
except Exception as e:
|
257
284
|
logger.error(f"Error adding test case: {e}")
|
@@ -268,10 +295,11 @@ class TestPlanApiWrapper(BaseToolApiWrapper):
|
|
268
295
|
test_steps=test_case['test_steps'],
|
269
296
|
test_steps_format=test_case['test_steps_format']) for test_case in test_cases]
|
270
297
|
|
271
|
-
|
272
|
-
|
298
|
+
def create_test_case(self, plan_id: int, suite_id: int, title: str, description: str, test_steps: str,
|
299
|
+
test_steps_format: str = 'json'):
|
273
300
|
"""Creates a new test case in specified suite in Azure DevOps."""
|
274
|
-
work_item_wrapper = AzureDevOpsApiWrapper(organization_url=self.organization_url,
|
301
|
+
work_item_wrapper = AzureDevOpsApiWrapper(organization_url=self.organization_url,
|
302
|
+
token=self.token.get_secret_value(), project=self.project)
|
275
303
|
if test_steps_format == 'json':
|
276
304
|
steps_xml = self.get_test_steps_xml(json.loads(test_steps))
|
277
305
|
elif test_steps_format == 'xml':
|
@@ -279,8 +307,9 @@ class TestPlanApiWrapper(BaseToolApiWrapper):
|
|
279
307
|
else:
|
280
308
|
return ToolException("Unknown test steps format: " + test_steps_format)
|
281
309
|
work_item_json = self.build_ado_test_case(title, description, steps_xml)
|
282
|
-
created_work_item_id =
|
283
|
-
|
310
|
+
created_work_item_id = \
|
311
|
+
work_item_wrapper.create_work_item(work_item_json=json.dumps(work_item_json), wi_type="Test Case")['id']
|
312
|
+
return self.add_test_case([{"work_item": {"id": created_work_item_id}}], plan_id, suite_id)
|
284
313
|
|
285
314
|
def build_ado_test_case(self, title, description, steps_xml):
|
286
315
|
"""
|
@@ -355,6 +384,42 @@ class TestPlanApiWrapper(BaseToolApiWrapper):
|
|
355
384
|
logger.error(f"Error getting test cases: {e}")
|
356
385
|
return ToolException(f"Error getting test cases: {e}")
|
357
386
|
|
387
|
+
def index_data(self,
|
388
|
+
plan_id: str,
|
389
|
+
suite_ids: list[str] = [],
|
390
|
+
collection_suffix: str = '',
|
391
|
+
progress_step: int = None,
|
392
|
+
clean_index: bool = False
|
393
|
+
):
|
394
|
+
"""Load ADO TestCases into the vector store."""
|
395
|
+
docs = self._base_loader(plan_id, suite_ids)
|
396
|
+
embedding = get_embeddings(self.embedding_model, self.embedding_model_params)
|
397
|
+
vs = self._init_vector_store(collection_suffix, embeddings=embedding)
|
398
|
+
return vs.index_documents(docs, progress_step=progress_step, clean_index=clean_index)
|
399
|
+
|
400
|
+
def _base_loader(self, plan_id: str, suite_ids: Optional[list[str]] = []) -> Generator[Document, None, None]:
|
401
|
+
cases = []
|
402
|
+
for sid in suite_ids:
|
403
|
+
cases.extend(self.get_test_cases(plan_id, sid))
|
404
|
+
#
|
405
|
+
for case in cases:
|
406
|
+
field_dicts = case.get('work_item', {}).get('work_item_fields', [])
|
407
|
+
data = {k: v for d in field_dicts for k, v in d.items()}
|
408
|
+
yield Document(
|
409
|
+
page_content=data.get('Microsoft.VSTS.TCM.Steps', ''),
|
410
|
+
metadata={
|
411
|
+
'id': case.get('work_item', {}).get('id', ''),
|
412
|
+
'title': case.get('work_item', {}).get('name', ''),
|
413
|
+
'plan_id': case.get('test_plan', {}).get('id', ''),
|
414
|
+
'suite_id': case.get('test_suite', {}).get('id', ''),
|
415
|
+
'description': data.get('System.Description', ''),
|
416
|
+
'updated_on': data.get('System.Rev', ''),
|
417
|
+
})
|
418
|
+
|
419
|
+
def _process_document(self, document: Document) -> Generator[Document, None, None]:
|
420
|
+
yield document
|
421
|
+
|
422
|
+
@extend_with_vector_tools
|
358
423
|
def get_available_tools(self):
|
359
424
|
"""Return a list of available tools."""
|
360
425
|
return [
|
@@ -423,5 +488,11 @@ class TestPlanApiWrapper(BaseToolApiWrapper):
|
|
423
488
|
"description": self.get_test_cases.__doc__,
|
424
489
|
"args_schema": TestCasesGetModel,
|
425
490
|
"ref": self.get_test_cases,
|
491
|
+
},
|
492
|
+
{
|
493
|
+
"name": "index_data",
|
494
|
+
"ref": self.index_data,
|
495
|
+
"description": self.index_data.__doc__,
|
496
|
+
"args_schema": indexData,
|
426
497
|
}
|
427
498
|
]
|
@@ -1,6 +1,10 @@
|
|
1
1
|
import logging
|
2
|
-
from typing import Optional
|
2
|
+
from typing import Any, Dict, Generator, List, Optional
|
3
3
|
|
4
|
+
from alita_sdk.tools.elitea_base import BaseIndexParams
|
5
|
+
from langchain_core.documents import Document
|
6
|
+
|
7
|
+
from ...elitea_base import BaseVectorStoreToolApiWrapper, extend_with_vector_tools
|
4
8
|
from azure.devops.connection import Connection
|
5
9
|
from azure.devops.exceptions import AzureDevOpsServiceError
|
6
10
|
from azure.devops.v7_0.core import CoreClient
|
@@ -12,6 +16,10 @@ from msrest.authentication import BasicAuthentication
|
|
12
16
|
from pydantic import create_model, PrivateAttr, SecretStr
|
13
17
|
from pydantic import model_validator
|
14
18
|
from pydantic.fields import Field
|
19
|
+
try:
|
20
|
+
from alita_sdk.runtime.langchain.interfaces.llm_processor import get_embeddings
|
21
|
+
except ImportError:
|
22
|
+
from alita_sdk.langchain.interfaces.llm_processor import get_embeddings
|
15
23
|
|
16
24
|
from ...elitea_base import BaseToolApiWrapper
|
17
25
|
|
@@ -52,14 +60,32 @@ RenamePageInput = create_model(
|
|
52
60
|
version_type=(Optional[str], Field(description="Version type (branch, tag, or commit). Determines how Id is interpreted", default="branch"))
|
53
61
|
)
|
54
62
|
|
63
|
+
# Schema for indexing ADO Wiki pages into vector store
|
64
|
+
indexData = create_model(
|
65
|
+
"indexData",
|
66
|
+
__base__=BaseIndexParams,
|
67
|
+
wiki_identifier=(str, Field(description="Wiki identifier to index, e.g., 'ABCProject.wiki'")),
|
68
|
+
progress_step=(Optional[int], Field(default=None, ge=0, le=100,
|
69
|
+
description="Optional step size for progress reporting during indexing")),
|
70
|
+
clean_index=(Optional[bool], Field(default=False,
|
71
|
+
description="Optional flag to enforce clean existing index before indexing new data")),
|
72
|
+
)
|
73
|
+
|
55
74
|
|
56
|
-
class AzureDevOpsApiWrapper(
|
75
|
+
class AzureDevOpsApiWrapper(BaseVectorStoreToolApiWrapper):
|
57
76
|
organization_url: str
|
58
77
|
project: str
|
59
78
|
token: SecretStr
|
60
79
|
_client: Optional[WikiClient] = PrivateAttr() # Private attribute for the wiki client
|
61
80
|
_core_client: Optional[CoreClient] = PrivateAttr() # Private attribute for the CoreClient client
|
62
81
|
|
82
|
+
llm: Any = None
|
83
|
+
connection_string: Optional[SecretStr] = None
|
84
|
+
collection_name: Optional[str] = None
|
85
|
+
embedding_model: Optional[str] = "HuggingFaceEmbeddings"
|
86
|
+
embedding_model_params: Optional[Dict[str, Any]] = {"model_name": "sentence-transformers/all-MiniLM-L6-v2"}
|
87
|
+
vectorstore_type: Optional[str] = "PGVector"
|
88
|
+
|
63
89
|
class Config:
|
64
90
|
arbitrary_types_allowed = True # Allow arbitrary types (e.g., WorkItemTrackingClient)
|
65
91
|
|
@@ -216,6 +242,34 @@ class AzureDevOpsApiWrapper(BaseToolApiWrapper):
|
|
216
242
|
logger.error(f"Unable to modify wiki page: {str(e)}")
|
217
243
|
return ToolException(f"Unable to modify wiki page: {str(e)}")
|
218
244
|
|
245
|
+
def index_data(
|
246
|
+
self,
|
247
|
+
wiki_identifier: str,
|
248
|
+
collection_suffix: str = '',
|
249
|
+
progress_step: int = None,
|
250
|
+
clean_index: bool = False
|
251
|
+
):
|
252
|
+
"""Load ADO Wiki pages into the vector store."""
|
253
|
+
docs = self._base_loader(wiki_identifier)
|
254
|
+
embedding = get_embeddings(self.embedding_model, self.embedding_model_params)
|
255
|
+
vs = self._init_vector_store(collection_suffix, embeddings=embedding)
|
256
|
+
return vs.index_documents(docs, progress_step=progress_step, clean_index=clean_index)
|
257
|
+
|
258
|
+
def _base_loader(self, wiki_identifier: str) -> Generator[Document, None, None]:
|
259
|
+
pages = self._client.get_pages_batch(pages_batch_request={}, project=self.project, wiki_identifier=wiki_identifier)
|
260
|
+
#
|
261
|
+
for page in pages:
|
262
|
+
content = self._client.get_page_by_id(project=self.project, wiki_identifier=wiki_identifier, id=page.id, include_content=True).page.content
|
263
|
+
yield Document(page_content=content, metadata={
|
264
|
+
'id': page.id,
|
265
|
+
'path': page.path,
|
266
|
+
'updated_on': ''
|
267
|
+
})
|
268
|
+
|
269
|
+
def _process_document(self, document: Document) -> Generator[Document, None, None]:
|
270
|
+
yield document
|
271
|
+
|
272
|
+
@extend_with_vector_tools
|
219
273
|
def get_available_tools(self):
|
220
274
|
"""Return a list of available tools."""
|
221
275
|
return [
|
@@ -260,5 +314,11 @@ class AzureDevOpsApiWrapper(BaseToolApiWrapper):
|
|
260
314
|
"description": self.rename_wiki_page.__doc__,
|
261
315
|
"args_schema": RenamePageInput,
|
262
316
|
"ref": self.rename_wiki_page,
|
317
|
+
},
|
318
|
+
{
|
319
|
+
"name": "index_data",
|
320
|
+
"ref": self.index_data,
|
321
|
+
"description": self.index_data.__doc__,
|
322
|
+
"args_schema": indexData,
|
263
323
|
}
|
264
324
|
]
|
{alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py
RENAMED
@@ -1,12 +1,13 @@
|
|
1
1
|
from typing import Generator
|
2
2
|
from langchain.schema import Document
|
3
|
+
from langchain_core.documents import Document
|
3
4
|
from langchain_text_splitters import MarkdownHeaderTextSplitter
|
4
5
|
from langchain.text_splitter import TokenTextSplitter
|
5
6
|
from ..utils import tiktoken_length
|
6
7
|
from copy import deepcopy as copy
|
7
8
|
|
8
9
|
|
9
|
-
def markdown_chunker(file_content_generator: Generator[Document, None, None], config: dict, *args, **kwargs) -> Generator[
|
10
|
+
def markdown_chunker(file_content_generator: Generator[Document, None, None], config: dict, *args, **kwargs) -> Generator[Document, None, None]:
|
10
11
|
strip_header = config.get("strip_header", False)
|
11
12
|
return_each_line = config.get("return_each_line", False)
|
12
13
|
headers_to_split_on = config.get("headers_to_split_on", [])
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import json
|
2
2
|
import logging
|
3
|
-
from typing import Optional, List, Dict, Any
|
3
|
+
from typing import Optional, List, Dict, Any, Generator
|
4
4
|
|
5
|
+
from ..chunkers import markdown_chunker
|
5
6
|
from ..utils.content_parser import parse_file_content
|
6
7
|
from langchain_core.tools import ToolException
|
7
8
|
from office365.runtime.auth.client_credential import ClientCredential
|
@@ -184,11 +185,19 @@ class SharepointApiWrapper(BaseVectorStoreToolApiWrapper):
|
|
184
185
|
vs = self._init_vector_store(collection_suffix, embeddings=embedding)
|
185
186
|
return vs.index_documents(docs, progress_step=progress_step, clean_index=clean_index)
|
186
187
|
|
187
|
-
def _process_document(self, document: Document) -> Document:
|
188
|
-
|
188
|
+
def _process_document(self, document: Document) -> Generator[Document, None, None]:
|
189
|
+
config = {
|
190
|
+
"max_tokens": self.llm.model_config.get('max_tokens', 512),
|
191
|
+
"token_overlap": self.llm.model_config.get('token_overlap',
|
192
|
+
int(self.llm.model_config.get('max_tokens', 512) * 0.05))
|
193
|
+
}
|
194
|
+
chunks = markdown_chunker(file_content_generator=self._generate_file_content(document), config=config)
|
195
|
+
yield from chunks
|
189
196
|
|
197
|
+
def _generate_file_content(self, document: Document) -> Generator[Document, None, None]:
|
198
|
+
page_content = self.read_file(document.metadata['Path'], is_capture_image=True)
|
190
199
|
document.page_content = json.dumps(str(page_content))
|
191
|
-
|
200
|
+
yield document
|
192
201
|
|
193
202
|
def get_available_tools(self):
|
194
203
|
return [
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: alita_sdk
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.208
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/chat_message_template.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/__init__.py
RENAMED
File without changes
|
{alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/constants.py
RENAMED
File without changes
|
{alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/document_loaders/utils.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/interfaces/kwextractor.py
RENAMED
File without changes
|
{alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/interfaces/llm_processor.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py
RENAMED
File without changes
|
File without changes
|
{alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py
RENAMED
File without changes
|
File without changes
|
{alita_sdk-0.3.207 → alita_sdk-0.3.208}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|