alita-sdk 0.3.150__tar.gz → 0.3.151__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.150 → alita_sdk-0.3.151}/PKG-INFO +1 -1
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/__init__.py +9 -9
- alita_sdk-0.3.151/alita_sdk/runtime/__init__.py +33 -0
- alita_sdk-0.3.151/alita_sdk/runtime/clients/__init__.py +12 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/llms/preloaded.py +5 -1
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/utils/logging.py +7 -1
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/utils/save_dataframe.py +5 -2
- alita_sdk-0.3.151/alita_sdk/tools/__init__.py +205 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/memory/__init__.py +9 -1
- alita_sdk-0.3.151/alita_sdk/tools/postman/__init__.py +103 -0
- alita_sdk-0.3.151/alita_sdk/tools/postman/api_wrapper.py +2032 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk.egg-info/PKG-INFO +1 -1
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk.egg-info/SOURCES.txt +2 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/pyproject.toml +1 -1
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/tests/test_ado_analysis.py +1 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/tests/test_github_analysis.py +1 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/tests/test_gitlab_analysis.py +1 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/tests/test_jira_analysis.py +1 -0
- alita_sdk-0.3.150/alita_sdk/runtime/__init__.py +0 -29
- alita_sdk-0.3.150/alita_sdk/runtime/clients/__init__.py +0 -1
- alita_sdk-0.3.150/alita_sdk/tools/__init__.py +0 -178
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/LICENSE +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/README.md +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/analysis/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/analysis/ado_analyse/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/analysis/ado_analyse/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/analysis/github_analyse/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/analysis/github_analyse/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/analysis/gitlab_analyse/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/analysis/gitlab_analyse/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/analysis/jira_analyse/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/analysis/jira_analyse/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/browseruse/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/browseruse/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/baseclass.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/knowledge_gap_agent.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/long_writer_agent.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/planner_agent.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/proofreader_agent.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/thinking_agent.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/tool_agents/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/tool_agents/crawl_agent.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/tool_agents/search_agent.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/tool_selector_agent.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/utils/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/utils/parse_output.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/agents/writer_agent.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/deep_research.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/examples/deep_example.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/examples/iterative_example.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/examples/report_plan_example.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/iterative_research.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/llm_config.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/main.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/tools/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/tools/crawl_website.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/tools/web_search.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/utils/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/utils/md_to_pdf.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/deep_researcher/utils/os.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/community/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/clients/artifact.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/clients/client.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/clients/datasource.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/clients/prompt.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/assistant.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/constants.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/indexer.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/langraph_agent.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/store_manager.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/tools/git.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/tools/log.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/tools/state.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/langchain/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/llms/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/llms/alita.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/toolkits/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/toolkits/application.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/toolkits/artifact.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/toolkits/datasource.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/toolkits/prompt.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/toolkits/tools.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/agent.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/application.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/artifact.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/datasource.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/echo.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/function.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/llm.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/loop.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/loop_output.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/prompt.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/router.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/tool.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/tools/vectorstore.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/utils/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/utils/constants.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/utils/evaluate.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/utils/streamlit.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/runtime/utils/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/ado/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/ado/repos/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/ado/test_plan/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/ado/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/ado/wiki/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/ado/wiki/ado_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/ado/work_item/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/azure_ai/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/azure_ai/search/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/base/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/base/tool.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/bitbucket/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/bitbucket/tools.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/browser/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/browser/crawler.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/browser/google_search_rag.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/browser/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/browser/wiki.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/carrier/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/carrier/tools.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/carrier/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/constants.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/models.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/chunkers/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/cloud/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/code/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/code/linter/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/code/sonar/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/confluence/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/confluence/loader.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/confluence/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/elastic/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/elitea_base.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/figma/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/figma/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/github/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/github/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/github/github_client.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/github/schemas.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/github/tool.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/github/tool_prompts.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/gitlab/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/gitlab/tools.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/gitlab/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/gmail/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/gmail/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/google_places/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/jira/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/jira/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/keycloak/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/llm/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/llm/img_utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/llm/llm_utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/localgit/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/localgit/local_git.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/localgit/tool.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/ocr/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/ocr/text_detection.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/openapi/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pptx/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/qtest/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/qtest/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/qtest/tool.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/rally/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/rally/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/report_portal/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/salesforce/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/salesforce/model.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/servicenow/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/sharepoint/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/sharepoint/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/sharepoint/utils.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/sql/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/sql/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/sql/models.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/testio/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/testio/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/testrail/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/utils/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/utils/content_parser.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/xray/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/xray/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/yagmail/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/zephyr/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/zephyr/rest_client.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/zephyr_enterprise/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk.egg-info/dependency_links.txt +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk.egg-info/requires.txt +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/alita_sdk.egg-info/top_level.txt +0 -0
- {alita_sdk-0.3.150 → alita_sdk-0.3.151}/setup.cfg +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.151
|
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>
|
6
6
|
License-Expression: Apache-2.0
|
@@ -9,13 +9,13 @@ This package contains three main modules:
|
|
9
9
|
|
10
10
|
__version__ = "0.3.142"
|
11
11
|
|
12
|
-
|
13
|
-
from .runtime import *
|
14
|
-
from .tools import *
|
15
|
-
from .community import *
|
12
|
+
__all__ = ["runtime", "tools", "community"]
|
16
13
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
14
|
+
import importlib
|
15
|
+
|
16
|
+
def __getattr__(name):
|
17
|
+
if name in __all__:
|
18
|
+
module = importlib.import_module(f".{name}", __name__)
|
19
|
+
globals()[name] = module
|
20
|
+
return module
|
21
|
+
raise AttributeError(f"module {__name__} has no attribute {name}")
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"""
|
2
|
+
Alita SDK Runtime Module
|
3
|
+
|
4
|
+
This module contains the core runtime functionality for building langchain agents.
|
5
|
+
Includes agents, clients, language models, and utilities.
|
6
|
+
"""
|
7
|
+
|
8
|
+
import importlib
|
9
|
+
|
10
|
+
_modules = [
|
11
|
+
"agents",
|
12
|
+
"clients",
|
13
|
+
"langchain",
|
14
|
+
"llamaindex",
|
15
|
+
"llms",
|
16
|
+
"toolkits",
|
17
|
+
"tools",
|
18
|
+
"utils",
|
19
|
+
]
|
20
|
+
|
21
|
+
__all__ = _modules + ["get_tools", "get_toolkits"]
|
22
|
+
|
23
|
+
def __getattr__(name):
|
24
|
+
if name in _modules:
|
25
|
+
module = importlib.import_module(f".{name}", __name__)
|
26
|
+
globals()[name] = module
|
27
|
+
return module
|
28
|
+
if name in {"get_tools", "get_toolkits"}:
|
29
|
+
toolkits = importlib.import_module(".toolkits.tools", __name__)
|
30
|
+
value = getattr(toolkits, name)
|
31
|
+
globals()[name] = value
|
32
|
+
return value
|
33
|
+
raise AttributeError(f"module {__name__} has no attribute {name}")
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"""
|
2
|
+
Runtime clients package.
|
3
|
+
"""
|
4
|
+
|
5
|
+
try:
|
6
|
+
from .client import AlitaClient
|
7
|
+
__all__ = ['AlitaClient']
|
8
|
+
except ImportError as e:
|
9
|
+
# Handle case where dependencies are not available
|
10
|
+
import logging
|
11
|
+
logging.getLogger(__name__).debug(f"Failed to import AlitaClient: {e}")
|
12
|
+
__all__ = []
|
@@ -30,7 +30,11 @@ from langchain_core.language_models import BaseChatModel # pylint: disable=E040
|
|
30
30
|
from langchain_core.messages import AIMessage, AIMessageChunk # pylint: disable=E0401
|
31
31
|
from langchain_core.outputs import ChatGeneration, ChatGenerationChunk, ChatResult # pylint: disable=E0401
|
32
32
|
|
33
|
-
|
33
|
+
try:
|
34
|
+
from ..langchain.tools import log
|
35
|
+
except ImportError:
|
36
|
+
import logging as _logging
|
37
|
+
log = _logging.getLogger(__name__)
|
34
38
|
|
35
39
|
|
36
40
|
class PreloadedEmbeddings(Embeddings):
|
@@ -1,7 +1,12 @@
|
|
1
1
|
import logging
|
2
2
|
from functools import wraps
|
3
3
|
|
4
|
-
|
4
|
+
try:
|
5
|
+
from langchain_core.callbacks import dispatch_custom_event
|
6
|
+
except ImportError:
|
7
|
+
# Fallback stub if langchain_core is unavailable
|
8
|
+
def dispatch_custom_event(name: str, data: dict): # pragma: no cover
|
9
|
+
pass
|
5
10
|
|
6
11
|
|
7
12
|
class StreamlitCallbackHandler(logging.Handler):
|
@@ -42,6 +47,7 @@ def setup_streamlit_logging(
|
|
42
47
|
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
|
43
48
|
handler.setFormatter(formatter)
|
44
49
|
logger.addHandler(handler)
|
50
|
+
logger.setLevel(logging.INFO)
|
45
51
|
|
46
52
|
return handler
|
47
53
|
|
@@ -6,13 +6,16 @@ from typing import Any, Dict, Optional
|
|
6
6
|
from langchain_core.tools import ToolException
|
7
7
|
import pandas as pd
|
8
8
|
|
9
|
-
from
|
9
|
+
from typing import TYPE_CHECKING
|
10
|
+
|
11
|
+
if TYPE_CHECKING: # pragma: no cover - avoid heavy imports at runtime
|
12
|
+
from ..tools.artifact import ArtifactWrapper
|
10
13
|
|
11
14
|
logger = logging.getLogger(__name__)
|
12
15
|
|
13
16
|
|
14
17
|
def save_dataframe_to_artifact(
|
15
|
-
artifacts_wrapper: ArtifactWrapper,
|
18
|
+
artifacts_wrapper: 'ArtifactWrapper',
|
16
19
|
df: pd.DataFrame,
|
17
20
|
target_file: str,
|
18
21
|
csv_options: Optional[Dict[str, Any]] = None,
|
@@ -0,0 +1,205 @@
|
|
1
|
+
import logging
|
2
|
+
from importlib import import_module
|
3
|
+
|
4
|
+
logger = logging.getLogger(__name__)
|
5
|
+
|
6
|
+
# Available tools and toolkits - populated by safe imports
|
7
|
+
AVAILABLE_TOOLS = {}
|
8
|
+
AVAILABLE_TOOLKITS = {}
|
9
|
+
FAILED_IMPORTS = {}
|
10
|
+
|
11
|
+
def _safe_import_tool(tool_name, module_path, get_tools_name=None, toolkit_class_name=None):
|
12
|
+
"""Safely import a tool module and register available functions/classes."""
|
13
|
+
try:
|
14
|
+
module = __import__(f'alita_sdk.tools.{module_path}', fromlist=[''])
|
15
|
+
|
16
|
+
imported = {}
|
17
|
+
if get_tools_name and hasattr(module, get_tools_name):
|
18
|
+
imported['get_tools'] = getattr(module, get_tools_name)
|
19
|
+
|
20
|
+
if toolkit_class_name and hasattr(module, toolkit_class_name):
|
21
|
+
imported['toolkit_class'] = getattr(module, toolkit_class_name)
|
22
|
+
AVAILABLE_TOOLKITS[toolkit_class_name] = getattr(module, toolkit_class_name)
|
23
|
+
|
24
|
+
if imported:
|
25
|
+
AVAILABLE_TOOLS[tool_name] = imported
|
26
|
+
logger.debug(f"Successfully imported {tool_name}")
|
27
|
+
|
28
|
+
except Exception as e:
|
29
|
+
FAILED_IMPORTS[tool_name] = str(e)
|
30
|
+
logger.debug(f"Failed to import {tool_name}: {e}")
|
31
|
+
|
32
|
+
# Safe imports for all tools
|
33
|
+
_safe_import_tool('github', 'github', 'get_tools', 'AlitaGitHubToolkit')
|
34
|
+
_safe_import_tool('openapi', 'openapi', 'get_tools')
|
35
|
+
_safe_import_tool('jira', 'jira', 'get_tools', 'JiraToolkit')
|
36
|
+
_safe_import_tool('confluence', 'confluence', 'get_tools', 'ConfluenceToolkit')
|
37
|
+
_safe_import_tool('service_now', 'servicenow', 'get_tools', 'ServiceNowToolkit')
|
38
|
+
_safe_import_tool('gitlab', 'gitlab', 'get_tools', 'AlitaGitlabToolkit')
|
39
|
+
_safe_import_tool('gitlab_org', 'gitlab_org', 'get_tools', 'AlitaGitlabSpaceToolkit')
|
40
|
+
_safe_import_tool('zephyr', 'zephyr', 'get_tools', 'ZephyrToolkit')
|
41
|
+
_safe_import_tool('browser', 'browser', 'get_tools', 'BrowserToolkit')
|
42
|
+
_safe_import_tool('report_portal', 'report_portal', 'get_tools', 'ReportPortalToolkit')
|
43
|
+
_safe_import_tool('bitbucket', 'bitbucket', 'get_tools', 'AlitaBitbucketToolkit')
|
44
|
+
_safe_import_tool('testrail', 'testrail', 'get_tools', 'TestrailToolkit')
|
45
|
+
_safe_import_tool('testio', 'testio', 'get_tools', 'TestIOToolkit')
|
46
|
+
_safe_import_tool('xray_cloud', 'xray', 'get_tools', 'XrayToolkit')
|
47
|
+
_safe_import_tool('sharepoint', 'sharepoint', 'get_tools', 'SharepointToolkit')
|
48
|
+
_safe_import_tool('qtest', 'qtest', 'get_tools', 'QtestToolkit')
|
49
|
+
_safe_import_tool('zephyr_scale', 'zephyr_scale', 'get_tools', 'ZephyrScaleToolkit')
|
50
|
+
_safe_import_tool('zephyr_enterprise', 'zephyr_enterprise', 'get_tools', 'ZephyrEnterpriseToolkit')
|
51
|
+
_safe_import_tool('ado', 'ado', 'get_tools')
|
52
|
+
_safe_import_tool('ado_repos', 'ado.repos', 'get_tools', 'AzureDevOpsReposToolkit')
|
53
|
+
_safe_import_tool('ado_plans', 'ado.test_plan', None, 'AzureDevOpsPlansToolkit')
|
54
|
+
_safe_import_tool('ado_work_items', 'ado.work_item', None, 'AzureDevOpsWorkItemsToolkit')
|
55
|
+
_safe_import_tool('ado_wiki', 'ado.wiki', None, 'AzureDevOpsWikiToolkit')
|
56
|
+
_safe_import_tool('rally', 'rally', 'get_tools', 'RallyToolkit')
|
57
|
+
_safe_import_tool('sql', 'sql', 'get_tools', 'SQLToolkit')
|
58
|
+
_safe_import_tool('sonar', 'code.sonar', 'get_tools', 'SonarToolkit')
|
59
|
+
_safe_import_tool('google_places', 'google_places', 'get_tools', 'GooglePlacesToolkit')
|
60
|
+
_safe_import_tool('yagmail', 'yagmail', 'get_tools', 'AlitaYagmailToolkit')
|
61
|
+
_safe_import_tool('aws', 'cloud.aws', None, 'AWSToolkit')
|
62
|
+
_safe_import_tool('azure', 'cloud.azure', None, 'AzureToolkit')
|
63
|
+
_safe_import_tool('gcp', 'cloud.gcp', None, 'GCPToolkit')
|
64
|
+
_safe_import_tool('k8s', 'cloud.k8s', None, 'KubernetesToolkit')
|
65
|
+
_safe_import_tool('custom_open_api', 'custom_open_api', None, 'OpenApiToolkit')
|
66
|
+
_safe_import_tool('elastic', 'elastic', None, 'ElasticToolkit')
|
67
|
+
_safe_import_tool('keycloak', 'keycloak', None, 'KeycloakToolkit')
|
68
|
+
_safe_import_tool('localgit', 'localgit', None, 'AlitaLocalGitToolkit')
|
69
|
+
_safe_import_tool('pandas', 'pandas', 'get_tools', 'PandasToolkit')
|
70
|
+
_safe_import_tool('azure_search', 'azure_ai.search', 'get_tools', 'AzureSearchToolkit')
|
71
|
+
_safe_import_tool('figma', 'figma', 'get_tools', 'FigmaToolkit')
|
72
|
+
_safe_import_tool('salesforce', 'salesforce', 'get_tools', 'SalesforceToolkit')
|
73
|
+
_safe_import_tool('carrier', 'carrier', 'get_tools', 'AlitaCarrierToolkit')
|
74
|
+
_safe_import_tool('ocr', 'ocr', 'get_tools', 'OCRToolkit')
|
75
|
+
_safe_import_tool('pptx', 'pptx', 'get_tools', 'PPTXToolkit')
|
76
|
+
_safe_import_tool('postman', 'postman', 'get_tools', 'PostmanToolkit')
|
77
|
+
|
78
|
+
# Log import summary
|
79
|
+
available_count = len(AVAILABLE_TOOLS)
|
80
|
+
total_attempted = len(AVAILABLE_TOOLS) + len(FAILED_IMPORTS)
|
81
|
+
logger.info(f"Tool imports completed: {available_count}/{total_attempted} successful")
|
82
|
+
|
83
|
+
def get_tools(tools_list, alita, llm, *args, **kwargs):
|
84
|
+
tools = []
|
85
|
+
for tool in tools_list:
|
86
|
+
# validate tool name syntax - it cannot be started with _
|
87
|
+
for tool_name in tool.get('settings', {}).get('selected_tools', []):
|
88
|
+
if isinstance(tool_name, str) and tool_name.startswith('_'):
|
89
|
+
raise ValueError(f"Tool name '{tool_name}' from toolkit '{tool.get('type', '')}' cannot start with '_'")
|
90
|
+
|
91
|
+
tool['settings']['alita'] = alita
|
92
|
+
tool['settings']['llm'] = llm
|
93
|
+
tool_type = tool['type']
|
94
|
+
|
95
|
+
# Check if tool is available and has get_tools function
|
96
|
+
if tool_type in AVAILABLE_TOOLS and 'get_tools' in AVAILABLE_TOOLS[tool_type]:
|
97
|
+
try:
|
98
|
+
get_tools_func = AVAILABLE_TOOLS[tool_type]['get_tools']
|
99
|
+
|
100
|
+
# Handle special cases for ADO tools
|
101
|
+
if tool_type in ['ado_boards', 'ado_wiki', 'ado_plans']:
|
102
|
+
tools.extend(get_tools_func(tool_type, tool))
|
103
|
+
else:
|
104
|
+
tools.extend(get_tools_func(tool))
|
105
|
+
|
106
|
+
except Exception as e:
|
107
|
+
logger.error(f"Error getting tools for {tool_type}: {e}")
|
108
|
+
|
109
|
+
# Handle ADO repos special case (it might be requested as azure_devops_repos)
|
110
|
+
elif tool_type in ['ado_repos', 'azure_devops_repos'] and 'ado_repos' in AVAILABLE_TOOLS:
|
111
|
+
try:
|
112
|
+
get_tools_func = AVAILABLE_TOOLS['ado_repos']['get_tools']
|
113
|
+
tools.extend(get_tools_func(tool))
|
114
|
+
except Exception as e:
|
115
|
+
logger.error(f"Error getting ADO repos tools: {e}")
|
116
|
+
|
117
|
+
# Handle custom modules
|
118
|
+
elif tool.get("settings", {}).get("module"):
|
119
|
+
try:
|
120
|
+
settings = tool.get("settings", {})
|
121
|
+
mod = import_module(settings.pop("module"))
|
122
|
+
tkitclass = getattr(mod, settings.pop("class"))
|
123
|
+
toolkit = tkitclass.get_toolkit(**tool["settings"])
|
124
|
+
tools.extend(toolkit.get_tools())
|
125
|
+
except Exception as e:
|
126
|
+
logger.error(f"Error in getting custom toolkit: {e}")
|
127
|
+
|
128
|
+
else:
|
129
|
+
# Tool not available or not found
|
130
|
+
if tool_type in FAILED_IMPORTS:
|
131
|
+
logger.warning(f"Tool '{tool_type}' is not available: {FAILED_IMPORTS[tool_type]}")
|
132
|
+
else:
|
133
|
+
logger.warning(f"Unknown tool type: {tool_type}")
|
134
|
+
|
135
|
+
return tools
|
136
|
+
|
137
|
+
def get_toolkits():
|
138
|
+
"""Return toolkit configurations for all successfully imported toolkits."""
|
139
|
+
toolkit_configs = []
|
140
|
+
|
141
|
+
for toolkit_name, toolkit_class in AVAILABLE_TOOLKITS.items():
|
142
|
+
try:
|
143
|
+
if hasattr(toolkit_class, 'toolkit_config_schema'):
|
144
|
+
toolkit_configs.append(toolkit_class.toolkit_config_schema())
|
145
|
+
else:
|
146
|
+
logger.debug(f"Toolkit {toolkit_name} does not have toolkit_config_schema method")
|
147
|
+
except Exception as e:
|
148
|
+
logger.error(f"Error getting config schema for {toolkit_name}: {e}")
|
149
|
+
|
150
|
+
logger.info(f"Successfully loaded {len(toolkit_configs)} toolkit configurations")
|
151
|
+
return toolkit_configs
|
152
|
+
|
153
|
+
def get_available_tools():
|
154
|
+
"""Return list of available tool types."""
|
155
|
+
return list(AVAILABLE_TOOLS.keys())
|
156
|
+
|
157
|
+
def get_failed_imports():
|
158
|
+
"""Return dictionary of failed imports and their error messages."""
|
159
|
+
return FAILED_IMPORTS.copy()
|
160
|
+
|
161
|
+
def get_available_toolkits():
|
162
|
+
"""Return list of available toolkit class names."""
|
163
|
+
return list(AVAILABLE_TOOLKITS.keys())
|
164
|
+
|
165
|
+
def diagnose_imports():
|
166
|
+
"""Print diagnostic information about tool imports."""
|
167
|
+
available_count = len(AVAILABLE_TOOLS)
|
168
|
+
failed_count = len(FAILED_IMPORTS)
|
169
|
+
total_count = available_count + failed_count
|
170
|
+
|
171
|
+
print(f"=== Tool Import Diagnostic ===")
|
172
|
+
print(f"Total tools: {total_count}")
|
173
|
+
print(f"Successfully imported: {available_count}")
|
174
|
+
print(f"Failed imports: {failed_count}")
|
175
|
+
print(f"Success rate: {(available_count/total_count*100):.1f}%")
|
176
|
+
|
177
|
+
if AVAILABLE_TOOLS:
|
178
|
+
print(f"\n✅ Available tools ({len(AVAILABLE_TOOLS)}):")
|
179
|
+
for tool_name in sorted(AVAILABLE_TOOLS.keys()):
|
180
|
+
functions = []
|
181
|
+
if 'get_tools' in AVAILABLE_TOOLS[tool_name]:
|
182
|
+
functions.append('get_tools')
|
183
|
+
if 'toolkit_class' in AVAILABLE_TOOLS[tool_name]:
|
184
|
+
functions.append('toolkit')
|
185
|
+
print(f" - {tool_name}: {', '.join(functions)}")
|
186
|
+
|
187
|
+
if FAILED_IMPORTS:
|
188
|
+
print(f"\n❌ Failed imports ({len(FAILED_IMPORTS)}):")
|
189
|
+
for tool_name, error in FAILED_IMPORTS.items():
|
190
|
+
print(f" - {tool_name}: {error}")
|
191
|
+
|
192
|
+
if AVAILABLE_TOOLKITS:
|
193
|
+
print(f"\n🔧 Available toolkits ({len(AVAILABLE_TOOLKITS)}):")
|
194
|
+
for toolkit_name in sorted(AVAILABLE_TOOLKITS.keys()):
|
195
|
+
print(f" - {toolkit_name}")
|
196
|
+
|
197
|
+
# Export useful functions
|
198
|
+
__all__ = [
|
199
|
+
'get_tools',
|
200
|
+
'get_toolkits',
|
201
|
+
'get_available_tools',
|
202
|
+
'get_failed_imports',
|
203
|
+
'get_available_toolkits',
|
204
|
+
'diagnose_imports'
|
205
|
+
]
|
@@ -2,7 +2,15 @@ from typing import Optional, List
|
|
2
2
|
|
3
3
|
from langchain_core.tools import BaseToolkit, BaseTool
|
4
4
|
from langgraph.store.postgres import PostgresStore
|
5
|
-
|
5
|
+
try:
|
6
|
+
from langmem import create_manage_memory_tool, create_search_memory_tool
|
7
|
+
except ImportError:
|
8
|
+
# langmem is optional; define stubs to avoid import errors
|
9
|
+
def create_manage_memory_tool(*args, **kwargs): # pragma: no cover
|
10
|
+
raise ImportError("langmem is required for MemoryToolkit")
|
11
|
+
|
12
|
+
def create_search_memory_tool(*args, **kwargs): # pragma: no cover
|
13
|
+
raise ImportError("langmem is required for MemoryToolkit")
|
6
14
|
from pydantic import create_model, BaseModel, ConfigDict, Field, SecretStr
|
7
15
|
|
8
16
|
name = "memory"
|
@@ -0,0 +1,103 @@
|
|
1
|
+
from typing import List, Literal, Optional, Type
|
2
|
+
|
3
|
+
import requests
|
4
|
+
from langchain_core.tools import BaseToolkit, BaseTool
|
5
|
+
from pydantic import create_model, BaseModel, ConfigDict, Field, SecretStr, field_validator
|
6
|
+
from ..base.tool import BaseAction
|
7
|
+
|
8
|
+
from .api_wrapper import PostmanApiWrapper
|
9
|
+
from ..utils import clean_string, get_max_toolkit_length, TOOLKIT_SPLITTER, check_connection_response
|
10
|
+
|
11
|
+
name = "postman"
|
12
|
+
|
13
|
+
class PostmanAction(BaseAction):
|
14
|
+
"""Tool for interacting with the Postman API."""
|
15
|
+
|
16
|
+
api_wrapper: PostmanApiWrapper = Field(default_factory=PostmanApiWrapper)
|
17
|
+
name: str
|
18
|
+
mode: str = ""
|
19
|
+
description: str = ""
|
20
|
+
args_schema: Optional[Type[BaseModel]] = None
|
21
|
+
|
22
|
+
@field_validator('name', mode='before')
|
23
|
+
@classmethod
|
24
|
+
def remove_spaces(cls, v):
|
25
|
+
return v.replace(' ', '')
|
26
|
+
|
27
|
+
def get_tools(tool):
|
28
|
+
toolkit = PostmanToolkit.get_toolkit(
|
29
|
+
selected_tools=tool['settings'].get('selected_tools', []),
|
30
|
+
api_key=tool['settings'].get('api_key', None),
|
31
|
+
base_url=tool['settings'].get(
|
32
|
+
'base_url', 'https://api.getpostman.com'),
|
33
|
+
collection_id=tool['settings'].get('collection_id', None),
|
34
|
+
workspace_id=tool['settings'].get('workspace_id', None),
|
35
|
+
toolkit_name=tool.get('toolkit_name')
|
36
|
+
)
|
37
|
+
return toolkit.tools
|
38
|
+
|
39
|
+
|
40
|
+
class PostmanToolkit(BaseToolkit):
|
41
|
+
tools: List[BaseTool] = []
|
42
|
+
toolkit_max_length: int = 0
|
43
|
+
|
44
|
+
@staticmethod
|
45
|
+
def toolkit_config_schema() -> BaseModel:
|
46
|
+
selected_tools = {x['name']: x['args_schema'].schema(
|
47
|
+
) for x in PostmanApiWrapper.model_construct().get_available_tools()}
|
48
|
+
PostmanToolkit.toolkit_max_length = get_max_toolkit_length(
|
49
|
+
selected_tools)
|
50
|
+
m = create_model(
|
51
|
+
name,
|
52
|
+
api_key=(SecretStr, Field(description="Postman API key",
|
53
|
+
json_schema_extra={'secret': True, 'configuration': True})),
|
54
|
+
base_url=(str, Field(description="Postman API base URL",
|
55
|
+
default="https://api.getpostman.com", json_schema_extra={'configuration': True})),
|
56
|
+
collection_id=(str, Field(description="Default collection ID", json_schema_extra={
|
57
|
+
'toolkit_name': True, 'max_toolkit_length': PostmanToolkit.toolkit_max_length})),
|
58
|
+
workspace_id=(str, Field(description="Default workspace ID",
|
59
|
+
default="", json_schema_extra={'configuration': True})),
|
60
|
+
selected_tools=(List[Literal[tuple(selected_tools)]], Field(
|
61
|
+
default=[], json_schema_extra={'args_schemas': selected_tools})),
|
62
|
+
__config__=ConfigDict(json_schema_extra={'metadata': {
|
63
|
+
"label": "Elitea Postman", "icon_url": "postman.svg"}})
|
64
|
+
)
|
65
|
+
|
66
|
+
@check_connection_response
|
67
|
+
def check_connection(self):
|
68
|
+
response = requests.get(
|
69
|
+
f'{self.base_url}/collections',
|
70
|
+
headers={
|
71
|
+
'X-API-Key': self.api_key.get_secret_value(),
|
72
|
+
'Content-Type': 'application/json'
|
73
|
+
},
|
74
|
+
timeout=5
|
75
|
+
)
|
76
|
+
return response
|
77
|
+
m.check_connection = check_connection
|
78
|
+
return m
|
79
|
+
|
80
|
+
@classmethod
|
81
|
+
def get_toolkit(cls, selected_tools: list[str] | None = None, toolkit_name: Optional[str] = None, **kwargs):
|
82
|
+
if selected_tools is None:
|
83
|
+
selected_tools = []
|
84
|
+
postman_api_wrapper = PostmanApiWrapper(**kwargs)
|
85
|
+
prefix = clean_string(str(toolkit_name), cls.toolkit_max_length) + \
|
86
|
+
TOOLKIT_SPLITTER if toolkit_name else ''
|
87
|
+
available_tools = postman_api_wrapper.get_available_tools()
|
88
|
+
tools = []
|
89
|
+
for tool in available_tools:
|
90
|
+
if selected_tools:
|
91
|
+
if tool["name"] not in selected_tools:
|
92
|
+
continue
|
93
|
+
tools.append(PostmanAction(
|
94
|
+
api_wrapper=postman_api_wrapper,
|
95
|
+
name=prefix + tool["name"],
|
96
|
+
mode=tool["mode"],
|
97
|
+
description=f"{tool['description']}\nAPI URL: {postman_api_wrapper.base_url}",
|
98
|
+
args_schema=tool["args_schema"]
|
99
|
+
))
|
100
|
+
return cls(tools=tools)
|
101
|
+
|
102
|
+
def get_tools(self):
|
103
|
+
return self.tools
|