veadk-python 0.5.5__tar.gz → 0.5.7__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.
Files changed (308) hide show
  1. {veadk_python-0.5.5/veadk_python.egg-info → veadk_python-0.5.7}/PKG-INFO +1 -1
  2. {veadk_python-0.5.5 → veadk_python-0.5.7}/pyproject.toml +1 -1
  3. veadk_python-0.5.7/veadk/a2a/hub/a2a_hub_client.py +76 -0
  4. veadk_python-0.5.7/veadk/a2a/hub/a2a_hub_server.py +104 -0
  5. veadk_python-0.5.7/veadk/a2a/hub/models.py +78 -0
  6. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/agent.py +46 -165
  7. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli_create.py +1 -1
  8. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/consts.py +1 -1
  9. veadk_python-0.5.7/veadk/examples/in_memory_example_store.py +108 -0
  10. veadk_python-0.5.7/veadk/examples/types.py +28 -0
  11. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/knowledgebase/backends/vikingdb_knowledge_backend.py +70 -41
  12. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/models/ark_llm.py +57 -6
  13. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/runner.py +5 -0
  14. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/skills/skill.py +4 -1
  15. veadk_python-0.5.7/veadk/skills/utils.py +139 -0
  16. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/execute_skills.py +10 -29
  17. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/mcp_tool/trusted_mcp_session_manager.py +1 -1
  18. veadk_python-0.5.7/veadk/tools/skills_tools/__init__.py +32 -0
  19. veadk_python-0.5.7/veadk/tools/skills_tools/bash_tool.py +158 -0
  20. veadk_python-0.5.7/veadk/tools/skills_tools/file_tool.py +234 -0
  21. veadk_python-0.5.7/veadk/tools/skills_tools/register_skills_tool.py +176 -0
  22. veadk_python-0.5.7/veadk/tools/skills_tools/session_path.py +113 -0
  23. veadk_python-0.5.7/veadk/tools/skills_tools/skills_tool.py +235 -0
  24. veadk_python-0.5.7/veadk/utils/__init__.py +13 -0
  25. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/version.py +1 -1
  26. {veadk_python-0.5.5 → veadk_python-0.5.7/veadk_python.egg-info}/PKG-INFO +1 -1
  27. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk_python.egg-info/SOURCES.txt +12 -0
  28. veadk_python-0.5.5/veadk/skills/utils.py +0 -61
  29. {veadk_python-0.5.5 → veadk_python-0.5.7}/LICENSE +0 -0
  30. {veadk_python-0.5.5 → veadk_python-0.5.7}/README.md +0 -0
  31. {veadk_python-0.5.5 → veadk_python-0.5.7}/setup.cfg +0 -0
  32. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_agent.py +0 -0
  33. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_cloud.py +0 -0
  34. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_evaluator.py +0 -0
  35. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_knowledgebase.py +0 -0
  36. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_long_term_memory.py +0 -0
  37. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_misc.py +0 -0
  38. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_multiple_agents.py +0 -0
  39. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_runner.py +0 -0
  40. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_runtime_data_collecting.py +0 -0
  41. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_short_term_memory.py +0 -0
  42. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_tracing.py +0 -0
  43. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_ve_a2a_middlewares.py +0 -0
  44. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_ve_identity_auth_config.py +0 -0
  45. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_ve_identity_function_tool.py +0 -0
  46. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_ve_identity_mcp_tool.py +0 -0
  47. {veadk_python-0.5.5 → veadk_python-0.5.7}/tests/test_ve_identity_mcp_toolset.py +0 -0
  48. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/__init__.py +0 -0
  49. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/a2a/__init__.py +0 -0
  50. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/a2a/agent_card.py +0 -0
  51. {veadk_python-0.5.5/veadk/a2a/utils → veadk_python-0.5.7/veadk/a2a/hub}/__init__.py +0 -0
  52. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/a2a/remote_ve_agent.py +0 -0
  53. {veadk_python-0.5.5/veadk/auth → veadk_python-0.5.7/veadk/a2a/utils}/__init__.py +0 -0
  54. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/a2a/utils/agent_to_a2a.py +0 -0
  55. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/a2a/ve_a2a_server.py +0 -0
  56. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/a2a/ve_agent_executor.py +0 -0
  57. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/a2a/ve_middlewares.py +0 -0
  58. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/a2a/ve_task_store.py +0 -0
  59. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/agent_builder.py +0 -0
  60. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/agents/loop_agent.py +0 -0
  61. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/agents/parallel_agent.py +0 -0
  62. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/agents/sequential_agent.py +0 -0
  63. {veadk_python-0.5.5/veadk/auth/veauth → veadk_python-0.5.7/veadk/auth}/__init__.py +0 -0
  64. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/base_auth.py +0 -0
  65. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/ve_credential_service.py +0 -0
  66. {veadk_python-0.5.5/veadk/cli → veadk_python-0.5.7/veadk/auth/veauth}/__init__.py +0 -0
  67. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/veauth/apmplus_veauth.py +0 -0
  68. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/veauth/ark_veauth.py +0 -0
  69. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/veauth/base_veauth.py +0 -0
  70. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/veauth/cozeloop_veauth.py +0 -0
  71. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/veauth/mse_veauth.py +0 -0
  72. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/veauth/opensearch_veauth.py +0 -0
  73. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/veauth/postgresql_veauth.py +0 -0
  74. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/veauth/prompt_pilot_veauth.py +0 -0
  75. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/veauth/speech_veauth.py +0 -0
  76. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/veauth/utils.py +0 -0
  77. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/veauth/vesearch_veauth.py +0 -0
  78. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/auth/veauth/viking_mem0_veauth.py +0 -0
  79. {veadk_python-0.5.5/veadk/cloud → veadk_python-0.5.7/veadk/cli}/__init__.py +0 -0
  80. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli.py +0 -0
  81. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli_agentkit.py +0 -0
  82. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli_clean.py +0 -0
  83. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli_deploy.py +0 -0
  84. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli_eval.py +0 -0
  85. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli_init.py +0 -0
  86. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli_kb.py +0 -0
  87. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli_pipeline.py +0 -0
  88. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli_prompt.py +0 -0
  89. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli_rl.py +0 -0
  90. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli_update.py +0 -0
  91. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli_uploadevalset.py +0 -0
  92. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/cli_web.py +0 -0
  93. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/ark/README.md +0 -0
  94. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/ark/arkworkspace.toml +0 -0
  95. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/ark/data/demo_dataset.jsonl +0 -0
  96. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/ark/job.py +0 -0
  97. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/ark/job.yaml +0 -0
  98. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/ark/plugins/random_reward.py +0 -0
  99. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/ark/plugins/raw_async_veadk_rollout.py +0 -0
  100. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/ark/plugins/test_utils.py +0 -0
  101. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/ark/requirements.txt +0 -0
  102. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/ark/test_faas.py +0 -0
  103. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/lightning/README.md +0 -0
  104. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/lightning/data/demo_test.parquet +0 -0
  105. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/lightning/data/demo_train.parquet +0 -0
  106. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/lightning/demo_calculate_agent.py +0 -0
  107. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/lightning/restart_ray.sh +0 -0
  108. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cli/templates/rl/lightning/train.sh +0 -0
  109. {veadk_python-0.5.5/veadk/community/langchain_ai/checkpoint → veadk_python-0.5.7/veadk/cloud}/__init__.py +0 -0
  110. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cloud/cloud_agent_engine.py +0 -0
  111. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/cloud/cloud_app.py +0 -0
  112. {veadk_python-0.5.5/veadk/community/langchain_ai/checkpoint/memory → veadk_python-0.5.7/veadk/community/langchain_ai/checkpoint}/__init__.py +0 -0
  113. {veadk_python-0.5.5/veadk/community/langchain_ai/middlewares → veadk_python-0.5.7/veadk/community/langchain_ai/checkpoint/memory}/__init__.py +0 -0
  114. {veadk_python-0.5.5/veadk/community/langchain_ai/models → veadk_python-0.5.7/veadk/community/langchain_ai/middlewares}/__init__.py +0 -0
  115. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/community/langchain_ai/middlewares/save_session.py +0 -0
  116. {veadk_python-0.5.5/veadk/community/langchain_ai/store → veadk_python-0.5.7/veadk/community/langchain_ai/models}/__init__.py +0 -0
  117. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/community/langchain_ai/models/ark_model.py +0 -0
  118. {veadk_python-0.5.5/veadk/community/langchain_ai/store/memory → veadk_python-0.5.7/veadk/community/langchain_ai/store}/__init__.py +0 -0
  119. {veadk_python-0.5.5/veadk/community/langchain_ai/tools → veadk_python-0.5.7/veadk/community/langchain_ai/store/memory}/__init__.py +0 -0
  120. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/community/langchain_ai/store/memory/viking_memory.py +0 -0
  121. {veadk_python-0.5.5/veadk/configs → veadk_python-0.5.7/veadk/community/langchain_ai/tools}/__init__.py +0 -0
  122. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/community/langchain_ai/tools/load_knowledgebase.py +0 -0
  123. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/community/langchain_ai/tools/load_memory.py +0 -0
  124. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/config.py +0 -0
  125. {veadk_python-0.5.5/veadk/integrations → veadk_python-0.5.7/veadk/configs}/__init__.py +0 -0
  126. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/configs/auth_configs.py +0 -0
  127. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/configs/database_configs.py +0 -0
  128. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/configs/dynamic_config_manager.py +0 -0
  129. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/configs/model_configs.py +0 -0
  130. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/configs/tool_configs.py +0 -0
  131. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/configs/tracing_configs.py +0 -0
  132. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/evaluation/__init__.py +0 -0
  133. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/evaluation/adk_evaluator/__init__.py +0 -0
  134. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/evaluation/adk_evaluator/adk_evaluator.py +0 -0
  135. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/evaluation/base_evaluator.py +0 -0
  136. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/evaluation/deepeval_evaluator/__init__.py +0 -0
  137. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +0 -0
  138. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/evaluation/eval_set_file_loader.py +0 -0
  139. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/evaluation/eval_set_recorder.py +0 -0
  140. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/evaluation/types.py +0 -0
  141. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/evaluation/utils/prometheus.py +0 -0
  142. {veadk_python-0.5.5/veadk/integrations/ve_apig → veadk_python-0.5.7/veadk/integrations}/__init__.py +0 -0
  143. {veadk_python-0.5.5/veadk/integrations/ve_code_pipeline → veadk_python-0.5.7/veadk/integrations/ve_apig}/__init__.py +0 -0
  144. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_apig/ve_apig.py +0 -0
  145. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_apig/ve_apig_utils.py +0 -0
  146. {veadk_python-0.5.5/veadk/integrations/ve_cozeloop → veadk_python-0.5.7/veadk/integrations/ve_code_pipeline}/__init__.py +0 -0
  147. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_code_pipeline/ve_code_pipeline.py +0 -0
  148. {veadk_python-0.5.5/veadk/integrations/ve_cr → veadk_python-0.5.7/veadk/integrations/ve_cozeloop}/__init__.py +0 -0
  149. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_cozeloop/ve_cozeloop.py +0 -0
  150. {veadk_python-0.5.5/veadk/integrations/ve_faas → veadk_python-0.5.7/veadk/integrations/ve_cr}/__init__.py +0 -0
  151. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_cr/ve_cr.py +0 -0
  152. {veadk_python-0.5.5/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}} → veadk_python-0.5.7/veadk/integrations/ve_faas}/__init__.py +0 -0
  153. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/template/cookiecutter.json +0 -0
  154. {veadk_python-0.5.5/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src → veadk_python-0.5.7/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/__init__.py +0 -0
  155. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
  156. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
  157. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
  158. {veadk_python-0.5.5/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}} → veadk_python-0.5.7/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src}/__init__.py +0 -0
  159. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/agent.py +0 -0
  160. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
  161. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
  162. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
  163. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/__init__.py +0 -0
  164. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name }}/agent.py +0 -0
  165. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/ve_faas.py +0 -0
  166. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/ve_faas_utils.py +0 -0
  167. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/cookiecutter.json +0 -0
  168. {veadk_python-0.5.5/veadk/integrations/ve_prompt_pilot → veadk_python-0.5.7/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}}/__init__.py +0 -0
  169. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/clean.py +0 -0
  170. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/config.yaml.example +0 -0
  171. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/deploy.py +0 -0
  172. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/Dockerfile +0 -0
  173. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/app.py +0 -0
  174. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/init_db.py +0 -0
  175. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/models.py +0 -0
  176. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/requirements.txt +0 -0
  177. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/run.sh +0 -0
  178. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/css/style.css +0 -0
  179. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/static/js/admin.js +0 -0
  180. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/dashboard.html +0 -0
  181. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/edit_post.html +0 -0
  182. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/login.html +0 -0
  183. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/admin/posts.html +0 -0
  184. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/base.html +0 -0
  185. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/index.html +0 -0
  186. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_faas/web_template/{{cookiecutter.local_dir_name}}/src/templates/post.html +0 -0
  187. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_identity/__init__.py +0 -0
  188. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_identity/auth_config.py +0 -0
  189. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_identity/auth_mixins.py +0 -0
  190. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_identity/auth_processor.py +0 -0
  191. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_identity/function_tool.py +0 -0
  192. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_identity/identity_client.py +0 -0
  193. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_identity/mcp_tool.py +0 -0
  194. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_identity/mcp_toolset.py +0 -0
  195. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_identity/models.py +0 -0
  196. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_identity/token_manager.py +0 -0
  197. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_identity/utils.py +0 -0
  198. {veadk_python-0.5.5/veadk/integrations/ve_tls → veadk_python-0.5.7/veadk/integrations/ve_prompt_pilot}/__init__.py +0 -0
  199. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_prompt_pilot/ve_prompt_pilot.py +0 -0
  200. {veadk_python-0.5.5/veadk/integrations/ve_viking_db_memory → veadk_python-0.5.7/veadk/integrations/ve_tls}/__init__.py +0 -0
  201. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_tls/utils.py +0 -0
  202. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_tls/ve_tls.py +0 -0
  203. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_tos/ve_tos.py +0 -0
  204. {veadk_python-0.5.5/veadk/knowledgebase/backends → veadk_python-0.5.7/veadk/integrations/ve_viking_db_memory}/__init__.py +0 -0
  205. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/integrations/ve_viking_db_memory/ve_viking_db_memory.py +0 -0
  206. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/knowledgebase/__init__.py +0 -0
  207. {veadk_python-0.5.5/veadk/memory/long_term_memory_backends → veadk_python-0.5.7/veadk/knowledgebase/backends}/__init__.py +0 -0
  208. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/knowledgebase/backends/base_backend.py +0 -0
  209. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/knowledgebase/backends/in_memory_backend.py +0 -0
  210. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/knowledgebase/backends/opensearch_backend.py +0 -0
  211. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/knowledgebase/backends/redis_backend.py +0 -0
  212. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/knowledgebase/backends/tos_vector_backend.py +0 -0
  213. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/knowledgebase/backends/utils.py +0 -0
  214. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/knowledgebase/entry.py +0 -0
  215. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/knowledgebase/knowledgebase.py +0 -0
  216. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/__init__.py +0 -0
  217. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/long_term_memory.py +0 -0
  218. {veadk_python-0.5.5/veadk/memory/short_term_memory_backends → veadk_python-0.5.7/veadk/memory/long_term_memory_backends}/__init__.py +0 -0
  219. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/long_term_memory_backends/base_backend.py +0 -0
  220. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/long_term_memory_backends/in_memory_backend.py +0 -0
  221. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/long_term_memory_backends/mem0_backend.py +0 -0
  222. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/long_term_memory_backends/opensearch_backend.py +0 -0
  223. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/long_term_memory_backends/redis_backend.py +0 -0
  224. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py +0 -0
  225. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/save_session_callback.py +0 -0
  226. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/short_term_memory.py +0 -0
  227. {veadk_python-0.5.5/veadk/models → veadk_python-0.5.7/veadk/memory/short_term_memory_backends}/__init__.py +0 -0
  228. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/short_term_memory_backends/base_backend.py +0 -0
  229. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/short_term_memory_backends/mysql_backend.py +0 -0
  230. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/short_term_memory_backends/postgresql_backend.py +0 -0
  231. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/short_term_memory_backends/sqlite_backend.py +0 -0
  232. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/memory/short_term_memory_processor.py +0 -0
  233. {veadk_python-0.5.5/veadk/prompts → veadk_python-0.5.7/veadk/models}/__init__.py +0 -0
  234. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/processors/__init__.py +0 -0
  235. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/processors/base_run_processor.py +0 -0
  236. {veadk_python-0.5.5/veadk/reflector → veadk_python-0.5.7/veadk/prompts}/__init__.py +0 -0
  237. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/prompts/agent_default_prompt.py +0 -0
  238. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/prompts/prompt_evaluator.py +0 -0
  239. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/prompts/prompt_manager.py +0 -0
  240. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/prompts/prompt_memory_processor.py +0 -0
  241. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/prompts/prompt_optimization.py +0 -0
  242. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/realtime/__init__.py +0 -0
  243. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/realtime/client.py +0 -0
  244. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/realtime/doubao_realtime_voice_llm.py +0 -0
  245. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/realtime/doubao_realtime_voice_llm_connection.py +0 -0
  246. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/realtime/live.py +0 -0
  247. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/realtime/protocol.py +0 -0
  248. {veadk_python-0.5.5/veadk/skills → veadk_python-0.5.7/veadk/reflector}/__init__.py +0 -0
  249. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/reflector/base_reflector.py +0 -0
  250. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/reflector/local_reflector.py +0 -0
  251. {veadk_python-0.5.5/veadk/tools → veadk_python-0.5.7/veadk/skills}/__init__.py +0 -0
  252. {veadk_python-0.5.5/veadk/tools/builtin_tools → veadk_python-0.5.7/veadk/tools}/__init__.py +0 -0
  253. {veadk_python-0.5.5/veadk/tools/mcp_tool → veadk_python-0.5.7/veadk/tools/builtin_tools}/__init__.py +0 -0
  254. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/agent_authorization.py +0 -0
  255. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/generate_image.py +0 -0
  256. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/image_edit.py +0 -0
  257. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/image_generate.py +0 -0
  258. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/lark.py +0 -0
  259. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/las.py +0 -0
  260. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/link_reader.py +0 -0
  261. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/llm_shield.py +0 -0
  262. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/load_knowledgebase.py +0 -0
  263. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/mcp_router.py +0 -0
  264. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/mobile_run.py +0 -0
  265. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/playwright.py +0 -0
  266. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/run_code.py +0 -0
  267. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/tts.py +0 -0
  268. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/vesearch.py +0 -0
  269. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/video_generate.py +0 -0
  270. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/vod.py +0 -0
  271. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/web_scraper.py +0 -0
  272. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/builtin_tools/web_search.py +0 -0
  273. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/demo_tools.py +0 -0
  274. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/load_knowledgebase_tool.py +0 -0
  275. {veadk_python-0.5.5/veadk/tools/sandbox → veadk_python-0.5.7/veadk/tools/mcp_tool}/__init__.py +0 -0
  276. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/mcp_tool/trusted_mcp_toolset.py +0 -0
  277. {veadk_python-0.5.5/veadk/tracing → veadk_python-0.5.7/veadk/tools/sandbox}/__init__.py +0 -0
  278. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/sandbox/browser_sandbox.py +0 -0
  279. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/sandbox/code_sandbox.py +0 -0
  280. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tools/sandbox/computer_sandbox.py +0 -0
  281. {veadk_python-0.5.5/veadk/tracing/telemetry → veadk_python-0.5.7/veadk/tracing}/__init__.py +0 -0
  282. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tracing/base_tracer.py +0 -0
  283. {veadk_python-0.5.5/veadk/tracing/telemetry/exporters → veadk_python-0.5.7/veadk/tracing/telemetry}/__init__.py +0 -0
  284. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tracing/telemetry/attributes/attributes.py +0 -0
  285. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tracing/telemetry/attributes/extractors/common_attributes_extractors.py +0 -0
  286. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tracing/telemetry/attributes/extractors/llm_attributes_extractors.py +0 -0
  287. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tracing/telemetry/attributes/extractors/tool_attributes_extractors.py +0 -0
  288. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tracing/telemetry/attributes/extractors/types.py +0 -0
  289. {veadk_python-0.5.5/veadk/utils → veadk_python-0.5.7/veadk/tracing/telemetry/exporters}/__init__.py +0 -0
  290. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tracing/telemetry/exporters/apmplus_exporter.py +0 -0
  291. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tracing/telemetry/exporters/base_exporter.py +0 -0
  292. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tracing/telemetry/exporters/cozeloop_exporter.py +0 -0
  293. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tracing/telemetry/exporters/inmemory_exporter.py +0 -0
  294. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tracing/telemetry/exporters/tls_exporter.py +0 -0
  295. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tracing/telemetry/opentelemetry_tracer.py +0 -0
  296. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/tracing/telemetry/telemetry.py +0 -0
  297. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/types.py +0 -0
  298. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/utils/audio_manager.py +0 -0
  299. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/utils/auth.py +0 -0
  300. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/utils/logger.py +0 -0
  301. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/utils/mcp_utils.py +0 -0
  302. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/utils/misc.py +0 -0
  303. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/utils/patches.py +0 -0
  304. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk/utils/volcengine_sign.py +0 -0
  305. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk_python.egg-info/dependency_links.txt +0 -0
  306. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk_python.egg-info/entry_points.txt +0 -0
  307. {veadk_python-0.5.5 → veadk_python-0.5.7}/veadk_python.egg-info/requires.txt +0 -0
  308. {veadk_python-0.5.5 → veadk_python-0.5.7}/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.5
3
+ Version: 0.5.7
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "veadk-python"
3
- version = "0.5.5"
3
+ version = "0.5.7"
4
4
  description = "Volcengine agent development kit, integrations with Volcengine cloud services."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -0,0 +1,76 @@
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
+ import requests
16
+ from a2a.types import AgentCard
17
+
18
+
19
+ class A2AHubClient:
20
+ def __init__(self, server_host: str, server_port: int):
21
+ self.server_host = server_host
22
+ self.server_port = server_port
23
+ self.health_check()
24
+
25
+ def health_check(self) -> None:
26
+ """Check the health of the server."""
27
+ response = requests.get(f"http://{self.server_host}:{self.server_port}/ping")
28
+ assert response.status_code == 200, (
29
+ f"unexpected status code from A2A hub server: {response.status_code}"
30
+ )
31
+
32
+ def get_agent_cards(
33
+ self, group_id: str, target_agents: list[str] = []
34
+ ) -> list[dict]:
35
+ """Get the agent cards of the agents in the group."""
36
+ ret = []
37
+
38
+ response = requests.get(
39
+ f"http://{self.server_host}:{self.server_port}/group/{group_id}/agents"
40
+ ).json()
41
+ agent_infos = response["agent_infos"]
42
+ for agent_info in agent_infos:
43
+ agent_id = agent_info["agent_id"]
44
+ if target_agents:
45
+ if agent_id in target_agents:
46
+ ret.append(agent_info)
47
+ else:
48
+ ret.append(agent_info)
49
+
50
+ return ret
51
+
52
+ def register_agent(self, group_id: str, agent_id: str, agent_card: AgentCard):
53
+ response = requests.post(
54
+ f"http://{self.server_host}:{self.server_port}/register_agent",
55
+ json={
56
+ "group_id": group_id,
57
+ "agent_id": agent_id,
58
+ "agent_card": agent_card.model_dump(),
59
+ },
60
+ )
61
+
62
+ assert response.status_code == 200, (
63
+ f"unexpected status code from A2A hub server: {response.status_code}"
64
+ )
65
+
66
+ def create_group(self, group_id: str):
67
+ response = requests.post(
68
+ f"http://{self.server_host}:{self.server_port}/create_group",
69
+ params={
70
+ "group_id": group_id,
71
+ },
72
+ )
73
+
74
+ assert response.status_code == 200, (
75
+ f"unexpected status code from A2A hub server: {response.status_code}"
76
+ )
@@ -0,0 +1,104 @@
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
+ import uvicorn
16
+ from fastapi import FastAPI
17
+ from fastapi.responses import JSONResponse
18
+
19
+ from veadk.a2a.hub.models import (
20
+ AgentInformation,
21
+ GetAgentResponse,
22
+ GetAgentsResponse,
23
+ GetGroupsResponse,
24
+ RegisterAgentRequest,
25
+ RegisterAgentResponse,
26
+ RegisterGroupResponse,
27
+ )
28
+
29
+
30
+ class A2AHubServer:
31
+ def __init__(self):
32
+ self.app = FastAPI()
33
+
34
+ self.groups: list[str] = []
35
+
36
+ # group_id -> agent_id -> agent_card
37
+ self.agent_cards: dict[str, dict[str, dict]] = {}
38
+
39
+ @self.app.get("/ping")
40
+ def ping() -> JSONResponse:
41
+ return JSONResponse(content={"msg": "pong!"})
42
+
43
+ @self.app.post("/create_group")
44
+ def create_group(group_id: str) -> RegisterGroupResponse:
45
+ """Create a group."""
46
+ self.groups.append(group_id)
47
+ self.agent_cards[group_id] = {}
48
+ return RegisterGroupResponse(group_id=group_id)
49
+
50
+ @self.app.post("/register_agent")
51
+ def register_agent(
52
+ request: RegisterAgentRequest,
53
+ ) -> RegisterAgentResponse:
54
+ """Register an agent to a specified group."""
55
+ if request.group_id not in self.groups:
56
+ return RegisterAgentResponse(
57
+ err_code=1, msg=f"group {request.group_id} not exist"
58
+ )
59
+ if request.agent_id in self.agent_cards[request.group_id]:
60
+ return RegisterAgentResponse(
61
+ err_code=1, msg=f"agent {request.agent_id} already exist"
62
+ )
63
+
64
+ self.agent_cards[request.group_id][request.agent_id] = request.agent_card
65
+ return RegisterAgentResponse(
66
+ group_id=request.group_id,
67
+ agent_id=request.agent_id,
68
+ agent_card=self.agent_cards[request.group_id][request.agent_id],
69
+ )
70
+
71
+ @self.app.get("/group/{group_id}/agents")
72
+ def agents(group_id: str) -> GetAgentsResponse:
73
+ """Get all agents in a specified group."""
74
+ if group_id not in self.groups:
75
+ return GetAgentsResponse(err_code=1, msg=f"group {group_id} not exist")
76
+
77
+ agent_infos = [
78
+ AgentInformation(agent_id=agent_id, agent_card=agent_card)
79
+ for agent_id, agent_card in self.agent_cards[group_id].items()
80
+ ]
81
+ return GetAgentsResponse(group_id=group_id, agent_infos=agent_infos)
82
+
83
+ @self.app.get("/group/{group_id}/agent/{agent_id}")
84
+ def agent(group_id: str, agent_id: str) -> GetAgentResponse:
85
+ """Get the agent card of a specified agent in a specified group."""
86
+ if group_id not in self.groups:
87
+ return GetAgentResponse(err_code=1, msg=f"group {group_id} not exist")
88
+ if agent_id not in self.agent_cards[group_id]:
89
+ return GetAgentResponse(
90
+ err_code=1,
91
+ msg=f"agent {agent_id} in group {group_id} not exist",
92
+ )
93
+ return GetAgentResponse(
94
+ agent_id=agent_id,
95
+ agent_card=self.agent_cards[group_id][agent_id],
96
+ )
97
+
98
+ @self.app.get("/groups")
99
+ def groups() -> GetGroupsResponse:
100
+ """Get all registered groups."""
101
+ return GetGroupsResponse(group_ids=self.groups)
102
+
103
+ def serve(self, **kwargs):
104
+ uvicorn.run(self.app, **kwargs)
@@ -0,0 +1,78 @@
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 pydantic import BaseModel, Field
16
+
17
+
18
+ class BaseResponse(BaseModel):
19
+ err_code: int = 0
20
+
21
+ msg: str = ""
22
+ """The message of the response."""
23
+
24
+
25
+ class RegisterGroupResponse(BaseResponse):
26
+ group_id: str = ""
27
+ """The id of the group."""
28
+
29
+
30
+ class RegisterAgentRequest(BaseResponse):
31
+ group_id: str
32
+ """Target group id."""
33
+
34
+ agent_id: str
35
+ """The id of the agent."""
36
+
37
+ agent_card: dict
38
+ """The agent card of the agent in json format."""
39
+
40
+
41
+ class RegisterAgentResponse(BaseResponse):
42
+ group_id: str = ""
43
+ """Target group id."""
44
+
45
+ agent_id: str = ""
46
+ """The id of the agent."""
47
+
48
+ agent_card: dict = Field(default_factory=dict)
49
+ """The agent card of the agent in json format."""
50
+
51
+
52
+ class AgentInformation(BaseModel):
53
+ agent_id: str = ""
54
+ """The id of the agent."""
55
+
56
+ agent_card: dict = Field(default_factory=dict)
57
+ """The agent card of the agent in json format."""
58
+
59
+
60
+ class GetAgentsResponse(BaseResponse):
61
+ group_id: str = ""
62
+ """Target group id."""
63
+
64
+ agent_infos: list[AgentInformation] = Field(default_factory=list)
65
+ """The agent cards of the agents in json format."""
66
+
67
+
68
+ class GetAgentResponse(BaseResponse):
69
+ agent_id: str = ""
70
+ """The id of the agent."""
71
+
72
+ agent_card: dict = Field(default_factory=dict)
73
+ """The agent card of the agent in json format."""
74
+
75
+
76
+ class GetGroupsResponse(BaseResponse):
77
+ group_ids: list[str] = Field(default_factory=list)
78
+ """The ids of the groups."""
@@ -15,7 +15,7 @@
15
15
  from __future__ import annotations
16
16
 
17
17
  import os
18
- from typing import Optional, Union
18
+ from typing import Dict, Optional, Union
19
19
 
20
20
  # If user didn't set LITELLM_LOCAL_MODEL_COST_MAP, set it to True
21
21
  # to enable local model cost map.
@@ -26,14 +26,12 @@ if not os.getenv("LITELLM_LOCAL_MODEL_COST_MAP"):
26
26
 
27
27
  import uuid
28
28
 
29
- from google.adk.agents import LlmAgent, RunConfig
29
+ from google.adk.agents import LlmAgent
30
30
  from google.adk.agents.base_agent import BaseAgent
31
31
  from google.adk.agents.context_cache_config import ContextCacheConfig
32
32
  from google.adk.agents.llm_agent import InstructionProvider, ToolUnion
33
- from google.adk.agents.run_config import StreamingMode
33
+ from google.adk.examples.base_example_provider import BaseExampleProvider
34
34
  from google.adk.models.lite_llm import LiteLlm
35
- from google.adk.runners import Runner
36
- from google.genai import types
37
35
  from pydantic import ConfigDict, Field
38
36
  from typing_extensions import Any
39
37
 
@@ -42,7 +40,6 @@ from veadk.consts import (
42
40
  DEFAULT_AGENT_NAME,
43
41
  DEFAULT_MODEL_EXTRA_CONFIG,
44
42
  )
45
- from veadk.evaluation import EvalSetRecorder
46
43
  from veadk.knowledgebase import KnowledgeBase
47
44
  from veadk.memory.long_term_memory import LongTermMemory
48
45
  from veadk.memory.short_term_memory import ShortTermMemory
@@ -87,6 +84,8 @@ class Agent(LlmAgent):
87
84
  tracers (list[BaseTracer]): List of tracers used for telemetry and monitoring.
88
85
  enable_authz (bool): Whether to enable agent authorization checks.
89
86
  auto_save_session (bool): Whether to automatically save sessions to long-term memory.
87
+ skills (list[str]): List of skills that equip the agent with specific capabilities.
88
+ example_store (Optional[BaseExampleProvider]): Example store for providing example Q/A.
90
89
  """
91
90
 
92
91
  model_config = ConfigDict(arbitrary_types_allowed=True, extra="allow")
@@ -147,6 +146,8 @@ class Agent(LlmAgent):
147
146
 
148
147
  skills: list[str] = Field(default_factory=list)
149
148
 
149
+ example_store: Optional[BaseExampleProvider] = None
150
+
150
151
  def model_post_init(self, __context: Any) -> None:
151
152
  super().model_post_init(None) # for sub_agents init
152
153
 
@@ -282,6 +283,11 @@ class Agent(LlmAgent):
282
283
  if self.skills:
283
284
  self.load_skills()
284
285
 
286
+ if self.example_store:
287
+ from google.adk.tools.example_tool import ExampleTool
288
+
289
+ self.tools.append(ExampleTool(examples=self.example_store))
290
+
285
291
  logger.info(f"VeADK version: {VERSION}")
286
292
 
287
293
  logger.info(f"{self.__class__.__name__} `{self.name}` init done.")
@@ -298,79 +304,46 @@ class Agent(LlmAgent):
298
304
  def load_skills(self):
299
305
  from pathlib import Path
300
306
 
301
- from veadk.skills.utils import load_skills_from_directory
307
+ from veadk.skills.skill import Skill
308
+ from veadk.skills.utils import (
309
+ load_skills_from_cloud,
310
+ load_skills_from_directory,
311
+ )
312
+ from veadk.tools.skills_tools import (
313
+ SkillsTool,
314
+ bash_tool,
315
+ edit_file_tool,
316
+ read_file_tool,
317
+ write_file_tool,
318
+ register_skills_tool,
319
+ )
320
+
321
+ skills: Dict[str, Skill] = {}
302
322
 
303
- skills = []
304
- for skill in self.skills:
305
- path = Path(skill)
306
- if path.is_dir():
307
- skills.extend(load_skills_from_directory(path))
323
+ for item in self.skills:
324
+ if not item or str(item).strip() == "":
325
+ continue
326
+ path = Path(item)
327
+ if path.exists() and path.is_dir():
328
+ for skill in load_skills_from_directory(path):
329
+ skills[skill.name] = skill
308
330
  else:
309
- logger.error(
310
- f"Skill {skill} is not a directory, skip. Loading skills from cloud is WIP."
311
- )
331
+ for skill in load_skills_from_cloud(item):
332
+ skills[skill.name] = skill
312
333
  if skills:
313
334
  self.instruction += "\nYou have the following skills:\n"
314
335
 
315
- for skill in skills:
336
+ for skill in skills.values():
316
337
  self.instruction += (
317
338
  f"- name: {skill.name}\n- description: {skill.description}\n\n"
318
339
  )
319
340
 
320
- async def _run(
321
- self,
322
- runner,
323
- user_id: str,
324
- session_id: str,
325
- message: types.Content,
326
- stream: bool,
327
- run_processor: Optional[BaseRunProcessor] = None,
328
- ):
329
- """Internal run method with run processor support.
330
-
331
- Args:
332
- runner: The Runner instance.
333
- user_id: User ID for the session.
334
- session_id: Session ID.
335
- message: The message to send.
336
- stream: Whether to stream the output.
337
- run_processor: Optional run processor to use. If not provided, uses self.run_processor.
338
-
339
- Returns:
340
- The final output string.
341
- """
342
- stream_mode = StreamingMode.SSE if stream else StreamingMode.NONE
343
-
344
- # Use provided run_processor or fall back to instance's run_processor
345
- processor = run_processor or self.run_processor
346
-
347
- @processor.process_run(runner=runner, message=message)
348
- async def event_generator():
349
- async for event in runner.run_async(
350
- user_id=user_id,
351
- session_id=session_id,
352
- new_message=message,
353
- run_config=RunConfig(streaming_mode=stream_mode),
354
- ):
355
- if event.get_function_calls():
356
- for function_call in event.get_function_calls():
357
- logger.debug(f"Function call: {function_call}")
358
- elif (
359
- event.content is not None
360
- and event.content.parts[0].text is not None
361
- and len(event.content.parts[0].text.strip()) > 0
362
- ):
363
- yield event.content.parts[0].text
364
-
365
- final_output = ""
366
- async for chunk in event_generator():
367
- if stream:
368
- print(chunk, end="", flush=True)
369
- final_output += chunk
370
- if stream:
371
- print() # end with a new line
372
-
373
- return final_output
341
+ self.tools.append(SkillsTool(skills))
342
+ self.tools.append(read_file_tool)
343
+ self.tools.append(write_file_tool)
344
+ self.tools.append(edit_file_tool)
345
+ self.tools.append(bash_tool)
346
+ self.tools.append(register_skills_tool)
374
347
 
375
348
  def _prepare_tracers(self):
376
349
  enable_apmplus_tracer = os.getenv("ENABLE_APMPLUS", "false").lower() == "true"
@@ -418,99 +391,7 @@ class Agent(LlmAgent):
418
391
  f"Opentelemetry Tracer init {len(self.tracers[0].exporters)} exporters" # type: ignore
419
392
  )
420
393
 
421
- async def run(
422
- self,
423
- prompt: str | list[str],
424
- stream: bool = False,
425
- app_name: str = "veadk_app",
426
- user_id: str = "veadk_user",
427
- session_id="veadk_session",
428
- load_history_sessions_from_db: bool = False,
429
- db_url: str = "",
430
- collect_runtime_data: bool = False,
431
- eval_set_id: str = "",
432
- save_session_to_memory: bool = False,
433
- run_processor: Optional[BaseRunProcessor] = None,
434
- ):
435
- """Running the agent. The runner and session service will be created automatically.
436
-
437
- For production, consider using Google-ADK runner to run agent, rather than invoking this method.
438
-
439
- Args:
440
- prompt (str | list[str]): The prompt to run the agent.
441
- stream (bool, optional): Whether to stream the output. Defaults to False.
442
- app_name (str, optional): The name of the application. Defaults to "veadk_app".
443
- user_id (str, optional): The id of the user. Defaults to "veadk_user".
444
- session_id (str, optional): The id of the session. Defaults to "veadk_session".
445
- load_history_sessions_from_db (bool, optional): Whether to load history sessions from database. Defaults to False.
446
- db_url (str, optional): The url of the database. Defaults to "".
447
- collect_runtime_data (bool, optional): Whether to collect runtime data. Defaults to False.
448
- eval_set_id (str, optional): The id of the eval set. Defaults to "".
449
- save_session_to_memory (bool, optional): Whether to save this turn session to memory. Defaults to False.
450
- run_processor (Optional[BaseRunProcessor], optional): Optional run processor to use for this run.
451
- If not provided, uses the agent's default run_processor. Defaults to None.
452
- """
453
-
454
- logger.warning(
455
- "Running agent in this function is only for development and testing, do not use this function in production. For production, consider using `Google ADK Runner` to run agent, rather than invoking this method."
456
- )
457
- logger.info(
458
- f"Run agent {self.name}: app_name: {app_name}, user_id: {user_id}, session_id: {session_id}."
459
- )
460
- prompt = [prompt] if isinstance(prompt, str) else prompt
461
-
462
- # memory service
463
- short_term_memory = ShortTermMemory(
464
- backend="database" if load_history_sessions_from_db else "local",
465
- db_url=db_url,
466
- )
467
- session_service = short_term_memory.session_service
468
- await short_term_memory.create_session(
469
- app_name=app_name, user_id=user_id, session_id=session_id
394
+ async def run(self, **kwargs):
395
+ raise NotImplementedError(
396
+ "Run method in VeADK agent is deprecated since version 0.5.6. Please use runner.run_async instead. Ref: https://agentkit.gitbook.io/docs/runner/overview"
470
397
  )
471
-
472
- # runner
473
- runner = Runner(
474
- agent=self,
475
- app_name=app_name,
476
- session_service=session_service,
477
- memory_service=self.long_term_memory,
478
- )
479
-
480
- logger.info(f"Begin to process prompt {prompt}")
481
- # run
482
- final_output = ""
483
- for _prompt in prompt:
484
- message = types.Content(role="user", parts=[types.Part(text=_prompt)])
485
- final_output = await self._run(
486
- runner, user_id, session_id, message, stream, run_processor
487
- )
488
-
489
- # VeADK features
490
- if save_session_to_memory:
491
- assert self.long_term_memory is not None, (
492
- "Long-term memory is not initialized in agent"
493
- )
494
- session = await session_service.get_session(
495
- app_name=app_name,
496
- user_id=user_id,
497
- session_id=session_id,
498
- )
499
- if session:
500
- await self.long_term_memory.add_session_to_memory(session)
501
- logger.info(f"Add session `{session.id}` to your long-term memory.")
502
- else:
503
- logger.error(
504
- f"Session {session_id} not found in session service, cannot save to long-term memory."
505
- )
506
-
507
- if collect_runtime_data:
508
- eval_set_recorder = EvalSetRecorder(session_service, eval_set_id)
509
- dump_path = await eval_set_recorder.dump(app_name, user_id, session_id)
510
- self._dump_path = dump_path # just for test/debug/instrumentation
511
-
512
- if self.tracers:
513
- for tracer in self.tracers:
514
- tracer.dump(user_id=user_id, session_id=session_id)
515
-
516
- return final_output
@@ -32,7 +32,7 @@ root_agent = Agent(
32
32
  name="root_agent",
33
33
  description="A helpful assistant for user questions.",
34
34
  instruction="Answer user questions to the best of your knowledge",
35
- model_name="doubao-seed-1-8-251215", # <---- change model here
35
+ model_name="doubao-seed-1-8-251228", # <---- change model here
36
36
  )
37
37
  """
38
38
 
@@ -19,7 +19,7 @@ from veadk.version import VERSION
19
19
 
20
20
  DEFAULT_AGENT_NAME = "veAgent"
21
21
 
22
- DEFAULT_MODEL_AGENT_NAME = "doubao-seed-1-6-251015"
22
+ DEFAULT_MODEL_AGENT_NAME = "doubao-seed-1-8-251228"
23
23
  DEFAULT_MODEL_AGENT_PROVIDER = "openai"
24
24
  DEFAULT_MODEL_AGENT_API_BASE = "https://ark.cn-beijing.volces.com/api/v3/"
25
25
  DEFAULT_MODEL_EXTRA_CONFIG = {
@@ -0,0 +1,108 @@
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
+
16
+ from google.adk.examples.base_example_provider import BaseExampleProvider
17
+ from google.adk.examples.example import Example as ADKExample
18
+ from google.genai.types import Content, FunctionCall, Part
19
+ from typing_extensions import override
20
+
21
+ from veadk.examples.types import Example
22
+
23
+
24
+ class InMemoryExampleStore(BaseExampleProvider):
25
+ def __init__(
26
+ self,
27
+ name: str = "in_memory_example_store",
28
+ examples: list[Example | ADKExample] | None = None,
29
+ ):
30
+ self.name = name
31
+ if examples:
32
+ self.examples: list[ADKExample] = self.convert_examples_to_adk_examples(
33
+ examples
34
+ )
35
+ else:
36
+ self.examples: list[ADKExample] = []
37
+
38
+ def add_example(self, example: Example | ADKExample):
39
+ """Add an example to the provider.
40
+
41
+ Args:
42
+ example: A VeADK example or ADK example.
43
+ """
44
+ self.examples.append(self.convert_examples_to_adk_examples([example])[0])
45
+
46
+ def convert_examples_to_adk_examples(
47
+ self,
48
+ examples: list[Example | ADKExample],
49
+ ) -> list[ADKExample]:
50
+ """Convert VeADK example to ADK example.
51
+
52
+ Args:
53
+ examples: A list of VeADK example or ADK example.
54
+
55
+ Returns:
56
+ A list of ADK example.
57
+ """
58
+ adk_examples = []
59
+ for example in examples:
60
+ if isinstance(example, ADKExample):
61
+ adk_examples.append(example)
62
+ else:
63
+ output_string_content = (
64
+ Content(parts=[Part(text=example.expected_output)], role="model")
65
+ if example.expected_output
66
+ else None
67
+ )
68
+ output_fc_content = (
69
+ Content(
70
+ parts=[
71
+ Part(
72
+ function_call=FunctionCall(
73
+ name=example.expected_function_call.function_name,
74
+ args=example.expected_function_call.arguments,
75
+ )
76
+ )
77
+ ],
78
+ role="model",
79
+ )
80
+ if example.expected_function_call
81
+ else None
82
+ )
83
+
84
+ output = []
85
+ if output_string_content:
86
+ output.append(output_string_content)
87
+ if output_fc_content:
88
+ output.append(output_fc_content)
89
+
90
+ adk_examples.append(
91
+ ADKExample(
92
+ input=Content(parts=[Part(text=example.input)], role="user"),
93
+ output=output,
94
+ )
95
+ )
96
+ return adk_examples
97
+
98
+ @override
99
+ def get_examples(self, query: str) -> list[ADKExample]:
100
+ """Simply return all examples.
101
+
102
+ Args:
103
+ query: The query to get examples for.
104
+
105
+ Returns:
106
+ A list of Example objects.
107
+ """
108
+ return self.examples