veadk-python 0.5.28__tar.gz → 0.5.30__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.28 → veadk_python-0.5.30}/PKG-INFO +2 -2
- {veadk_python-0.5.28 → veadk_python-0.5.30}/pyproject.toml +2 -2
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/agent.py +4 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/models/ark_llm.py +18 -4
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/skills/utils.py +2 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/skills_tools/download_skills_tool.py +102 -5
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/skills_tools/register_skills_tool.py +89 -35
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/skills_tools/skills_tool.py +121 -14
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/version.py +1 -1
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk_python.egg-info/PKG-INFO +2 -2
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk_python.egg-info/requires.txt +1 -1
- {veadk_python-0.5.28 → veadk_python-0.5.30}/LICENSE +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/README.md +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/setup.cfg +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_agent.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_cloud.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_evaluator.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_knowledgebase.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_long_term_memory.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_misc.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_multiple_agents.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_runner.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_runtime_data_collecting.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_short_term_memory.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_tracing.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_ve_a2a_middlewares.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_ve_identity_auth_config.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_ve_identity_function_tool.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_ve_identity_mcp_tool.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/tests/test_ve_identity_mcp_toolset.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/agent_card.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/hub/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/hub/a2a_hub_client.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/hub/a2a_hub_server.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/hub/models.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/hub/rocketmq_middleware.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/remote_ve_agent.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/utils/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/utils/agent_to_a2a.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/ve_a2a_server.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/ve_agent_executor.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/ve_middlewares.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/a2a/ve_task_store.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/agent_builder.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/agents/loop_agent.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/agents/parallel_agent.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/agents/sequential_agent.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/agents/supervise_agent.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/base_auth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/middleware/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/middleware/oauth2_auth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/ve_credential_service.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/veauth/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/veauth/apmplus_veauth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/veauth/ark_veauth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/veauth/base_veauth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/veauth/cozeloop_veauth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/veauth/mse_veauth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/veauth/opensearch_veauth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/veauth/postgresql_veauth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/veauth/prompt_pilot_veauth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/veauth/speech_veauth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/veauth/utils.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/veauth/vesearch_veauth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/auth/veauth/viking_mem0_veauth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli_agentkit.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli_clean.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli_create.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli_deploy.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli_eval.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli_init.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli_kb.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli_pipeline.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli_prompt.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli_rl.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli_update.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli_uploadevalset.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/cli_web.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/ark/README.md +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/ark/arkworkspace.toml +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/ark/data/demo_dataset.jsonl +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/ark/job.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/ark/job.yaml +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/ark/plugins/random_reward.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/ark/plugins/raw_async_veadk_rollout.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/ark/plugins/test_utils.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/ark/requirements.txt +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/ark/test_faas.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/lightning/README.md +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/lightning/data/demo_test.parquet +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/lightning/data/demo_train.parquet +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/lightning/demo_calculate_agent.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/lightning/restart_ray.sh +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cli/templates/rl/lightning/train.sh +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cloud/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cloud/cloud_agent_engine.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/cloud/cloud_app.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/checkpoint/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/checkpoint/memory/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/middlewares/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/middlewares/save_session.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/models/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/models/ark_model.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/store/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/store/memory/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/store/memory/viking_memory.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/tools/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/tools/execute_skills.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/tools/load_knowledgebase.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/tools/load_memory.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/tools/run_code.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/community/langchain_ai/tools/web_search.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/config.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/configs/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/configs/auth_configs.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/configs/database_configs.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/configs/dynamic_config_manager.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/configs/model_configs.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/configs/tool_configs.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/configs/tracing_configs.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/consts.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/evaluation/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/evaluation/adk_evaluator/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/evaluation/adk_evaluator/adk_evaluator.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/evaluation/base_evaluator.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/evaluation/deepeval_evaluator/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/evaluation/eval_set_file_loader.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/evaluation/eval_set_recorder.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/evaluation/types.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/evaluation/utils/prometheus.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/examples/in_memory_example_store.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/examples/types.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/flows/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/flows/supervise_auto_flow.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/flows/supervise_single_flow.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_apig/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_apig/ve_apig.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_apig/ve_apig_utils.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_code_pipeline/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_code_pipeline/ve_code_pipeline.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_cozeloop/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_cozeloop/ve_cozeloop.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_cr/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_cr/ve_cr.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/template/cookiecutter.json +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/agent.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/agent.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/ve_faas.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/ve_faas_utils.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/cookiecutter.json +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/Dockerfile +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/init_db.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/models.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/css/style.css +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/js/admin.js +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/dashboard.html +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/edit_post.html +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/login.html +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/posts.html +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/base.html +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/index.html +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/post.html +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_identity/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_identity/auth_config.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_identity/auth_mixins.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_identity/auth_processor.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_identity/function_tool.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_identity/identity_client.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_identity/mcp_tool.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_identity/mcp_toolset.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_identity/models.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_identity/token_manager.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_identity/utils.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_prompt_pilot/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_prompt_pilot/ve_prompt_pilot.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_tls/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_tls/utils.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_tls/ve_tls.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_tos/ve_tos.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_viking_db_memory/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/integrations/ve_viking_db_memory/ve_viking_db_memory.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/knowledgebase/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/knowledgebase/backends/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/knowledgebase/backends/base_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/knowledgebase/backends/context_search_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/knowledgebase/backends/in_memory_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/knowledgebase/backends/opensearch_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/knowledgebase/backends/redis_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/knowledgebase/backends/tos_vector_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/knowledgebase/backends/utils.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/knowledgebase/backends/vikingdb_knowledge_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/knowledgebase/entry.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/knowledgebase/knowledgebase.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/knowledgebase/types.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/long_term_memory.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/long_term_memory_backends/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/long_term_memory_backends/base_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/long_term_memory_backends/in_memory_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/long_term_memory_backends/mem0_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/long_term_memory_backends/opensearch_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/long_term_memory_backends/redis_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/save_session_callback.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/short_term_memory.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/short_term_memory_backends/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/short_term_memory_backends/base_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/short_term_memory_backends/mysql_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/short_term_memory_backends/postgresql_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/short_term_memory_backends/sqlite_backend.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/short_term_memory_processor.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/memory/types.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/models/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/models/ark_embedding.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/processors/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/processors/base_run_processor.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/prompts/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/prompts/agent_default_prompt.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/prompts/prompt_evaluator.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/prompts/prompt_manager.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/prompts/prompt_memory_processor.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/prompts/prompt_optimization.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/realtime/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/realtime/client.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/realtime/doubao_realtime_voice_llm.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/realtime/doubao_realtime_voice_llm_connection.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/realtime/live.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/realtime/protocol.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/reflector/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/reflector/base_reflector.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/reflector/local_reflector.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/runner.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/skills/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/skills/check_skills_callback.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/skills/skill.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/toolkits/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/toolkits/apps/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/toolkits/apps/reverse_mcp/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/toolkits/apps/reverse_mcp/client_with_reverse_mcp.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/toolkits/apps/reverse_mcp/server_with_reverse_mcp.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/toolkits/audio/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/toolkits/audio/asr/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/toolkits/audio/asr/asr_client.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/toolkits/audio/tts/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/toolkits/audio/tts/protocols.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/toolkits/audio/tts/tts_client.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/toolkits/dataset_auto_gen_callback.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/agent_authorization.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/execute_skills.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/generate_image.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/image_edit.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/image_generate.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/lark.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/las.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/link_reader.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/llm_shield.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/load_kb_queries.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/load_knowledgebase.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/mcp_router.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/mobile_run.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/parallel_web_search.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/playwright.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/run_code.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/supabase_toolset.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/tts.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/vesearch.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/video_generate.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/vod.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/web_scraper.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/builtin_tools/web_search.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/demo_tools.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/ghost_char.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/load_history_events.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/load_knowledgebase_tool.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/mcp_tool/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/mcp_tool/trusted_mcp_session_manager.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/mcp_tool/trusted_mcp_toolset.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/sandbox/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/sandbox/browser_sandbox.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/sandbox/code_sandbox.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/sandbox/computer_sandbox.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/skills_tools/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/skills_tools/bash_tool.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/skills_tools/file_tool.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/skills_tools/session_path.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/skills_tools/skills_toolset.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/vanna_tools/agent_memory.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/vanna_tools/clickhouse/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/vanna_tools/clickhouse/sql_runner.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/vanna_tools/examples/example.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/vanna_tools/examples/example_with_vikingdb_training.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/vanna_tools/file_system.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/vanna_tools/python.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/vanna_tools/run_sql.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/vanna_tools/summarize_data.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/vanna_tools/vanna_toolset.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/vanna_tools/vanna_trainer.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/vanna_tools/vikingdb_agent_memory.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/vanna_tools/visualize_data.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/base_tracer.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/attributes/attributes.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/attributes/extractors/common_attributes_extractors.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/attributes/extractors/llm_attributes_extractors.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/attributes/extractors/tool_attributes_extractors.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/attributes/extractors/types.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/exporters/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/exporters/apmplus_exporter.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/exporters/base_exporter.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/exporters/cozeloop_exporter.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/exporters/inmemory_exporter.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/exporters/tls_exporter.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/opentelemetry_tracer.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tracing/telemetry/telemetry.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/types.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/utils/__init__.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/utils/audio_manager.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/utils/auth.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/utils/logger.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/utils/mcp_utils.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/utils/misc.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/utils/patches.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/utils/volcengine_sign.py +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk_python.egg-info/SOURCES.txt +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk_python.egg-info/dependency_links.txt +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/veadk_python.egg-info/entry_points.txt +0 -0
- {veadk_python-0.5.28 → veadk_python-0.5.30}/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.30
|
|
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
|
|
@@ -212,7 +212,7 @@ Requires-Dist: pydantic-settings==2.10.1
|
|
|
212
212
|
Requires-Dist: a2a-sdk>=0.3.7
|
|
213
213
|
Requires-Dist: deprecated==1.2.18
|
|
214
214
|
Requires-Dist: google-adk>=1.19.0
|
|
215
|
-
Requires-Dist: litellm
|
|
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
|
|
218
218
|
Requires-Dist: opentelemetry-instrumentation-logging>=0.56b0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "veadk-python"
|
|
3
|
-
version = "0.5.
|
|
3
|
+
version = "0.5.30"
|
|
4
4
|
description = "Volcengine agent development kit, integrations with Volcengine cloud services."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -16,7 +16,7 @@ dependencies = [
|
|
|
16
16
|
"a2a-sdk>=0.3.7", # For Google Agent2Agent protocol
|
|
17
17
|
"deprecated==1.2.18",
|
|
18
18
|
"google-adk>=1.19.0", # For basic agent architecture
|
|
19
|
-
"litellm>=1.74.3", # For model inference
|
|
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",
|
|
22
22
|
"opentelemetry-instrumentation-logging>=0.56b0",
|
|
@@ -87,6 +87,8 @@ class Agent(LlmAgent):
|
|
|
87
87
|
example_store (Optional[BaseExampleProvider]): Example store for providing example Q/A.
|
|
88
88
|
enable_shadowchar (bool): Whether to enable shadow character for the agent.
|
|
89
89
|
enable_dynamic_load_skills (bool): Whether to enable dynamic loading of skills.
|
|
90
|
+
enable_responses_cache (bool): Whether Ark Responses API should reuse
|
|
91
|
+
`previous_response_id` and caching for multi-turn continuation.
|
|
90
92
|
"""
|
|
91
93
|
|
|
92
94
|
model_config = ConfigDict(arbitrary_types_allowed=True, extra="allow")
|
|
@@ -118,6 +120,7 @@ class Agent(LlmAgent):
|
|
|
118
120
|
tracers: list[BaseTracer] = []
|
|
119
121
|
|
|
120
122
|
enable_responses: bool = False
|
|
123
|
+
enable_responses_cache: bool = True
|
|
121
124
|
|
|
122
125
|
context_cache_config: Optional[ContextCacheConfig] = None
|
|
123
126
|
|
|
@@ -194,6 +197,7 @@ class Agent(LlmAgent):
|
|
|
194
197
|
model=f"{self.model_provider}/{self.model_name}",
|
|
195
198
|
api_key=self.model_api_key,
|
|
196
199
|
api_base=self.model_api_base,
|
|
200
|
+
enable_responses_cache=self.enable_responses_cache,
|
|
197
201
|
**self.model_extra_config,
|
|
198
202
|
)
|
|
199
203
|
else:
|
|
@@ -481,10 +481,17 @@ def _remove_caching(request_data: dict) -> None:
|
|
|
481
481
|
request_data.pop("caching", None)
|
|
482
482
|
|
|
483
483
|
|
|
484
|
-
def request_reorganization_by_ark(
|
|
484
|
+
def request_reorganization_by_ark(
|
|
485
|
+
request_data: Dict, enable_responses_cache: bool = True
|
|
486
|
+
) -> Dict:
|
|
485
487
|
# 1. model provider
|
|
486
488
|
request_data = get_model_without_provider(request_data)
|
|
487
489
|
|
|
490
|
+
if not enable_responses_cache:
|
|
491
|
+
request_data.pop("previous_response_id", None)
|
|
492
|
+
_remove_caching(request_data)
|
|
493
|
+
request_data.pop("store", None)
|
|
494
|
+
|
|
488
495
|
# 2. filtered input
|
|
489
496
|
request_data["input"] = filtered_inputs(
|
|
490
497
|
request_data.get("input"),
|
|
@@ -672,7 +679,9 @@ class ArkLlmClient:
|
|
|
672
679
|
) -> Union[ArkTypeResponse, AsyncStream[ResponseStreamEvent]]:
|
|
673
680
|
# 1. Get request params
|
|
674
681
|
api_base = kwargs.pop("api_base", DEFAULT_VIDEO_MODEL_API_BASE)
|
|
675
|
-
api_key = kwargs.pop("api_key",
|
|
682
|
+
api_key = kwargs.pop("api_key", None)
|
|
683
|
+
if api_key is None:
|
|
684
|
+
api_key = settings.model.api_key
|
|
676
685
|
|
|
677
686
|
# 2. Call openai responses
|
|
678
687
|
client = AsyncArk(
|
|
@@ -689,6 +698,7 @@ class ArkLlm(Gemini):
|
|
|
689
698
|
llm_client: ArkLlmClient = Field(default_factory=ArkLlmClient)
|
|
690
699
|
_additional_args: Dict[str, Any] = None
|
|
691
700
|
use_interactions_api: bool = True
|
|
701
|
+
enable_responses_cache: bool = True
|
|
692
702
|
|
|
693
703
|
def __init__(self, **kwargs):
|
|
694
704
|
# adk version check
|
|
@@ -699,12 +709,14 @@ class ArkLlm(Gemini):
|
|
|
699
709
|
"`pip install -U 'google-adk>=1.21.0'`"
|
|
700
710
|
)
|
|
701
711
|
super().__init__(**kwargs)
|
|
712
|
+
self.enable_responses_cache = kwargs.get("enable_responses_cache", True)
|
|
702
713
|
drop_params = kwargs.pop("drop_params", None)
|
|
703
714
|
self._additional_args = dict(kwargs)
|
|
704
715
|
self._additional_args.pop("llm_client", None)
|
|
705
716
|
self._additional_args.pop("messages", None)
|
|
706
717
|
self._additional_args.pop("tools", None)
|
|
707
718
|
self._additional_args.pop("stream", None)
|
|
719
|
+
self._additional_args.pop("enable_responses_cache", None)
|
|
708
720
|
if drop_params is not None:
|
|
709
721
|
self._additional_args["drop_params"] = drop_params
|
|
710
722
|
|
|
@@ -733,7 +745,7 @@ class ArkLlm(Gemini):
|
|
|
733
745
|
# ------------------------------------------------------ #
|
|
734
746
|
# get previous_response_id
|
|
735
747
|
previous_response_id = None
|
|
736
|
-
if llm_request.previous_interaction_id:
|
|
748
|
+
if self.enable_responses_cache and llm_request.previous_interaction_id:
|
|
737
749
|
previous_response_id = llm_request.previous_interaction_id
|
|
738
750
|
responses_args = {
|
|
739
751
|
"model": self.model,
|
|
@@ -786,7 +798,9 @@ class ArkLlm(Gemini):
|
|
|
786
798
|
async def generate_content_via_responses(
|
|
787
799
|
self, responses_args: dict, stream: bool = False
|
|
788
800
|
):
|
|
789
|
-
responses_args = request_reorganization_by_ark(
|
|
801
|
+
responses_args = request_reorganization_by_ark(
|
|
802
|
+
responses_args, enable_responses_cache=self.enable_responses_cache
|
|
803
|
+
)
|
|
790
804
|
if stream:
|
|
791
805
|
responses_args["stream"] = True
|
|
792
806
|
async for part in await self.llm_client.aresponses(**responses_args):
|
|
@@ -174,6 +174,7 @@ def load_skills_from_cloud(skill_space_ids: str) -> list[Skill]:
|
|
|
174
174
|
"InnerTags": {"source": "sandbox"},
|
|
175
175
|
}
|
|
176
176
|
logger.debug(f"ListSkillsBySpaceId request body: {request_body}")
|
|
177
|
+
scheme = os.getenv("AGENTKIT_TOP_SCHEME", "https").lower()
|
|
177
178
|
|
|
178
179
|
response = ve_request(
|
|
179
180
|
request_body=request_body,
|
|
@@ -185,6 +186,7 @@ def load_skills_from_cloud(skill_space_ids: str) -> list[Skill]:
|
|
|
185
186
|
region=region,
|
|
186
187
|
host=host,
|
|
187
188
|
header={"X-Security-Token": session_token},
|
|
189
|
+
scheme=scheme,
|
|
188
190
|
)
|
|
189
191
|
|
|
190
192
|
if isinstance(response, str):
|
{veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/skills_tools/download_skills_tool.py
RENAMED
|
@@ -28,6 +28,86 @@ from veadk.utils.logger import get_logger
|
|
|
28
28
|
logger = get_logger(__name__)
|
|
29
29
|
|
|
30
30
|
|
|
31
|
+
def _download_skill_via_vestack(
|
|
32
|
+
tos_path: str,
|
|
33
|
+
skill_name: str,
|
|
34
|
+
access_key: str,
|
|
35
|
+
secret_key: str,
|
|
36
|
+
session_token: str,
|
|
37
|
+
service: str,
|
|
38
|
+
region: str,
|
|
39
|
+
host: str,
|
|
40
|
+
scheme: str,
|
|
41
|
+
zip_path: Path,
|
|
42
|
+
) -> bool:
|
|
43
|
+
import json
|
|
44
|
+
import requests
|
|
45
|
+
from veadk.utils.volcengine_sign import ve_request
|
|
46
|
+
|
|
47
|
+
try:
|
|
48
|
+
path_parts = tos_path.split("/")
|
|
49
|
+
if len(path_parts) >= 3:
|
|
50
|
+
skill_id = path_parts[1]
|
|
51
|
+
skill_version = path_parts[2]
|
|
52
|
+
else:
|
|
53
|
+
logger.error(f"Invalid TosPath format for skill '{skill_name}': {tos_path}")
|
|
54
|
+
return False
|
|
55
|
+
except Exception as e:
|
|
56
|
+
logger.error(f"Failed to parse TosPath for skill '{skill_name}': {e}")
|
|
57
|
+
return False
|
|
58
|
+
|
|
59
|
+
# Call GenTempTosObjectDownloadUrl API
|
|
60
|
+
temp_url_request_body = {
|
|
61
|
+
"SkillId": skill_id,
|
|
62
|
+
"SkillVersion": skill_version,
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
temp_url_res = ve_request(
|
|
66
|
+
request_body=temp_url_request_body,
|
|
67
|
+
action="GenTempTosObjectDownloadUrl",
|
|
68
|
+
ak=access_key,
|
|
69
|
+
sk=secret_key,
|
|
70
|
+
service=service,
|
|
71
|
+
version="2025-10-30",
|
|
72
|
+
region=region,
|
|
73
|
+
host=host,
|
|
74
|
+
header={"X-Security-Token": session_token},
|
|
75
|
+
scheme=scheme,
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
if isinstance(temp_url_res, str):
|
|
79
|
+
temp_url_res = json.loads(temp_url_res)
|
|
80
|
+
|
|
81
|
+
if (
|
|
82
|
+
"ResponseMetadata" in temp_url_res
|
|
83
|
+
and "Error" in temp_url_res["ResponseMetadata"]
|
|
84
|
+
):
|
|
85
|
+
error_details = temp_url_res["ResponseMetadata"]["Error"]
|
|
86
|
+
logger.error(
|
|
87
|
+
f"Failed to get temporary download URL for '{skill_name}': {error_details}"
|
|
88
|
+
)
|
|
89
|
+
return False
|
|
90
|
+
else:
|
|
91
|
+
signed_url = temp_url_res.get("Result", {}).get("SignedUrl")
|
|
92
|
+
if not signed_url:
|
|
93
|
+
logger.error(
|
|
94
|
+
f"Failed to get SignedUrl from GenTempTosObjectDownloadUrl response: {temp_url_res}"
|
|
95
|
+
)
|
|
96
|
+
return False
|
|
97
|
+
else:
|
|
98
|
+
try:
|
|
99
|
+
response = requests.get(signed_url)
|
|
100
|
+
response.raise_for_status()
|
|
101
|
+
with open(zip_path, "wb") as f:
|
|
102
|
+
f.write(response.content)
|
|
103
|
+
return True
|
|
104
|
+
except Exception as e:
|
|
105
|
+
logger.warning(
|
|
106
|
+
f"Failed to download skill '{skill_name}' from minio: {e}"
|
|
107
|
+
)
|
|
108
|
+
return False
|
|
109
|
+
|
|
110
|
+
|
|
31
111
|
def download_skills_tool(
|
|
32
112
|
download_path: str, skill_names: Optional[list[str]] = None
|
|
33
113
|
) -> str:
|
|
@@ -92,6 +172,7 @@ def download_skills_tool(
|
|
|
92
172
|
|
|
93
173
|
all_downloaded_skills = []
|
|
94
174
|
|
|
175
|
+
scheme = os.getenv("AGENTKIT_TOP_SCHEME", "https").lower()
|
|
95
176
|
# Iterate through each skill space
|
|
96
177
|
for skill_space_id in skill_space_ids_list:
|
|
97
178
|
try:
|
|
@@ -112,6 +193,7 @@ def download_skills_tool(
|
|
|
112
193
|
region=region,
|
|
113
194
|
host=host,
|
|
114
195
|
header={"X-Security-Token": session_token},
|
|
196
|
+
scheme=scheme,
|
|
115
197
|
)
|
|
116
198
|
|
|
117
199
|
if isinstance(response, str):
|
|
@@ -161,11 +243,26 @@ def download_skills_tool(
|
|
|
161
243
|
|
|
162
244
|
# Download zip file
|
|
163
245
|
zip_path = download_dir / f"{skill_name}.zip"
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
246
|
+
|
|
247
|
+
if cloud_provider == "vestack":
|
|
248
|
+
success = _download_skill_via_vestack(
|
|
249
|
+
tos_path=tos_path,
|
|
250
|
+
skill_name=skill_name,
|
|
251
|
+
access_key=access_key,
|
|
252
|
+
secret_key=secret_key,
|
|
253
|
+
session_token=session_token,
|
|
254
|
+
service=service,
|
|
255
|
+
region=region,
|
|
256
|
+
host=host,
|
|
257
|
+
scheme=scheme,
|
|
258
|
+
zip_path=zip_path,
|
|
259
|
+
)
|
|
260
|
+
else:
|
|
261
|
+
success = tos_client.download(
|
|
262
|
+
bucket_name=tos_bucket,
|
|
263
|
+
object_key=tos_path,
|
|
264
|
+
save_path=str(zip_path),
|
|
265
|
+
)
|
|
169
266
|
|
|
170
267
|
if not success:
|
|
171
268
|
logger.warning(f"Failed to download skill '{skill_name}'")
|
{veadk_python-0.5.28 → veadk_python-0.5.30}/veadk/tools/skills_tools/register_skills_tool.py
RENAMED
|
@@ -111,46 +111,99 @@ def register_skills_tool(
|
|
|
111
111
|
secret_key = cred.secret_access_key
|
|
112
112
|
session_token = cred.session_token
|
|
113
113
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
account_id = res["Result"]["AccountId"]
|
|
129
|
-
except KeyError as e:
|
|
130
|
-
logger.error(
|
|
131
|
-
f"Error occurred while getting account id: {e}, response is {res}"
|
|
114
|
+
account_id = ""
|
|
115
|
+
if cloud_provider != "vestack":
|
|
116
|
+
res = ve_request(
|
|
117
|
+
request_body={},
|
|
118
|
+
action="GetCallerIdentity",
|
|
119
|
+
ak=access_key,
|
|
120
|
+
sk=secret_key,
|
|
121
|
+
service="sts",
|
|
122
|
+
version="2018-01-01",
|
|
123
|
+
region=region,
|
|
124
|
+
host="sts.volcengineapi.com"
|
|
125
|
+
if cloud_provider != "byteplus"
|
|
126
|
+
else "open.byteplusapi.com",
|
|
127
|
+
header={"X-Security-Token": session_token},
|
|
132
128
|
)
|
|
133
|
-
|
|
129
|
+
try:
|
|
130
|
+
account_id = res["Result"]["AccountId"]
|
|
131
|
+
except KeyError as e:
|
|
132
|
+
logger.error(
|
|
133
|
+
f"Error occurred while getting account id: {e}, response is {res}"
|
|
134
|
+
)
|
|
135
|
+
return f"Error: Failed to get account id when registering skill '{skill_name}'."
|
|
134
136
|
|
|
135
137
|
tos_bucket = f"agentkit-platform-{region}-{account_id}-skill"
|
|
138
|
+
scheme = os.getenv("AGENTKIT_TOP_SCHEME", "https").lower()
|
|
139
|
+
if cloud_provider == "vestack":
|
|
140
|
+
import requests
|
|
141
|
+
|
|
142
|
+
# Call GenTempTosObjectUrl API
|
|
143
|
+
temp_url_request_body = {
|
|
144
|
+
"SkillName": skill_name,
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
temp_url_res = ve_request(
|
|
148
|
+
request_body=temp_url_request_body,
|
|
149
|
+
action="GenTempTosObjectUrl",
|
|
150
|
+
ak=access_key,
|
|
151
|
+
sk=secret_key,
|
|
152
|
+
service=agentkit_tool_service,
|
|
153
|
+
version="2025-10-30",
|
|
154
|
+
region=region,
|
|
155
|
+
host=agentkit_skill_host,
|
|
156
|
+
header={"X-Security-Token": session_token},
|
|
157
|
+
scheme=scheme,
|
|
158
|
+
)
|
|
136
159
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
160
|
+
if isinstance(temp_url_res, str):
|
|
161
|
+
temp_url_res = json.loads(temp_url_res)
|
|
162
|
+
|
|
163
|
+
if (
|
|
164
|
+
"ResponseMetadata" in temp_url_res
|
|
165
|
+
and "Error" in temp_url_res["ResponseMetadata"]
|
|
166
|
+
):
|
|
167
|
+
error_details = temp_url_res["ResponseMetadata"]["Error"]
|
|
168
|
+
logger.error(
|
|
169
|
+
f"Failed to get temporary upload URL for '{skill_name}': {error_details}"
|
|
170
|
+
)
|
|
171
|
+
return f"Failed to get temporary upload URL for '{skill_name}': {error_details}"
|
|
172
|
+
|
|
173
|
+
signed_url = temp_url_res.get("Result", {}).get("SignedUrl")
|
|
174
|
+
tos_url = temp_url_res.get("Result", {}).get("TosUrl")
|
|
175
|
+
|
|
176
|
+
if not signed_url or not tos_url:
|
|
177
|
+
logger.error(
|
|
178
|
+
f"Failed to get SignedUrl or TosUrl from GenTempTosObjectUrl response: {temp_url_res}"
|
|
179
|
+
)
|
|
180
|
+
return f"Failed to get temporary upload URL for '{skill_name}'."
|
|
181
|
+
|
|
182
|
+
try:
|
|
183
|
+
with open(zip_file_path, "rb") as f:
|
|
184
|
+
response = requests.put(signed_url, data=f)
|
|
185
|
+
response.raise_for_status()
|
|
186
|
+
except Exception as e:
|
|
187
|
+
logger.error(f"Failed to upload skill '{skill_name}' to minio: {e}")
|
|
188
|
+
return f"Failed to upload skill '{skill_name}' to minio: {e}"
|
|
189
|
+
else:
|
|
190
|
+
tos_client = VeTOS(
|
|
191
|
+
ak=access_key,
|
|
192
|
+
sk=secret_key,
|
|
193
|
+
session_token=session_token,
|
|
194
|
+
bucket_name=tos_bucket,
|
|
195
|
+
region=region,
|
|
196
|
+
)
|
|
144
197
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
198
|
+
object_key = (
|
|
199
|
+
f"uploads/{datetime.now().strftime('%Y%m%d_%H%M%S')}/{skill_name}.zip"
|
|
200
|
+
)
|
|
201
|
+
tos_client.upload_file(
|
|
202
|
+
file_path=zip_file_path, bucket_name=tos_bucket, object_key=object_key
|
|
203
|
+
)
|
|
204
|
+
tos_url = tos_client.build_tos_url(
|
|
205
|
+
bucket_name=tos_bucket, object_key=object_key
|
|
206
|
+
)
|
|
154
207
|
|
|
155
208
|
skill_space_ids = os.getenv("SKILL_SPACE_ID", "")
|
|
156
209
|
skill_space_ids_list = [
|
|
@@ -173,6 +226,7 @@ def register_skills_tool(
|
|
|
173
226
|
region=region,
|
|
174
227
|
host=agentkit_skill_host,
|
|
175
228
|
header={"X-Security-Token": session_token},
|
|
229
|
+
scheme=scheme,
|
|
176
230
|
)
|
|
177
231
|
|
|
178
232
|
if isinstance(response, str):
|
|
@@ -117,6 +117,12 @@ class SkillsTool(BaseTool):
|
|
|
117
117
|
# 1. Download skill from TOS if not found locally
|
|
118
118
|
user_skill_dir = skill_dir / skill_name
|
|
119
119
|
if not user_skill_dir.exists() or not user_skill_dir.is_dir():
|
|
120
|
+
cloud_provider = (os.getenv("CLOUD_PROVIDER") or "").lower()
|
|
121
|
+
if cloud_provider == "vestack":
|
|
122
|
+
error_msg = f"Error: Skill '{skill_name}' not found locally or in skill space. Downloading from TOS_SKILLS_DIR is not supported in vestack environment."
|
|
123
|
+
logger.error(error_msg)
|
|
124
|
+
return error_msg
|
|
125
|
+
|
|
120
126
|
# Try to download from TOS
|
|
121
127
|
logger.info(
|
|
122
128
|
f"Skill '{skill_name}' not found locally or in skill space, attempting to download from TOS..."
|
|
@@ -240,22 +246,35 @@ class SkillsTool(BaseTool):
|
|
|
240
246
|
|
|
241
247
|
tos_bucket, tos_path = skill.bucket_name, skill.path
|
|
242
248
|
|
|
243
|
-
# Initialize VeTOS client
|
|
244
|
-
tos_client = VeTOS(
|
|
245
|
-
ak=access_key,
|
|
246
|
-
sk=secret_key,
|
|
247
|
-
session_token=session_token,
|
|
248
|
-
bucket_name=tos_bucket,
|
|
249
|
-
region=region,
|
|
250
|
-
)
|
|
251
|
-
|
|
252
249
|
save_path = skill_dir / f"{skill_name}.zip"
|
|
253
250
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
251
|
+
cloud_provider = (os.getenv("CLOUD_PROVIDER") or "").lower()
|
|
252
|
+
if cloud_provider == "vestack":
|
|
253
|
+
success = self._download_skill_via_vestack(
|
|
254
|
+
skill=skill,
|
|
255
|
+
tos_path=tos_path,
|
|
256
|
+
cloud_provider=cloud_provider,
|
|
257
|
+
access_key=access_key,
|
|
258
|
+
secret_key=secret_key,
|
|
259
|
+
session_token=session_token,
|
|
260
|
+
skill_name=skill_name,
|
|
261
|
+
save_path=save_path,
|
|
262
|
+
)
|
|
263
|
+
else:
|
|
264
|
+
# Initialize VeTOS client
|
|
265
|
+
tos_client = VeTOS(
|
|
266
|
+
ak=access_key,
|
|
267
|
+
sk=secret_key,
|
|
268
|
+
session_token=session_token,
|
|
269
|
+
bucket_name=tos_bucket,
|
|
270
|
+
region=region,
|
|
271
|
+
)
|
|
272
|
+
|
|
273
|
+
success = tos_client.download(
|
|
274
|
+
bucket_name=tos_bucket,
|
|
275
|
+
object_key=tos_path,
|
|
276
|
+
save_path=save_path,
|
|
277
|
+
)
|
|
259
278
|
|
|
260
279
|
if not success:
|
|
261
280
|
return (
|
|
@@ -344,6 +363,94 @@ class SkillsTool(BaseTool):
|
|
|
344
363
|
logger.error(f"Failed to invoke skill {skill_name}: {e}")
|
|
345
364
|
return f"Error invoking skill '{skill_name}': {e}"
|
|
346
365
|
|
|
366
|
+
def _download_skill_via_vestack(
|
|
367
|
+
self,
|
|
368
|
+
skill: Any,
|
|
369
|
+
tos_path: str,
|
|
370
|
+
cloud_provider: str,
|
|
371
|
+
access_key: str,
|
|
372
|
+
secret_key: str,
|
|
373
|
+
session_token: str,
|
|
374
|
+
skill_name: str,
|
|
375
|
+
save_path: Any,
|
|
376
|
+
) -> bool:
|
|
377
|
+
"""Download a skill using the vestack environment GenTempTosObjectDownloadUrl API."""
|
|
378
|
+
import json
|
|
379
|
+
import requests
|
|
380
|
+
from veadk.utils.volcengine_sign import ve_request
|
|
381
|
+
|
|
382
|
+
# Extract skill_id and skill_version from TosPath
|
|
383
|
+
# skills/s-yeh6iwdnggwobasystug/v1/web-search.zip
|
|
384
|
+
skill_id = skill.id
|
|
385
|
+
skill_version = ""
|
|
386
|
+
try:
|
|
387
|
+
path_parts = tos_path.split("/")
|
|
388
|
+
if len(path_parts) >= 3:
|
|
389
|
+
skill_id = path_parts[1]
|
|
390
|
+
skill_version = path_parts[2]
|
|
391
|
+
except Exception:
|
|
392
|
+
pass
|
|
393
|
+
|
|
394
|
+
# Call GenTempTosObjectDownloadUrl API
|
|
395
|
+
temp_url_request_body = {
|
|
396
|
+
"SkillId": skill_id,
|
|
397
|
+
"SkillVersion": skill_version,
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
agentkit_tool_service = os.getenv("AGENTKIT_TOOL_SERVICE_CODE", "agentkit")
|
|
401
|
+
region = os.getenv("AGENTKIT_TOOL_REGION", "cn-beijing")
|
|
402
|
+
default_sld = "byteplusapi" if cloud_provider == "byteplus" else "volcengineapi"
|
|
403
|
+
agentkit_skill_host = os.getenv(
|
|
404
|
+
"AGENTKIT_SKILL_HOST",
|
|
405
|
+
agentkit_tool_service + "." + region + f".{default_sld}.com",
|
|
406
|
+
)
|
|
407
|
+
scheme = os.getenv("AGENTKIT_TOP_SCHEME", "https").lower()
|
|
408
|
+
|
|
409
|
+
temp_url_res = ve_request(
|
|
410
|
+
request_body=temp_url_request_body,
|
|
411
|
+
action="GenTempTosObjectDownloadUrl",
|
|
412
|
+
ak=access_key,
|
|
413
|
+
sk=secret_key,
|
|
414
|
+
service=agentkit_tool_service,
|
|
415
|
+
version="2025-10-30",
|
|
416
|
+
region=region,
|
|
417
|
+
host=agentkit_skill_host,
|
|
418
|
+
header={"X-Security-Token": session_token},
|
|
419
|
+
scheme=scheme,
|
|
420
|
+
)
|
|
421
|
+
|
|
422
|
+
if isinstance(temp_url_res, str):
|
|
423
|
+
temp_url_res = json.loads(temp_url_res)
|
|
424
|
+
|
|
425
|
+
if (
|
|
426
|
+
"ResponseMetadata" in temp_url_res
|
|
427
|
+
and "Error" in temp_url_res["ResponseMetadata"]
|
|
428
|
+
):
|
|
429
|
+
error_details = temp_url_res["ResponseMetadata"]["Error"]
|
|
430
|
+
logger.error(
|
|
431
|
+
f"Failed to get temporary download URL for '{skill_name}': {error_details}"
|
|
432
|
+
)
|
|
433
|
+
return False
|
|
434
|
+
else:
|
|
435
|
+
signed_url = temp_url_res.get("Result", {}).get("SignedUrl")
|
|
436
|
+
if not signed_url:
|
|
437
|
+
logger.error(
|
|
438
|
+
f"Failed to get SignedUrl from GenTempTosObjectDownloadUrl response: {temp_url_res}"
|
|
439
|
+
)
|
|
440
|
+
return False
|
|
441
|
+
else:
|
|
442
|
+
try:
|
|
443
|
+
response = requests.get(signed_url)
|
|
444
|
+
response.raise_for_status()
|
|
445
|
+
with open(save_path, "wb") as f:
|
|
446
|
+
f.write(response.content)
|
|
447
|
+
return True
|
|
448
|
+
except Exception as e:
|
|
449
|
+
logger.error(
|
|
450
|
+
f"Failed to download skill '{skill_name}' from minio: {e}"
|
|
451
|
+
)
|
|
452
|
+
return False
|
|
453
|
+
|
|
347
454
|
def _format_skill_content(self, skill_name: str, content: str, skill_dir) -> str:
|
|
348
455
|
"""Format skill content for display to the agent."""
|
|
349
456
|
header = (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: veadk-python
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.30
|
|
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
|
|
@@ -212,7 +212,7 @@ Requires-Dist: pydantic-settings==2.10.1
|
|
|
212
212
|
Requires-Dist: a2a-sdk>=0.3.7
|
|
213
213
|
Requires-Dist: deprecated==1.2.18
|
|
214
214
|
Requires-Dist: google-adk>=1.19.0
|
|
215
|
-
Requires-Dist: litellm
|
|
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
|
|
218
218
|
Requires-Dist: opentelemetry-instrumentation-logging>=0.56b0
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|