veadk-python 0.5.31__tar.gz → 0.5.34__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.
- {veadk_python-0.5.31 → veadk_python-0.5.34}/PKG-INFO +24 -3
- {veadk_python-0.5.31 → veadk_python-0.5.34}/README.md +20 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/pyproject.toml +5 -4
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_agent.py +27 -14
- veadk_python-0.5.34/tests/test_feishu_channel_extension.py +219 -0
- veadk_python-0.5.34/veadk/community/langchain_ai/tools/execute_skills.py +100 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/tools/run_code.py +13 -56
- veadk_python-0.5.34/veadk/extensions/__init__.py +17 -0
- veadk_python-0.5.34/veadk/extensions/feishu_channel.py +390 -0
- veadk_python-0.5.34/veadk/tools/builtin_tools/_agentkit.py +155 -0
- veadk_python-0.5.34/veadk/tools/builtin_tools/coding.py +33 -0
- veadk_python-0.5.34/veadk/tools/builtin_tools/execute_skills.py +57 -0
- veadk_python-0.5.34/veadk/tools/builtin_tools/run_code.py +73 -0
- veadk_python-0.5.31/veadk/community/langchain_ai/tools/execute_skills.py → veadk_python-0.5.34/veadk/tools/builtin_tools/run_sandbox_agent.py +82 -120
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/version.py +1 -1
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk_python.egg-info/PKG-INFO +24 -3
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk_python.egg-info/SOURCES.txt +6 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk_python.egg-info/requires.txt +3 -2
- veadk_python-0.5.31/veadk/tools/builtin_tools/execute_skills.py +0 -267
- veadk_python-0.5.31/veadk/tools/builtin_tools/run_code.py +0 -127
- {veadk_python-0.5.31 → veadk_python-0.5.34}/LICENSE +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/setup.cfg +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_cloud.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_evaluator.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_knowledgebase.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_long_term_memory.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_misc.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_multiple_agents.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_runner.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_runtime_data_collecting.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_short_term_memory.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_tracing.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_ve_a2a_middlewares.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_ve_identity_auth_config.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_ve_identity_function_tool.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_ve_identity_mcp_tool.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/tests/test_ve_identity_mcp_toolset.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/agent_card.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/hub/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/hub/a2a_hub_client.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/hub/a2a_hub_server.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/hub/models.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/hub/rocketmq_middleware.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/remote_ve_agent.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/utils/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/utils/agent_to_a2a.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/ve_a2a_server.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/ve_agent_executor.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/ve_middlewares.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/a2a/ve_task_store.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/agent.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/agent_builder.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/agents/loop_agent.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/agents/parallel_agent.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/agents/sequential_agent.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/agents/supervise_agent.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/base_auth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/middleware/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/middleware/oauth2_auth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/ve_credential_service.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/veauth/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/veauth/apmplus_veauth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/veauth/ark_veauth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/veauth/base_veauth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/veauth/cozeloop_veauth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/veauth/mse_veauth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/veauth/opensearch_veauth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/veauth/postgresql_veauth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/veauth/prompt_pilot_veauth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/veauth/speech_veauth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/veauth/utils.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/veauth/vesearch_veauth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/auth/veauth/viking_mem0_veauth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli_agentkit.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli_clean.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli_create.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli_deploy.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli_eval.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli_init.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli_kb.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli_pipeline.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli_prompt.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli_rl.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli_update.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli_uploadevalset.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/cli_web.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/ark/README.md +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/ark/arkworkspace.toml +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/ark/data/demo_dataset.jsonl +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/ark/job.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/ark/job.yaml +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/ark/plugins/random_reward.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/ark/plugins/raw_async_veadk_rollout.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/ark/plugins/test_utils.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/ark/requirements.txt +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/ark/test_faas.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/lightning/README.md +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/lightning/data/demo_test.parquet +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/lightning/data/demo_train.parquet +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/lightning/demo_calculate_agent.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/lightning/restart_ray.sh +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cli/templates/rl/lightning/train.sh +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cloud/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cloud/cloud_agent_engine.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/cloud/cloud_app.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/checkpoint/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/checkpoint/memory/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/middlewares/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/middlewares/save_session.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/models/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/models/ark_model.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/store/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/store/memory/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/store/memory/viking_memory.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/tools/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/tools/load_knowledgebase.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/tools/load_memory.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/community/langchain_ai/tools/web_search.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/config.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/configs/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/configs/auth_configs.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/configs/database_configs.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/configs/dynamic_config_manager.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/configs/model_configs.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/configs/tool_configs.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/configs/tracing_configs.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/consts.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/evaluation/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/evaluation/adk_evaluator/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/evaluation/adk_evaluator/adk_evaluator.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/evaluation/base_evaluator.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/evaluation/deepeval_evaluator/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/evaluation/eval_set_file_loader.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/evaluation/eval_set_recorder.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/evaluation/types.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/evaluation/utils/prometheus.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/examples/in_memory_example_store.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/examples/types.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/flows/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/flows/supervise_auto_flow.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/flows/supervise_single_flow.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_apig/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_apig/ve_apig.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_apig/ve_apig_utils.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_code_pipeline/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_code_pipeline/ve_code_pipeline.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_cozeloop/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_cozeloop/ve_cozeloop.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_cr/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_cr/ve_cr.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/template/cookiecutter.json +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/agent.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/agent.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/ve_faas.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/ve_faas_utils.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/cookiecutter.json +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/Dockerfile +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/init_db.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/models.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/css/style.css +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/js/admin.js +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/dashboard.html +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/edit_post.html +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/login.html +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/posts.html +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/base.html +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/index.html +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/post.html +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_identity/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_identity/auth_config.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_identity/auth_mixins.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_identity/auth_processor.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_identity/function_tool.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_identity/identity_client.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_identity/mcp_tool.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_identity/mcp_toolset.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_identity/models.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_identity/token_manager.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_identity/utils.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_prompt_pilot/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_prompt_pilot/ve_prompt_pilot.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_tls/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_tls/utils.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_tls/ve_tls.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_tos/ve_tos.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_viking_db_memory/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/integrations/ve_viking_db_memory/ve_viking_db_memory.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/knowledgebase/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/knowledgebase/backends/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/knowledgebase/backends/base_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/knowledgebase/backends/context_search_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/knowledgebase/backends/in_memory_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/knowledgebase/backends/opensearch_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/knowledgebase/backends/redis_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/knowledgebase/backends/tos_vector_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/knowledgebase/backends/utils.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/knowledgebase/backends/vikingdb_knowledge_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/knowledgebase/entry.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/knowledgebase/knowledgebase.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/knowledgebase/types.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/long_term_memory.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/long_term_memory_backends/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/long_term_memory_backends/base_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/long_term_memory_backends/in_memory_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/long_term_memory_backends/mem0_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/long_term_memory_backends/opensearch_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/long_term_memory_backends/redis_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/save_session_callback.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/short_term_memory.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/short_term_memory_backends/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/short_term_memory_backends/base_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/short_term_memory_backends/mysql_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/short_term_memory_backends/postgresql_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/short_term_memory_backends/sqlite_backend.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/short_term_memory_processor.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/memory/types.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/models/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/models/ark_embedding.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/models/ark_llm.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/processors/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/processors/base_run_processor.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/prompts/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/prompts/agent_default_prompt.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/prompts/prompt_evaluator.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/prompts/prompt_manager.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/prompts/prompt_memory_processor.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/prompts/prompt_optimization.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/realtime/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/realtime/client.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/realtime/doubao_realtime_voice_llm.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/realtime/doubao_realtime_voice_llm_connection.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/realtime/live.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/realtime/protocol.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/reflector/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/reflector/base_reflector.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/reflector/local_reflector.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/runner.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/skills/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/skills/check_skills_callback.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/skills/skill.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/skills/utils.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/toolkits/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/toolkits/apps/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/toolkits/apps/reverse_mcp/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/toolkits/apps/reverse_mcp/client_with_reverse_mcp.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/toolkits/apps/reverse_mcp/server_with_reverse_mcp.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/toolkits/audio/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/toolkits/audio/asr/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/toolkits/audio/asr/asr_client.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/toolkits/audio/tts/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/toolkits/audio/tts/protocols.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/toolkits/audio/tts/tts_client.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/toolkits/dataset_auto_gen_callback.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/agent_authorization.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/generate_image.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/image_edit.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/image_generate.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/lark.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/las.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/link_reader.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/llm_shield.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/load_kb_queries.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/load_knowledgebase.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/mcp_router.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/mobile_run.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/parallel_web_search.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/playwright.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/supabase_toolset.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/tts.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/vesearch.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/video_generate.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/vod.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/web_scraper.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/builtin_tools/web_search.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/demo_tools.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/ghost_char.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/load_history_events.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/load_knowledgebase_tool.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/mcp_tool/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/mcp_tool/trusted_mcp_session_manager.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/mcp_tool/trusted_mcp_toolset.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/sandbox/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/sandbox/browser_sandbox.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/sandbox/code_sandbox.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/sandbox/computer_sandbox.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/skills_tools/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/skills_tools/bash_tool.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/skills_tools/download_skills_tool.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/skills_tools/file_tool.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/skills_tools/register_skills_tool.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/skills_tools/session_path.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/skills_tools/skills_tool.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/skills_tools/skills_toolset.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/vanna_tools/agent_memory.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/vanna_tools/clickhouse/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/vanna_tools/clickhouse/sql_runner.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/vanna_tools/examples/example.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/vanna_tools/examples/example_with_vikingdb_training.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/vanna_tools/file_system.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/vanna_tools/python.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/vanna_tools/run_sql.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/vanna_tools/summarize_data.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/vanna_tools/vanna_toolset.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/vanna_tools/vanna_trainer.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/vanna_tools/vikingdb_agent_memory.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tools/vanna_tools/visualize_data.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/base_tracer.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/attributes/attributes.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/attributes/extractors/common_attributes_extractors.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/attributes/extractors/llm_attributes_extractors.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/attributes/extractors/tool_attributes_extractors.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/attributes/extractors/types.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/exporters/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/exporters/apmplus_exporter.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/exporters/base_exporter.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/exporters/cozeloop_exporter.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/exporters/inmemory_exporter.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/exporters/tls_exporter.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/opentelemetry_tracer.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/tracing/telemetry/telemetry.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/types.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/utils/__init__.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/utils/audio_manager.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/utils/auth.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/utils/logger.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/utils/mcp_utils.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/utils/misc.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/utils/patches.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk/utils/volcengine_sign.py +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk_python.egg-info/dependency_links.txt +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk_python.egg-info/entry_points.txt +0 -0
- {veadk_python-0.5.31 → veadk_python-0.5.34}/veadk_python.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: veadk-python
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.34
|
|
4
4
|
Summary: Volcengine agent development kit, integrations with Volcengine cloud services.
|
|
5
5
|
Author-email: Yaozheng Fang <fangyozheng@gmail.com>, Guodong Li <cu.eric.lee@gmail.com>, Zhi Han <sliverydayday@gmail.com>, Meng Wang <mengwangwm@gmail.com>
|
|
6
6
|
License: Apache License
|
|
@@ -209,9 +209,9 @@ Requires-Python: >=3.10
|
|
|
209
209
|
Description-Content-Type: text/markdown
|
|
210
210
|
License-File: LICENSE
|
|
211
211
|
Requires-Dist: pydantic-settings==2.10.1
|
|
212
|
-
Requires-Dist: a2a-sdk
|
|
212
|
+
Requires-Dist: a2a-sdk==0.3.7
|
|
213
213
|
Requires-Dist: deprecated==1.2.18
|
|
214
|
-
Requires-Dist: google-adk
|
|
214
|
+
Requires-Dist: google-adk==1.19.0
|
|
215
215
|
Requires-Dist: litellm<=1.82.6,>=1.74.3
|
|
216
216
|
Requires-Dist: loguru==0.7.3
|
|
217
217
|
Requires-Dist: opentelemetry-exporter-otlp==1.37.0
|
|
@@ -243,6 +243,7 @@ Requires-Dist: llama-index-llms-openai-like==0.5.1; extra == "extensions"
|
|
|
243
243
|
Requires-Dist: llama-index-vector-stores-redis>=0.6.1; extra == "extensions"
|
|
244
244
|
Requires-Dist: llama-index-vector-stores-opensearch==0.6.1; extra == "extensions"
|
|
245
245
|
Requires-Dist: opensearch-py==2.8.0; extra == "extensions"
|
|
246
|
+
Requires-Dist: lark-oapi; extra == "extensions"
|
|
246
247
|
Provides-Extra: database
|
|
247
248
|
Requires-Dist: redis>=5.0; extra == "database"
|
|
248
249
|
Requires-Dist: pymysql>=1.1.1; extra == "database"
|
|
@@ -343,6 +344,21 @@ res = asyncio.run(agent.run("hello!"))
|
|
|
343
344
|
print(res)
|
|
344
345
|
```
|
|
345
346
|
|
|
347
|
+
## Feishu bot channel
|
|
348
|
+
|
|
349
|
+
VeADK now provides `veadk.extensions.FeishuChannelExtension` for bridging a Feishu bot with a `Runner`. It maps `union_id` to `user_id`, and `thread_id` / `chat_id` to `session_id`, so VeADK memory and tracing can work directly in Feishu conversations.
|
|
350
|
+
|
|
351
|
+
```python
|
|
352
|
+
from veadk import Agent, Runner
|
|
353
|
+
from veadk.extensions import FeishuChannelExtension
|
|
354
|
+
|
|
355
|
+
agent = Agent()
|
|
356
|
+
runner = Runner(agent=agent, app_name="feishu_demo")
|
|
357
|
+
channel = FeishuChannelExtension(runner=runner)
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
Configure credentials with `TOOL_FEISHU_CHANNEL_APP_ID` and `TOOL_FEISHU_CHANNEL_APP_SECRET`, or in `config.yaml` under `tool.feishu_channel`.
|
|
361
|
+
|
|
346
362
|
## Command line tools
|
|
347
363
|
|
|
348
364
|
VeADK provides several useful command line tools for faster deployment and optimization, such as:
|
|
@@ -365,6 +381,11 @@ Before commit or push your changes, please make sure the unittests are passed ,o
|
|
|
365
381
|
pytest -n 16
|
|
366
382
|
```
|
|
367
383
|
|
|
384
|
+
## Security and privacy
|
|
385
|
+
|
|
386
|
+
This project takes security seriously.
|
|
387
|
+
For vulnerability reporting and supported versions, see [SECURITY.md](SECURITY.md)
|
|
388
|
+
|
|
368
389
|
## Contact with us
|
|
369
390
|
|
|
370
391
|
Join our discussion group by scanning the QR code below:
|
|
@@ -80,6 +80,21 @@ res = asyncio.run(agent.run("hello!"))
|
|
|
80
80
|
print(res)
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
+
## Feishu bot channel
|
|
84
|
+
|
|
85
|
+
VeADK now provides `veadk.extensions.FeishuChannelExtension` for bridging a Feishu bot with a `Runner`. It maps `union_id` to `user_id`, and `thread_id` / `chat_id` to `session_id`, so VeADK memory and tracing can work directly in Feishu conversations.
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
from veadk import Agent, Runner
|
|
89
|
+
from veadk.extensions import FeishuChannelExtension
|
|
90
|
+
|
|
91
|
+
agent = Agent()
|
|
92
|
+
runner = Runner(agent=agent, app_name="feishu_demo")
|
|
93
|
+
channel = FeishuChannelExtension(runner=runner)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Configure credentials with `TOOL_FEISHU_CHANNEL_APP_ID` and `TOOL_FEISHU_CHANNEL_APP_SECRET`, or in `config.yaml` under `tool.feishu_channel`.
|
|
97
|
+
|
|
83
98
|
## Command line tools
|
|
84
99
|
|
|
85
100
|
VeADK provides several useful command line tools for faster deployment and optimization, such as:
|
|
@@ -102,6 +117,11 @@ Before commit or push your changes, please make sure the unittests are passed ,o
|
|
|
102
117
|
pytest -n 16
|
|
103
118
|
```
|
|
104
119
|
|
|
120
|
+
## Security and privacy
|
|
121
|
+
|
|
122
|
+
This project takes security seriously.
|
|
123
|
+
For vulnerability reporting and supported versions, see [SECURITY.md](SECURITY.md)
|
|
124
|
+
|
|
105
125
|
## Contact with us
|
|
106
126
|
|
|
107
127
|
Join our discussion group by scanning the QR code below:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "veadk-python"
|
|
3
|
-
version = "0.5.
|
|
3
|
+
version = "0.5.34"
|
|
4
4
|
description = "Volcengine agent development kit, integrations with Volcengine cloud services."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -13,9 +13,9 @@ authors = [
|
|
|
13
13
|
]
|
|
14
14
|
dependencies = [
|
|
15
15
|
"pydantic-settings==2.10.1", # Config management
|
|
16
|
-
"a2a-sdk
|
|
16
|
+
"a2a-sdk==0.3.7", # For Google Agent2Agent protocol
|
|
17
17
|
"deprecated==1.2.18",
|
|
18
|
-
"google-adk
|
|
18
|
+
"google-adk==1.19.0", # For basic agent architecture
|
|
19
19
|
"litellm>=1.74.3,<=1.82.6", # For model inference
|
|
20
20
|
"loguru==0.7.3", # For better logging
|
|
21
21
|
"opentelemetry-exporter-otlp==1.37.0",
|
|
@@ -53,6 +53,7 @@ extensions = [
|
|
|
53
53
|
"llama-index-vector-stores-redis>=0.6.1", # For Redis database
|
|
54
54
|
"llama-index-vector-stores-opensearch==0.6.1", # For Opensearch database
|
|
55
55
|
"opensearch-py==2.8.0",
|
|
56
|
+
"lark-oapi",
|
|
56
57
|
]
|
|
57
58
|
database = [
|
|
58
59
|
"redis>=5.0", # For Redis database
|
|
@@ -97,4 +98,4 @@ include-package-data = true
|
|
|
97
98
|
exclude = [
|
|
98
99
|
"veadk/integrations/ve_faas/template/*",
|
|
99
100
|
"veadk/integrations/ve_faas/web_template/*"
|
|
100
|
-
]
|
|
101
|
+
]
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
import os
|
|
16
|
-
from unittest.mock import Mock, patch
|
|
16
|
+
from unittest.mock import Mock, PropertyMock, patch
|
|
17
17
|
|
|
18
18
|
from google.adk.agents.llm_agent import LlmAgent
|
|
19
19
|
from google.adk.models.lite_llm import LiteLlm
|
|
@@ -76,19 +76,32 @@ def test_agent():
|
|
|
76
76
|
|
|
77
77
|
@patch.dict("os.environ", {"MODEL_AGENT_API_KEY": "mock_api_key"})
|
|
78
78
|
def test_agent_default_values():
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
79
|
+
with (
|
|
80
|
+
patch("veadk.agent.settings.model.name", new=DEFAULT_MODEL_AGENT_NAME),
|
|
81
|
+
patch("veadk.agent.settings.model.provider", new=DEFAULT_MODEL_AGENT_PROVIDER),
|
|
82
|
+
patch(
|
|
83
|
+
"veadk.agent.settings.model.api_base",
|
|
84
|
+
new=DEFAULT_MODEL_AGENT_API_BASE,
|
|
85
|
+
),
|
|
86
|
+
patch(
|
|
87
|
+
"veadk.configs.model_configs.ModelConfig.api_key",
|
|
88
|
+
new_callable=PropertyMock,
|
|
89
|
+
return_value="mock_api_key",
|
|
90
|
+
),
|
|
91
|
+
):
|
|
92
|
+
agent = Agent()
|
|
93
|
+
|
|
94
|
+
assert agent.name == DEFAULT_AGENT_NAME
|
|
95
|
+
|
|
96
|
+
assert agent.model_name == DEFAULT_MODEL_AGENT_NAME
|
|
97
|
+
assert agent.model_provider == DEFAULT_MODEL_AGENT_PROVIDER
|
|
98
|
+
assert agent.model_api_base == DEFAULT_MODEL_AGENT_API_BASE
|
|
99
|
+
|
|
100
|
+
assert agent.tools == []
|
|
101
|
+
assert agent.sub_agents == []
|
|
102
|
+
assert agent.knowledgebase is None
|
|
103
|
+
assert agent.long_term_memory is None
|
|
104
|
+
# assert agent.tracers == []
|
|
92
105
|
|
|
93
106
|
|
|
94
107
|
@patch.dict("os.environ", {"MODEL_AGENT_API_KEY": "mock_api_key"})
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from types import SimpleNamespace
|
|
16
|
+
|
|
17
|
+
import pytest
|
|
18
|
+
|
|
19
|
+
from veadk.extensions.feishu_channel import FeishuChannelExtension
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@pytest.fixture
|
|
23
|
+
def anyio_backend():
|
|
24
|
+
return "asyncio"
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class FakeChannel:
|
|
28
|
+
def __init__(self):
|
|
29
|
+
self.handlers = {}
|
|
30
|
+
self.sent_messages = []
|
|
31
|
+
|
|
32
|
+
def on(self, event_name, handler):
|
|
33
|
+
self.handlers[event_name] = handler
|
|
34
|
+
|
|
35
|
+
async def send(self, chat_id, body, options=None):
|
|
36
|
+
self.sent_messages.append((chat_id, body, options))
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class FakeStreamController:
|
|
40
|
+
def __init__(self):
|
|
41
|
+
self.chunks = []
|
|
42
|
+
|
|
43
|
+
async def append(self, chunk):
|
|
44
|
+
self.chunks.append(chunk)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class FakeStreamChannel(FakeChannel):
|
|
48
|
+
def __init__(self):
|
|
49
|
+
super().__init__()
|
|
50
|
+
self.stream_calls = []
|
|
51
|
+
|
|
52
|
+
async def stream(self, chat_id, spec, options=None):
|
|
53
|
+
controller = FakeStreamController()
|
|
54
|
+
await spec["markdown"](controller)
|
|
55
|
+
self.stream_calls.append((chat_id, controller.chunks, options))
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class FakeRunner:
|
|
59
|
+
def __init__(self):
|
|
60
|
+
self.calls = []
|
|
61
|
+
|
|
62
|
+
async def run(self, messages, user_id="", session_id="", **kwargs):
|
|
63
|
+
self.calls.append(
|
|
64
|
+
{
|
|
65
|
+
"messages": messages,
|
|
66
|
+
"user_id": user_id,
|
|
67
|
+
"session_id": session_id,
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
return f"echo:{messages}"
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class FakeStreamingMemory:
|
|
74
|
+
def __init__(self):
|
|
75
|
+
self.sessions = []
|
|
76
|
+
self.session_service = object()
|
|
77
|
+
|
|
78
|
+
async def create_session(self, app_name, user_id, session_id):
|
|
79
|
+
self.sessions.append(
|
|
80
|
+
{"app_name": app_name, "user_id": user_id, "session_id": session_id}
|
|
81
|
+
)
|
|
82
|
+
return True
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class FakeStreamingRunner:
|
|
86
|
+
def __init__(self):
|
|
87
|
+
self.app_name = "stream_app"
|
|
88
|
+
self.short_term_memory = FakeStreamingMemory()
|
|
89
|
+
self.run_async_calls = []
|
|
90
|
+
|
|
91
|
+
async def run_async(self, user_id, session_id, new_message, run_config=None):
|
|
92
|
+
self.run_async_calls.append(
|
|
93
|
+
{
|
|
94
|
+
"user_id": user_id,
|
|
95
|
+
"session_id": session_id,
|
|
96
|
+
"new_message": new_message,
|
|
97
|
+
"run_config": run_config,
|
|
98
|
+
}
|
|
99
|
+
)
|
|
100
|
+
yield SimpleNamespace(
|
|
101
|
+
content=SimpleNamespace(
|
|
102
|
+
parts=[
|
|
103
|
+
SimpleNamespace(text="hel", thought=False),
|
|
104
|
+
SimpleNamespace(text="thinking", thought=True),
|
|
105
|
+
]
|
|
106
|
+
)
|
|
107
|
+
)
|
|
108
|
+
yield SimpleNamespace(
|
|
109
|
+
content=SimpleNamespace(parts=[SimpleNamespace(text="lo", thought=False)])
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def build_message(**overrides):
|
|
114
|
+
message = SimpleNamespace(
|
|
115
|
+
id="om_001",
|
|
116
|
+
message_id="om_001",
|
|
117
|
+
chat_id="oc_chat",
|
|
118
|
+
chat_type="p2p",
|
|
119
|
+
thread_id="",
|
|
120
|
+
reply_to_message_id="",
|
|
121
|
+
content_text="你好",
|
|
122
|
+
sender_id="ou_sender",
|
|
123
|
+
sender=SimpleNamespace(
|
|
124
|
+
union_id="on_union",
|
|
125
|
+
open_id="ou_sender",
|
|
126
|
+
user_id="u_sender",
|
|
127
|
+
),
|
|
128
|
+
conversation=SimpleNamespace(
|
|
129
|
+
chat_id="oc_chat",
|
|
130
|
+
chat_type="p2p",
|
|
131
|
+
thread_id="",
|
|
132
|
+
),
|
|
133
|
+
reply=SimpleNamespace(message_id=""),
|
|
134
|
+
)
|
|
135
|
+
for key, value in overrides.items():
|
|
136
|
+
setattr(message, key, value)
|
|
137
|
+
return message
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
@pytest.mark.anyio
|
|
141
|
+
async def test_extension_uses_union_id_and_thread_id():
|
|
142
|
+
runner = FakeRunner()
|
|
143
|
+
channel = FakeChannel()
|
|
144
|
+
extension = FeishuChannelExtension(runner=runner, channel=channel)
|
|
145
|
+
|
|
146
|
+
message = build_message(
|
|
147
|
+
thread_id="thread_1",
|
|
148
|
+
conversation=SimpleNamespace(
|
|
149
|
+
chat_id="oc_chat",
|
|
150
|
+
chat_type="group",
|
|
151
|
+
thread_id="thread_1",
|
|
152
|
+
),
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
await extension._on_message(message)
|
|
156
|
+
|
|
157
|
+
assert runner.calls == [
|
|
158
|
+
{
|
|
159
|
+
"messages": "你好",
|
|
160
|
+
"user_id": "on_union",
|
|
161
|
+
"session_id": "thread_1",
|
|
162
|
+
}
|
|
163
|
+
]
|
|
164
|
+
assert channel.sent_messages == [
|
|
165
|
+
("oc_chat", {"text": "echo:你好"}, {"reply_to": "om_001"})
|
|
166
|
+
]
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
@pytest.mark.anyio
|
|
170
|
+
async def test_extension_falls_back_to_chat_id_when_thread_missing():
|
|
171
|
+
runner = FakeRunner()
|
|
172
|
+
channel = FakeChannel()
|
|
173
|
+
extension = FeishuChannelExtension(runner=runner, channel=channel)
|
|
174
|
+
|
|
175
|
+
message = build_message(
|
|
176
|
+
sender=SimpleNamespace(union_id="", open_id="ou_fallback", user_id="u_sender")
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
await extension._on_message(message)
|
|
180
|
+
|
|
181
|
+
assert runner.calls[0]["user_id"] == "ou_fallback"
|
|
182
|
+
assert runner.calls[0]["session_id"] == "oc_chat"
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
@pytest.mark.anyio
|
|
186
|
+
async def test_extension_ignores_empty_message_by_default():
|
|
187
|
+
runner = FakeRunner()
|
|
188
|
+
channel = FakeChannel()
|
|
189
|
+
extension = FeishuChannelExtension(runner=runner, channel=channel)
|
|
190
|
+
|
|
191
|
+
message = build_message(content_text=" ")
|
|
192
|
+
|
|
193
|
+
await extension._on_message(message)
|
|
194
|
+
|
|
195
|
+
assert runner.calls == []
|
|
196
|
+
assert channel.sent_messages == []
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
@pytest.mark.anyio
|
|
200
|
+
async def test_extension_streaming_uses_markdown_producer_controller():
|
|
201
|
+
runner = FakeStreamingRunner()
|
|
202
|
+
channel = FakeStreamChannel()
|
|
203
|
+
extension = FeishuChannelExtension(
|
|
204
|
+
runner=runner,
|
|
205
|
+
channel=channel,
|
|
206
|
+
streaming=True,
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
await extension._on_message(build_message())
|
|
210
|
+
|
|
211
|
+
assert runner.short_term_memory.sessions == [
|
|
212
|
+
{
|
|
213
|
+
"app_name": "stream_app",
|
|
214
|
+
"user_id": "on_union",
|
|
215
|
+
"session_id": "oc_chat",
|
|
216
|
+
}
|
|
217
|
+
]
|
|
218
|
+
assert len(runner.run_async_calls) == 1
|
|
219
|
+
assert channel.stream_calls == [("oc_chat", ["hel", "lo"], {"reply_to": "om_001"})]
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from typing import List, Optional
|
|
16
|
+
|
|
17
|
+
from langchain.tools import ToolRuntime, tool
|
|
18
|
+
|
|
19
|
+
from veadk.tools.builtin_tools._agentkit import (
|
|
20
|
+
get_agentkit_account_id,
|
|
21
|
+
resolve_agentkit_tool_id,
|
|
22
|
+
)
|
|
23
|
+
from veadk.tools.builtin_tools.run_sandbox_agent import (
|
|
24
|
+
_format_execution_result,
|
|
25
|
+
_build_agent_command,
|
|
26
|
+
_build_agent_runner_code,
|
|
27
|
+
)
|
|
28
|
+
from veadk.utils.logger import get_logger
|
|
29
|
+
from veadk.tools.builtin_tools._agentkit import (
|
|
30
|
+
get_agentkit_endpoint_config,
|
|
31
|
+
invoke_agentkit_run_code,
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
logger = get_logger(__name__)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
@tool
|
|
38
|
+
def execute_skills(
|
|
39
|
+
workflow_prompt: str,
|
|
40
|
+
runtime: ToolRuntime,
|
|
41
|
+
skills: Optional[List[str]] = None,
|
|
42
|
+
timeout: int = 900,
|
|
43
|
+
) -> str:
|
|
44
|
+
"""execute skills in a code sandbox and return the output.
|
|
45
|
+
For C++ code, don't execute it directly, compile and execute via Python; write sources and object files to /tmp.
|
|
46
|
+
|
|
47
|
+
Args:
|
|
48
|
+
workflow_prompt (str): instruction of workflow
|
|
49
|
+
skills (Optional[List[str]]): The skills will be invoked
|
|
50
|
+
timeout (int, optional): The timeout in seconds for the code execution, less than or equal to 900. Defaults to 900.
|
|
51
|
+
|
|
52
|
+
Returns:
|
|
53
|
+
str: The output of the code execution.
|
|
54
|
+
"""
|
|
55
|
+
|
|
56
|
+
tool_id = resolve_agentkit_tool_id("AGENTKIT_TOOL_ID_SKILLS")
|
|
57
|
+
service, region, host, _ = get_agentkit_endpoint_config()
|
|
58
|
+
logger.debug(f"tools endpoint: {host}")
|
|
59
|
+
|
|
60
|
+
session_id = runtime.session_id # type: ignore
|
|
61
|
+
agent_name = runtime.context.agent_name # type: ignore
|
|
62
|
+
user_id = runtime.context.user_id # type: ignore
|
|
63
|
+
tool_user_session_id = agent_name + "_" + user_id + "_" + session_id
|
|
64
|
+
logger.debug(f"tool_user_session_id: {tool_user_session_id}")
|
|
65
|
+
|
|
66
|
+
logger.debug(
|
|
67
|
+
f"Execute skills in session_id={session_id}, tool_id={tool_id}, host={host}, service={service}, region={region}, timeout={timeout}"
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
cmd = _build_agent_command(workflow_prompt=workflow_prompt, skills=skills)
|
|
71
|
+
try:
|
|
72
|
+
account_id = get_agentkit_account_id()
|
|
73
|
+
except KeyError as e:
|
|
74
|
+
logger.error(f"Error occurred while getting account id: {e}")
|
|
75
|
+
return {"error": str(e)}
|
|
76
|
+
|
|
77
|
+
env_vars = {"TOOL_USER_SESSION_ID": tool_user_session_id}
|
|
78
|
+
if account_id:
|
|
79
|
+
env_vars["TOS_SKILLS_DIR"] = f"tos://agentkit-platform-{account_id}/skills/"
|
|
80
|
+
|
|
81
|
+
code = _build_agent_runner_code(
|
|
82
|
+
cmd=cmd,
|
|
83
|
+
timeout=timeout,
|
|
84
|
+
env_vars=env_vars,
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
res = invoke_agentkit_run_code(
|
|
88
|
+
tool_id=tool_id,
|
|
89
|
+
tool_user_session_id=tool_user_session_id,
|
|
90
|
+
code=code,
|
|
91
|
+
timeout=timeout,
|
|
92
|
+
kernel_name="python3",
|
|
93
|
+
)
|
|
94
|
+
logger.debug(f"Invoke run code response: {res}")
|
|
95
|
+
|
|
96
|
+
try:
|
|
97
|
+
return _format_execution_result(res["Result"]["Result"])
|
|
98
|
+
except KeyError as e:
|
|
99
|
+
logger.error(f"Error occurred while running code: {e}, response is {res}")
|
|
100
|
+
return res
|
|
@@ -12,15 +12,14 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
import json
|
|
16
|
-
import os
|
|
17
|
-
|
|
18
15
|
from langchain.tools import ToolRuntime, tool
|
|
19
16
|
|
|
20
|
-
from veadk.
|
|
21
|
-
|
|
17
|
+
from veadk.tools.builtin_tools._agentkit import (
|
|
18
|
+
get_agentkit_endpoint_config,
|
|
19
|
+
invoke_agentkit_run_code,
|
|
20
|
+
resolve_agentkit_tool_id,
|
|
21
|
+
)
|
|
22
22
|
from veadk.utils.logger import get_logger
|
|
23
|
-
from veadk.utils.volcengine_sign import ve_request
|
|
24
23
|
|
|
25
24
|
logger = get_logger(__name__)
|
|
26
25
|
|
|
@@ -39,18 +38,8 @@ def run_code(code: str, language: str, runtime: ToolRuntime, timeout: int = 30)
|
|
|
39
38
|
str: The output of the code execution.
|
|
40
39
|
"""
|
|
41
40
|
|
|
42
|
-
tool_id =
|
|
43
|
-
|
|
44
|
-
service = getenv(
|
|
45
|
-
"AGENTKIT_TOOL_SERVICE_CODE", "agentkit"
|
|
46
|
-
) # temporary service for code run tool
|
|
47
|
-
region = getenv("AGENTKIT_TOOL_REGION", "cn-beijing")
|
|
48
|
-
host = getenv(
|
|
49
|
-
"AGENTKIT_TOOL_HOST", service + "." + region + ".volces.com"
|
|
50
|
-
) # temporary host for code run tool
|
|
51
|
-
scheme = os.getenv("AGENTKIT_TOOL_SCHEME", "https").lower()
|
|
52
|
-
if scheme not in {"http", "https"}:
|
|
53
|
-
scheme = "https"
|
|
41
|
+
tool_id = resolve_agentkit_tool_id("AGENTKIT_TOOL_ID_SCRIPT")
|
|
42
|
+
service, region, host, _ = get_agentkit_endpoint_config()
|
|
54
43
|
logger.debug(f"tools endpoint: {host}")
|
|
55
44
|
|
|
56
45
|
session_id = runtime.context.session_id # type: ignore
|
|
@@ -64,44 +53,12 @@ def run_code(code: str, language: str, runtime: ToolRuntime, timeout: int = 30)
|
|
|
64
53
|
f"Running code in language: {language}, session_id={session_id}, code={code}, tool_id={tool_id}, host={host}, service={service}, region={region}, timeout={timeout}"
|
|
65
54
|
)
|
|
66
55
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
logger.debug(
|
|
74
|
-
"Get AK/SK from environment variables failed. Try to use credential from Iam."
|
|
75
|
-
)
|
|
76
|
-
credential = get_credential_from_vefaas_iam()
|
|
77
|
-
ak = credential.access_key_id
|
|
78
|
-
sk = credential.secret_access_key
|
|
79
|
-
header = {"X-Security-Token": credential.session_token}
|
|
80
|
-
else:
|
|
81
|
-
logger.debug("Successfully get AK/SK from environment variables.")
|
|
82
|
-
|
|
83
|
-
res = ve_request(
|
|
84
|
-
request_body={
|
|
85
|
-
"ToolId": tool_id,
|
|
86
|
-
"UserSessionId": tool_user_session_id,
|
|
87
|
-
"OperationType": "RunCode",
|
|
88
|
-
"OperationPayload": json.dumps(
|
|
89
|
-
{
|
|
90
|
-
"code": code,
|
|
91
|
-
"timeout": timeout,
|
|
92
|
-
"kernel_name": language,
|
|
93
|
-
}
|
|
94
|
-
),
|
|
95
|
-
},
|
|
96
|
-
action="InvokeTool",
|
|
97
|
-
ak=ak,
|
|
98
|
-
sk=sk,
|
|
99
|
-
service=service,
|
|
100
|
-
version="2025-10-30",
|
|
101
|
-
region=region,
|
|
102
|
-
host=host,
|
|
103
|
-
header=header,
|
|
104
|
-
scheme=scheme, # type: ignore
|
|
56
|
+
res = invoke_agentkit_run_code(
|
|
57
|
+
tool_id=tool_id,
|
|
58
|
+
tool_user_session_id=tool_user_session_id,
|
|
59
|
+
code=code,
|
|
60
|
+
timeout=timeout,
|
|
61
|
+
kernel_name=language,
|
|
105
62
|
)
|
|
106
63
|
logger.debug(f"Invoke run code response: {res}")
|
|
107
64
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from veadk.extensions.feishu_channel import FeishuChannelExtension
|
|
16
|
+
|
|
17
|
+
__all__ = ["FeishuChannelExtension"]
|