alita-sdk 0.3.200__tar.gz → 0.3.202__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.200 → alita_sdk-0.3.202}/PKG-INFO +1 -1
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/ado/repos/__init__.py +0 -1
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/postman/api_wrapper.py +1 -1
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/slack/__init__.py +3 -2
- alita_sdk-0.3.202/alita_sdk/tools/slack/api_wrapper.py +301 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk.egg-info/PKG-INFO +1 -1
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/pyproject.toml +1 -1
- alita_sdk-0.3.200/alita_sdk/tools/slack/api_wrapper.py +0 -183
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/LICENSE +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/README.md +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/ado_analyse/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/ado_analyse/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/github_analyse/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/github_analyse/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/gitlab_analyse/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/gitlab_analyse/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/jira_analyse/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/jira_analyse/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/clients/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/clients/artifact.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/clients/client.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/clients/datasource.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/clients/prompt.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/agents/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/agents/xml_chat.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/assistant.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/chat_message_template.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/constants.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/AlitaCSVLoader.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/AlitaImageLoader.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/AlitaJiraLoader.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/AlitaQtestLoader.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/AlitaTableLoader.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/constants.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/indexer.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/interfaces/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/interfaces/kwextractor.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/interfaces/llm_processor.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/interfaces/loaders.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/interfaces/splitters.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/langraph_agent.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/mixedAgentParser.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/mixedAgentRenderes.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/retrievers/VectorstoreRetriever.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/retrievers/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/store_manager.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/tools/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/tools/bdd_parser/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/tools/bdd_parser/bdd_parser.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/tools/bdd_parser/feature_types.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/tools/bdd_parser/parser.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/tools/git.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/tools/log.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/tools/quota.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/tools/state.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/tools/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/tools/vector.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/llms/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/llms/alita.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/llms/preloaded.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/toolkits/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/toolkits/application.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/toolkits/artifact.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/toolkits/datasource.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/toolkits/prompt.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/toolkits/subgraph.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/toolkits/tools.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/toolkits/vectorstore.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/agent.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/application.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/artifact.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/datasource.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/echo.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/function.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/indexer_tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/llm.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/loop.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/loop_output.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/mcp_server_tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/pgvector_search.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/prompt.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/router.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/tools/vectorstore.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/utils/AlitaCallback.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/utils/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/utils/constants.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/utils/evaluate.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/utils/logging.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/utils/save_dataframe.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/utils/streamlit.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/utils/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/ado/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/ado/repos/repos_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/ado/test_plan/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/ado/test_plan/test_plan_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/ado/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/ado/wiki/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/ado/wiki/ado_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/ado/work_item/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/ado/work_item/ado_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/advanced_jira_mining/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/advanced_jira_mining/data_mining_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/azure_ai/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/azure_ai/search/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/azure_ai/search/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/base/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/base/tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/bitbucket/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/bitbucket/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/bitbucket/bitbucket_constants.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/bitbucket/cloud_api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/bitbucket/tools.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/browser/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/browser/crawler.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/browser/duck_duck_go_search.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/browser/google_search_rag.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/browser/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/browser/wiki.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/backend_reports_tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/backend_tests_tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/cancel_ui_test_tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/carrier_sdk.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/create_ui_excel_report_tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/create_ui_test_tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/excel_reporter.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/lighthouse_excel_reporter.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/run_ui_test_tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/tickets_tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/tools.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/ui_reports_tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/update_ui_test_schedule_tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/carrier/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/codeparser.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/constants.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter_c.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cpp.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter_cs.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter_go.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter_hs.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter_java.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter_js.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter_kt.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter_py.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rb.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter_registry.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter_rs.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/code/treesitter/treesitter_ts.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/models.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/sematic/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/sematic/base.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/sematic/markdown_chunker.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/sematic/proposal_chunker.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/sematic/statistical_chunker.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/chunkers/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/cloud/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/cloud/aws/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/cloud/aws/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/cloud/azure/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/cloud/azure/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/cloud/gcp/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/cloud/gcp/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/cloud/k8s/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/cloud/k8s/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/code/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/code/linter/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/code/linter/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/code/loaders/codesearcher.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/code/sonar/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/code/sonar/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/confluence/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/confluence/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/confluence/loader.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/confluence/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/custom_open_api/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/custom_open_api/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/elastic/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/elastic/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/elitea_base.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/figma/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/figma/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/github/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/github/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/github/github_client.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/github/graphql_client_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/github/schemas.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/github/tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/github/tool_prompts.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/gitlab/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/gitlab/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/gitlab/tools.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/gitlab/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/gitlab_org/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/gitlab_org/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/gmail/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/gmail/gmail_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/gmail/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/google_places/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/google_places/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/jira/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/jira/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/keycloak/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/keycloak/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/llm/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/llm/img_utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/llm/llm_utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/localgit/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/localgit/local_git.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/localgit/tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/memory/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/ocr/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/ocr/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/ocr/text_detection.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/openapi/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/dataframe/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/dataframe/errors.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/dataframe/executor/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/dataframe/executor/code_environment.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/dataframe/executor/code_executor.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/dataframe/generator/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/dataframe/generator/base.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/dataframe/generator/code_cleaning.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/dataframe/generator/code_validator.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/dataframe/prompts.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/dataframe/serializer.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/dataframe/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/statsmodels/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/statsmodels/base_stats.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/statsmodels/descriptive.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/statsmodels/hypothesis_testing.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pandas/statsmodels/regression.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/postman/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/postman/postman_analysis.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pptx/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/pptx/pptx_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/qtest/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/qtest/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/qtest/tool.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/rally/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/rally/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/report_portal/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/report_portal/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/report_portal/report_portal_client.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/salesforce/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/salesforce/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/salesforce/model.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/servicenow/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/servicenow/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/servicenow/servicenow_client.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/sharepoint/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/sharepoint/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/sharepoint/authorization_helper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/sharepoint/utils.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/sql/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/sql/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/sql/models.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/testio/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/testio/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/testrail/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/testrail/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/utils/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/utils/content_parser.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/xray/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/xray/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/yagmail/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/yagmail/yagmail_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/zephyr/Zephyr.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/zephyr/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/zephyr/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/zephyr/rest_client.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/zephyr_enterprise/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/zephyr_enterprise/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/zephyr_enterprise/zephyr_enterprise.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/zephyr_scale/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/zephyr_scale/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/zephyr_squad/__init__.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/zephyr_squad/api_wrapper.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk.egg-info/SOURCES.txt +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk.egg-info/dependency_links.txt +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk.egg-info/requires.txt +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk.egg-info/top_level.txt +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/setup.cfg +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/tests/test_ado_analysis.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/tests/test_github_analysis.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/tests/test_gitlab_analysis.py +0 -0
- {alita_sdk-0.3.200 → alita_sdk-0.3.202}/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.202
|
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
|
@@ -55,7 +55,6 @@ class AzureDevOpsReposToolkit(BaseToolkit):
|
|
55
55
|
project=(str, Field(title="Project", description="ADO project", json_schema_extra={'configuration': True})),
|
56
56
|
repository_id=(str, Field(title="Repository ID", description="ADO repository ID",
|
57
57
|
json_schema_extra={
|
58
|
-
'toolkit_name': True,
|
59
58
|
'max_toolkit_length': AzureDevOpsReposToolkit.toolkit_max_length,
|
60
59
|
'configuration': True})),
|
61
60
|
token=(SecretStr, Field(title="Token", description="ADO token", json_schema_extra={'secret': True, 'configuration': True})),
|
@@ -1283,7 +1283,7 @@ class PostmanApiWrapper(BaseToolApiWrapper):
|
|
1283
1283
|
self.analyzer.remove_item_ids(collection_data.get("item", []))
|
1284
1284
|
|
1285
1285
|
response = self._make_request(
|
1286
|
-
'POST', '/collections', json={"collection": collection_data})
|
1286
|
+
'POST', f'/collections?workspace={self.workspace_id}', json={"collection": collection_data})
|
1287
1287
|
return json.dumps(response, indent=2)
|
1288
1288
|
except Exception as e:
|
1289
1289
|
stacktrace = format_exc()
|
@@ -25,6 +25,7 @@ def get_tools(tool):
|
|
25
25
|
|
26
26
|
class SlackToolkit(BaseToolkit):
|
27
27
|
tools: List[BaseTool] = []
|
28
|
+
toolkit_max_length: int = 0
|
28
29
|
|
29
30
|
@staticmethod
|
30
31
|
def toolkit_config_schema() -> BaseModel:
|
@@ -52,7 +53,7 @@ class SlackToolkit(BaseToolkit):
|
|
52
53
|
'configuration_title': True})),
|
53
54
|
slack_token=(SecretStr, Field(description="Slack Token like XOXB-*****-*****-*****-*****",
|
54
55
|
json_schema_extra={'secret': True, 'configuration': True})),
|
55
|
-
channel_id=(str, Field(description="Channel ID", json_schema_extra={'configuration': True})),
|
56
|
+
channel_id=(Optional[str], Field(default=None, description="Channel ID", json_schema_extra={'configuration': True})),
|
56
57
|
selected_tools=(List[Literal[tuple(selected_tools)]],
|
57
58
|
Field(default=[], json_schema_extra={'args_schemas': selected_tools})),
|
58
59
|
__config__={'json_schema_extra': {'metadata': {"label": "Slack", "icon_url": "slack-icon.svg"}}}
|
@@ -74,7 +75,7 @@ class SlackToolkit(BaseToolkit):
|
|
74
75
|
tools.append(BaseAction(
|
75
76
|
api_wrapper=slack_api_wrapper,
|
76
77
|
name=prefix + tool["name"],
|
77
|
-
description=tool[
|
78
|
+
description=f"Slack Tool: {tool['description']}",
|
78
79
|
args_schema=tool["args_schema"],
|
79
80
|
))
|
80
81
|
return cls(tools=tools)
|
@@ -0,0 +1,301 @@
|
|
1
|
+
import logging
|
2
|
+
from typing import Optional
|
3
|
+
from pydantic import BaseModel, Field, SecretStr, create_model, model_validator
|
4
|
+
from slack_sdk import WebClient
|
5
|
+
from slack_sdk.errors import SlackApiError
|
6
|
+
|
7
|
+
from alita_sdk.tools.elitea_base import BaseToolApiWrapper
|
8
|
+
|
9
|
+
|
10
|
+
logger = logging.getLogger(__name__)
|
11
|
+
|
12
|
+
SendMessageModel = create_model(
|
13
|
+
"SendMessageModel",
|
14
|
+
channel_id=(Optional[str], Field(default=None,description="Channel ID, user ID, or conversation ID to send the message to. (like C12345678 for public channels, D12345678 for DMs)")),
|
15
|
+
message=(str, Field(description="The message text to send."))
|
16
|
+
)
|
17
|
+
|
18
|
+
ReadMessagesModel = create_model(
|
19
|
+
"ReadMessagesModel",
|
20
|
+
channel_id=(Optional[str], Field(default=None,description="Channel ID, user ID, or conversation ID to read messages from. (like C12345678 for public channels, D12345678 for DMs)")),
|
21
|
+
limit=(int, Field(default=10, description="The number of messages to fetch (default is 10)."))
|
22
|
+
)
|
23
|
+
|
24
|
+
CreateChannelModel = create_model(
|
25
|
+
"CreateChannelModel",
|
26
|
+
channel_name=(str, Field(description="Channel ID, user ID, or conversation ID to send the message to. (like C12345678 for public channels, D12345678 for DMs)")),
|
27
|
+
is_private=(bool, Field(default=False, description="Whether to make the channel private (default: False)."))
|
28
|
+
)
|
29
|
+
|
30
|
+
ListChannelUsersModel = create_model(
|
31
|
+
"ListChannelUsersModel",
|
32
|
+
channel_id=(Optional[str], Field(default=None,description="Channel ID, user ID, or conversation ID to read messages from. (like C12345678 for public channels, D12345678 for DMs)"))
|
33
|
+
)
|
34
|
+
|
35
|
+
ListWorkspaceUsersModel = create_model(
|
36
|
+
"ListWorkspaceUsersModel"
|
37
|
+
)
|
38
|
+
|
39
|
+
ListWorkspaceConversationsModel = create_model(
|
40
|
+
"ListWorkspaceConversationsModel"
|
41
|
+
)
|
42
|
+
|
43
|
+
InviteToConversationModel = create_model(
|
44
|
+
"InviteToConversationModel" ,
|
45
|
+
channel_id=(Optional[str], Field(default=None,description="Conversation ID of the channel.")),
|
46
|
+
user_ids=(list[str], Field(description="List of user IDs to invite."))
|
47
|
+
)
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
class SlackApiWrapper(BaseToolApiWrapper):
|
52
|
+
|
53
|
+
"""
|
54
|
+
Slack API wrapper for interacting with Slack channels and messages.
|
55
|
+
"""
|
56
|
+
slack_token: Optional[SecretStr] = Field(default=None,description="Slack Bot/User OAuth Token like XOXB-*****-*****-*****-*****")
|
57
|
+
channel_id: Optional[str] = Field(default=None, description="Channel ID, user ID, or conversation ID to send the message to. (like C12345678 for public channels, D12345678 for DMs)")
|
58
|
+
|
59
|
+
@model_validator(mode="before")
|
60
|
+
@classmethod
|
61
|
+
def validate_toolkit(cls, values):
|
62
|
+
token = values.get("slack_token")
|
63
|
+
if not token:
|
64
|
+
logger.error("Slack token is required for authentication.")
|
65
|
+
raise ValueError("Slack token is required for authentication.")
|
66
|
+
return values
|
67
|
+
|
68
|
+
|
69
|
+
def _get_client(self):
|
70
|
+
if not hasattr(self, "_client") or self._client is None:
|
71
|
+
self._client = WebClient(token=self.slack_token.get_secret_value())
|
72
|
+
return self._client
|
73
|
+
|
74
|
+
def send_message(self, message: str, channel_id: Optional[str] = None):
|
75
|
+
"""
|
76
|
+
Sends a message to a specified Slack channel, user, or conversation.
|
77
|
+
Uses the provided channel_id if given, otherwise falls back to the instance's channel_id.
|
78
|
+
"""
|
79
|
+
|
80
|
+
try:
|
81
|
+
|
82
|
+
client = self._get_client()
|
83
|
+
|
84
|
+
# Use the passed channel_id if provided, else use self.channel_id
|
85
|
+
channel = channel_id if channel_id else self.channel_id
|
86
|
+
response = client.chat_postMessage(channel=channel, text=message)
|
87
|
+
logger.info(f"Message sent to {channel}: {message}")
|
88
|
+
return f"Message sent successfully to {channel}."
|
89
|
+
|
90
|
+
except SlackApiError as e:
|
91
|
+
logger.error(f"Failed to send message to {channel}: {e.response['error']}")
|
92
|
+
return f"Received the error : {e.response['error']}"
|
93
|
+
|
94
|
+
def read_messages(self, limit=10, channel_id: Optional[str] = None):
|
95
|
+
"""
|
96
|
+
Reads the latest messages from a Slack channel or conversation.
|
97
|
+
|
98
|
+
:param limit: int: The number of messages to fetch (default is 10)
|
99
|
+
:return: list: Returns a list of messages with metadata.
|
100
|
+
"""
|
101
|
+
try:
|
102
|
+
|
103
|
+
client = self._get_client()
|
104
|
+
logger.info(f"auth test: {client.auth_test()}")
|
105
|
+
# Use the passed channel_id if provided, else use self.channel_id
|
106
|
+
channel = channel_id if channel_id else self.channel_id
|
107
|
+
# Fetch conversation history
|
108
|
+
response = client.conversations_history(
|
109
|
+
channel=channel,
|
110
|
+
limit=limit )
|
111
|
+
|
112
|
+
# Extract messages from the response
|
113
|
+
messages = self.extract_slack_messages(response.get('messages', []))
|
114
|
+
|
115
|
+
return messages
|
116
|
+
|
117
|
+
except SlackApiError as e:
|
118
|
+
# Handle errors from the Slack API
|
119
|
+
logger.error(f"Failed to read message from {channel}: {e.response['error']}")
|
120
|
+
return f"Received the error : {e.response['error']}"
|
121
|
+
|
122
|
+
def create_slack_channel(self, channel_name: str, is_private=False):
|
123
|
+
"""
|
124
|
+
Creates a new Slack channel.
|
125
|
+
|
126
|
+
:param channel_name: str: Desired name for the channel (e.g., "my-new-channel").
|
127
|
+
:param is_private: bool: Whether to make the channel private (default: False).
|
128
|
+
:return: dict: Slack API response or error message.
|
129
|
+
"""
|
130
|
+
|
131
|
+
try:
|
132
|
+
client = self._get_client()
|
133
|
+
response = client.conversations_create(
|
134
|
+
name=channel_name,
|
135
|
+
is_private=is_private
|
136
|
+
)
|
137
|
+
channel_id = response["channel"]["id"]
|
138
|
+
print(f"Channel '{channel_name}' created successfully! Channel ID: {channel_id}")
|
139
|
+
return {"success": True, "channel_id": channel_id}
|
140
|
+
except SlackApiError as e:
|
141
|
+
error_message = e.response.get("error", "unknown_error")
|
142
|
+
print(f"Failed to create channel '{channel_name}': {error_message}")
|
143
|
+
return {"success": False, "error": error_message}
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
def list_channel_users(self, channel_id: Optional[str] = None):
|
148
|
+
"""
|
149
|
+
Lists all users in the specified Slack channel.
|
150
|
+
|
151
|
+
:param channel_id: Optional[str]: The channel ID to list users from. If not provided, uses self.channel_id.
|
152
|
+
:return: list: List of user dictionaries with their IDs and names.
|
153
|
+
"""
|
154
|
+
try:
|
155
|
+
client = self._get_client()
|
156
|
+
# Use the passed channel_id if provided, else use self.channel_id
|
157
|
+
channel = channel_id if channel_id else self.channel_id
|
158
|
+
logger.info
|
159
|
+
if not channel:
|
160
|
+
logger.error("No channel_id provided to list_channel_users.")
|
161
|
+
return "Error: channel_id must be provided either as an argument or set on the instance."
|
162
|
+
|
163
|
+
# Get user IDs in the channel
|
164
|
+
members_response = client.conversations_members(channel=channel)
|
165
|
+
user_ids = members_response.get("members", [])
|
166
|
+
|
167
|
+
# Fetch user info for each user ID
|
168
|
+
users = []
|
169
|
+
for user_id in user_ids:
|
170
|
+
user_info = client.users_info(user=user_id)
|
171
|
+
user = user_info.get("user", {})
|
172
|
+
users.append({"id": user.get("id"), "name": user.get("name")})
|
173
|
+
|
174
|
+
return users
|
175
|
+
|
176
|
+
except SlackApiError as e:
|
177
|
+
logger.error(f"Failed to list users in channel {channel}: {e.response['error']}")
|
178
|
+
return f"Received the error : {e.response['error']}"
|
179
|
+
|
180
|
+
def list_workspace_users(self):
|
181
|
+
"""
|
182
|
+
Fetches and returns a list of all users in the Slack workspace with selected user details.
|
183
|
+
|
184
|
+
:return: list: List of user dictionaries containing id, name, is_bot, email, and team.
|
185
|
+
"""
|
186
|
+
try:
|
187
|
+
client = self._get_client()
|
188
|
+
response = client.users_list() # Fetch users
|
189
|
+
members = self.extract_required_user_fields(response.get('members', []))
|
190
|
+
print(f"Found {len(members)} users.")
|
191
|
+
return members # Return the list of users
|
192
|
+
except SlackApiError as e:
|
193
|
+
print(f"Error fetching users: {e.response['error']}")
|
194
|
+
return []
|
195
|
+
|
196
|
+
def list_workspace_conversations(self):
|
197
|
+
"""
|
198
|
+
Retrieves and returns a list of all conversations (channels, groups, and direct messages) in the Slack workspace.
|
199
|
+
|
200
|
+
:return: list: List of conversation/channel dictionaries as returned by the Slack API.
|
201
|
+
"""
|
202
|
+
try:
|
203
|
+
client = self._get_client()
|
204
|
+
response = client.conversations_list() # Fetch conversations
|
205
|
+
channels = response.get("channels", [])
|
206
|
+
print(f"Found {len(channels)} channels.")
|
207
|
+
return channels # Return the list of channels
|
208
|
+
except SlackApiError as e:
|
209
|
+
print(f"Error fetching conversations: {e.response['error']}")
|
210
|
+
return []
|
211
|
+
|
212
|
+
def invite_to_conversation(self, user_ids: list, channel_id: Optional[str] = None ):
|
213
|
+
"""
|
214
|
+
Invite one or more users to a Slack channel.
|
215
|
+
:param client: Slack WebClient instance.
|
216
|
+
:param channel_id: Conversation ID of the channel.
|
217
|
+
:param user_ids: List of user IDs to invite.
|
218
|
+
"""
|
219
|
+
try:
|
220
|
+
client = self._get_client()
|
221
|
+
# Use the passed channel_id if provided, else use self.channel_id
|
222
|
+
channel = channel_id if channel_id else self.channel_id
|
223
|
+
response = client.conversations_invite(channel=channel, users=",".join(user_ids))
|
224
|
+
print(f"Successfully invited users to {channel}.")
|
225
|
+
return response
|
226
|
+
except SlackApiError as e:
|
227
|
+
print(f"Error inviting users: {e.response['error']}")
|
228
|
+
return None
|
229
|
+
|
230
|
+
def extract_slack_messages(self, data):
|
231
|
+
extracted_info = []
|
232
|
+
|
233
|
+
for item in data:
|
234
|
+
# Extract 'user' and 'text'
|
235
|
+
user = item.get("user", "Undefined User")
|
236
|
+
message = item.get("text", "No message")
|
237
|
+
|
238
|
+
# Extract 'app name'
|
239
|
+
app_name = item.get("bot_profile", {}).get("name", "No App Name")
|
240
|
+
|
241
|
+
# Append to result
|
242
|
+
extracted_info.append({"user": user, "message": message, "app_name": app_name})
|
243
|
+
|
244
|
+
return extracted_info
|
245
|
+
|
246
|
+
# Function to extract required user details
|
247
|
+
def extract_required_user_fields(self, user_details):
|
248
|
+
extracted_user_data = []
|
249
|
+
for entry in user_details:
|
250
|
+
extracted_entry = {
|
251
|
+
"id": entry.get("id", None),
|
252
|
+
"name": entry.get("name", None),
|
253
|
+
"is_bot": entry.get("is_bot", None),
|
254
|
+
"email": entry.get("profile", {}).get("email", None),
|
255
|
+
"team": entry.get("profile", {}).get("team", None)
|
256
|
+
}
|
257
|
+
extracted_user_data.append(extracted_entry)
|
258
|
+
return extracted_user_data
|
259
|
+
|
260
|
+
def get_available_tools(self):
|
261
|
+
return [
|
262
|
+
{
|
263
|
+
"name": "send_message",
|
264
|
+
"description": self.send_message.__doc__ or "Send a message to a Slack channel, user, or conversation.",
|
265
|
+
"args_schema": SendMessageModel,
|
266
|
+
"ref": self.send_message
|
267
|
+
|
268
|
+
},
|
269
|
+
{
|
270
|
+
"name": "read_messages",
|
271
|
+
"description": self.read_messages.__doc__ or "Read a message from a Slack channel, user, or conversation.",
|
272
|
+
"args_schema": ReadMessagesModel,
|
273
|
+
"ref": self.read_messages
|
274
|
+
},
|
275
|
+
{
|
276
|
+
"name": "create_slack_channel",
|
277
|
+
"description": self.create_slack_channel.__doc__ or "Create a Slack channel",
|
278
|
+
"args_schema": CreateChannelModel,
|
279
|
+
"ref": self.create_slack_channel
|
280
|
+
},
|
281
|
+
{
|
282
|
+
"name": "list_channel_users",
|
283
|
+
"description": self.list_channel_users.__doc__ or "List all users in the Slack channel.",
|
284
|
+
"args_schema": ListChannelUsersModel,
|
285
|
+
"ref": self.list_channel_users
|
286
|
+
},
|
287
|
+
{
|
288
|
+
"name": "list_workspace_users",
|
289
|
+
"description": self.list_workspace_users.__doc__ or "List all users in the Slack workspace.",
|
290
|
+
"args_schema": ListWorkspaceUsersModel,
|
291
|
+
"ref": self.list_workspace_users
|
292
|
+
}
|
293
|
+
,
|
294
|
+
{
|
295
|
+
"name": "invite_to_conversation",
|
296
|
+
"description": self.invite_to_conversation.__doc__ or "Invite to a conversation in the Slack workspace.",
|
297
|
+
"args_schema": InviteToConversationModel,
|
298
|
+
"ref": self.invite_to_conversation
|
299
|
+
}
|
300
|
+
|
301
|
+
]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: alita_sdk
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.202
|
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
|
@@ -1,183 +0,0 @@
|
|
1
|
-
import logging
|
2
|
-
from typing import Optional
|
3
|
-
from pydantic import BaseModel, Field, SecretStr, create_model, model_validator
|
4
|
-
from slack_sdk import WebClient
|
5
|
-
from slack_sdk.errors import SlackApiError
|
6
|
-
|
7
|
-
from alita_sdk.tools.elitea_base import BaseToolApiWrapper
|
8
|
-
|
9
|
-
|
10
|
-
logger = logging.getLogger(__name__)
|
11
|
-
|
12
|
-
SendMessageModel = create_model(
|
13
|
-
"SendMessageModel",
|
14
|
-
message=(str, Field(description="The message text to send."))
|
15
|
-
)
|
16
|
-
|
17
|
-
ReadMessagesModel = create_model(
|
18
|
-
"ReadMessagesModel",
|
19
|
-
limit=(int, Field(default=10, description="The number of messages to fetch (default is 10)."))
|
20
|
-
)
|
21
|
-
|
22
|
-
CreateChannelModel = create_model(
|
23
|
-
"CreateChannelModel",
|
24
|
-
channel_name=(str, Field(description="Channel ID, user ID, or conversation ID to send the message to. (like C12345678 for public channels, D12345678 for DMs)")),
|
25
|
-
is_private=(bool, Field(default=False, description="Whether to make the channel private (default: False)."))
|
26
|
-
)
|
27
|
-
|
28
|
-
ListUsersModel = create_model(
|
29
|
-
"ListUsersModel"
|
30
|
-
)
|
31
|
-
|
32
|
-
|
33
|
-
class SlackApiWrapper(BaseToolApiWrapper):
|
34
|
-
|
35
|
-
"""
|
36
|
-
Slack API wrapper for interacting with Slack channels and messages.
|
37
|
-
"""
|
38
|
-
slack_token: Optional[SecretStr] = Field(default=None,description="Slack Bot/User OAuth Token like XOXB-*****-*****-*****-*****")
|
39
|
-
channel_id: Optional[str] = Field(default=None, description="Channel ID, user ID, or conversation ID to send the message to. (like C12345678 for public channels, D12345678 for DMs)")
|
40
|
-
|
41
|
-
@model_validator(mode="before")
|
42
|
-
@classmethod
|
43
|
-
def validate_toolkit(cls, values):
|
44
|
-
token = values.get("slack_token")
|
45
|
-
if not token:
|
46
|
-
logger.error("Slack token is required for authentication.")
|
47
|
-
raise ValueError("Slack token is required for authentication.")
|
48
|
-
return values
|
49
|
-
def _get_client(self):
|
50
|
-
if not hasattr(self, "_client") or self._client is None:
|
51
|
-
self._client = WebClient(token=self.slack_token.get_secret_value())
|
52
|
-
return self._client
|
53
|
-
|
54
|
-
def send_message(self, message: str):
|
55
|
-
"""
|
56
|
-
Sends a message to a specified Slack channel, user, or conversation.
|
57
|
-
"""
|
58
|
-
|
59
|
-
try:
|
60
|
-
|
61
|
-
client = self._get_client()
|
62
|
-
response = client.chat_postMessage(channel=self.channel_id, text=message)
|
63
|
-
logger.info(f"Message sent to {self.channel_id}: {message}")
|
64
|
-
return f"Message sent successfully to {self.channel_id}."
|
65
|
-
|
66
|
-
except SlackApiError as e:
|
67
|
-
logger.error(f"Failed to send message to {self.channel_id}: {e.response['error']}")
|
68
|
-
return f"Received the error : {e.response['error']}"
|
69
|
-
|
70
|
-
def read_messages(self, limit=10):
|
71
|
-
"""
|
72
|
-
Reads the latest messages from a Slack channel or conversation.
|
73
|
-
|
74
|
-
:param limit: int: The number of messages to fetch (default is 10)
|
75
|
-
:return: list: Returns a list of messages with metadata.
|
76
|
-
"""
|
77
|
-
try:
|
78
|
-
|
79
|
-
client = self._get_client()
|
80
|
-
logger.info(f"auth test: {client.auth_test()}")
|
81
|
-
# Fetch conversation history
|
82
|
-
response = client.conversations_history(
|
83
|
-
channel=self.channel_id,
|
84
|
-
limit=limit )
|
85
|
-
|
86
|
-
# Extract messages from the response
|
87
|
-
messages = self.extract_slack_messages(response.get('messages', []))
|
88
|
-
|
89
|
-
return messages
|
90
|
-
|
91
|
-
except SlackApiError as e:
|
92
|
-
# Handle errors from the Slack API
|
93
|
-
logger.error(f"Failed to read message from {self.channel_id}: {e.response['error']}")
|
94
|
-
return f"Received the error : {e.response['error']}"
|
95
|
-
|
96
|
-
def create_slack_channel(self, channel_name: str, is_private=False):
|
97
|
-
"""
|
98
|
-
Creates a new Slack channel.
|
99
|
-
|
100
|
-
:param channel_name: str: Desired name for the channel (e.g., "my-new-channel").
|
101
|
-
:param is_private: bool: Whether to make the channel private (default: False).
|
102
|
-
:return: dict: Slack API response or error message.
|
103
|
-
"""
|
104
|
-
|
105
|
-
try:
|
106
|
-
client = self._get_client()
|
107
|
-
response = client.conversations_create(
|
108
|
-
name=channel_name,
|
109
|
-
is_private=is_private
|
110
|
-
)
|
111
|
-
channel_id = response["channel"]["id"]
|
112
|
-
print(f"Channel '{channel_name}' created successfully! Channel ID: {channel_id}")
|
113
|
-
return {"success": True, "channel_id": channel_id}
|
114
|
-
except SlackApiError as e:
|
115
|
-
error_message = e.response.get("error", "unknown_error")
|
116
|
-
print(f"Failed to create channel '{channel_name}': {error_message}")
|
117
|
-
return {"success": False, "error": error_message}
|
118
|
-
|
119
|
-
def list_users(self):
|
120
|
-
"""
|
121
|
-
Lists all users in the Slack workspace.
|
122
|
-
|
123
|
-
:return: list: List of users with their IDs and names.
|
124
|
-
"""
|
125
|
-
|
126
|
-
|
127
|
-
try:
|
128
|
-
client = self._get_client()
|
129
|
-
print(client.auth_test())
|
130
|
-
response = client.users_list()
|
131
|
-
users = response["members"]
|
132
|
-
return [{"id": user["id"], "name": user["name"]} for user in users if not user["is_bot"]]
|
133
|
-
|
134
|
-
except SlackApiError as e:
|
135
|
-
logger.error(f"Failed to list users: {e.response['error']}")
|
136
|
-
return f"Received the error : {e.response['error']}"
|
137
|
-
|
138
|
-
def extract_slack_messages(self, data):
|
139
|
-
extracted_info = []
|
140
|
-
|
141
|
-
for item in data:
|
142
|
-
# Extract 'user' and 'text'
|
143
|
-
user = item.get("user", "Undefined User")
|
144
|
-
message = item.get("text", "No message")
|
145
|
-
|
146
|
-
# Extract 'app name'
|
147
|
-
app_name = item.get("bot_profile", {}).get("name", "No App Name")
|
148
|
-
|
149
|
-
# Append to result
|
150
|
-
extracted_info.append({"user": user, "message": message, "app_name": app_name})
|
151
|
-
|
152
|
-
return extracted_info
|
153
|
-
|
154
|
-
|
155
|
-
def get_available_tools(self):
|
156
|
-
return [
|
157
|
-
{
|
158
|
-
"name": "send_message",
|
159
|
-
"description": self.send_message.__doc__ or "Send a message to a Slack channel, user, or conversation.",
|
160
|
-
"args_schema": SendMessageModel,
|
161
|
-
"ref": self.send_message
|
162
|
-
|
163
|
-
},
|
164
|
-
{
|
165
|
-
"name": "read_messages",
|
166
|
-
"description": self.read_messages.__doc__ or "Send a message to a Slack channel, user, or conversation.",
|
167
|
-
"args_schema": ReadMessagesModel,
|
168
|
-
"ref": self.read_messages
|
169
|
-
},
|
170
|
-
{
|
171
|
-
"name": "create_channel",
|
172
|
-
"description": self.create_slack_channel.__doc__ or "Send a message to a Slack channel, user, or conversation.",
|
173
|
-
"args_schema": CreateChannelModel,
|
174
|
-
"ref": self.create_slack_channel
|
175
|
-
},
|
176
|
-
{
|
177
|
-
"name": "list_users",
|
178
|
-
"description": self.list_users.__doc__ or "List all users in the Slack workspace.",
|
179
|
-
"args_schema": ListUsersModel,
|
180
|
-
"ref": self.list_users
|
181
|
-
}
|
182
|
-
|
183
|
-
]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/ado_analyse/__init__.py
RENAMED
File without changes
|
{alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/ado_analyse/api_wrapper.py
RENAMED
File without changes
|
{alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/github_analyse/__init__.py
RENAMED
File without changes
|
{alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/github_analyse/api_wrapper.py
RENAMED
File without changes
|
{alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/gitlab_analyse/__init__.py
RENAMED
File without changes
|
{alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/gitlab_analyse/api_wrapper.py
RENAMED
File without changes
|
{alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/jira_analyse/__init__.py
RENAMED
File without changes
|
{alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/community/analysis/jira_analyse/api_wrapper.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
|
{alita_sdk-0.3.200 → alita_sdk-0.3.202}/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.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/__init__.py
RENAMED
File without changes
|
{alita_sdk-0.3.200 → alita_sdk-0.3.202}/alita_sdk/runtime/langchain/document_loaders/constants.py
RENAMED
File without changes
|