veadk-python 0.2.1__py3-none-any.whl → 0.2.2__py3-none-any.whl
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.
Potentially problematic release.
This version of veadk-python might be problematic. Click here for more details.
- veadk/__init__.py +9 -3
- veadk/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/__pycache__/agent.cpython-310.pyc +0 -0
- veadk/__pycache__/runner.cpython-310.pyc +0 -0
- veadk/__pycache__/types.cpython-310.pyc +0 -0
- veadk/__pycache__/version.cpython-310.pyc +0 -0
- veadk/a2a/__pycache__/remote_ve_agent.cpython-310.pyc +0 -0
- veadk/a2a/__pycache__/ve_a2a_server.cpython-310.pyc +0 -0
- veadk/a2a/__pycache__/ve_agent_executor.cpython-310.pyc +0 -0
- veadk/a2a/remote_ve_agent.py +1 -1
- veadk/a2a/ve_a2a_server.py +0 -2
- veadk/agent.py +10 -7
- veadk/cli/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/cli.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/cli_deploy.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/cli_init.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/cli_prompt.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/cli_studio.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/cli_web.cpython-310.pyc +0 -0
- veadk/cli/__pycache__/main.cpython-310.pyc +0 -0
- veadk/cli/{services/agentpilot/__init__.py → cli.py} +25 -2
- veadk/cli/cli_deploy.py +147 -0
- veadk/cli/cli_init.py +106 -0
- veadk/cli/cli_prompt.py +64 -0
- veadk/cli/cli_web.py +154 -0
- veadk/cloud/__pycache__/cloud_agent_engine.cpython-310.pyc +0 -0
- veadk/cloud/__pycache__/cloud_app.cpython-310.pyc +0 -0
- veadk/cloud/cloud_agent_engine.py +77 -42
- veadk/cloud/cloud_app.py +37 -6
- veadk/database/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/database/__pycache__/database_adapter.cpython-310.pyc +0 -0
- veadk/database/database_adapter.py +2 -2
- veadk/database/kv/redis_database.py +12 -9
- veadk/database/relational/mysql_database.py +10 -9
- veadk/database/vector/opensearch_vector_database.py +14 -7
- veadk/database/viking/viking_database.py +23 -17
- veadk/database/viking/viking_memory_db.py +9 -9
- veadk/evaluation/__pycache__/base_evaluator.cpython-310.pyc +0 -0
- veadk/evaluation/adk_evaluator/adk_evaluator.py +12 -17
- veadk/evaluation/base_evaluator.py +10 -9
- veadk/evaluation/utils/prometheus.py +1 -4
- veadk/integrations/ve_apig/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/integrations/ve_apig/__pycache__/ve_apig.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/__pycache__/types.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/__pycache__/ve_faas.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/__pycache__/ve_faas_utils.cpython-310.pyc +0 -0
- veadk/{cli/services/vefaas → integrations/ve_faas}/__pycache__/vefaas.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/template/cookiecutter.json +11 -0
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/config.yaml.example +6 -0
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/deploy.py +103 -0
- veadk/{cli/services/vefaas/template → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/src/__init__.py +0 -1
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/__pycache__/agent.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/__pycache__/app.cpython-310.pyc +0 -0
- veadk/{cli/services/veapig/__init__.py → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/agent.py} +10 -2
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/app.py +146 -0
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/requirements.txt +1 -0
- veadk/{cli/services/vefaas/template → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/src/run.sh +10 -19
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name|replace('-', '_') }}/__init__.py +14 -0
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name|replace('-', '_') }}/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name|replace('-', '_') }}/__pycache__/agent.cpython-310.pyc +0 -0
- veadk/{cli/services/vefaas/template/src/agent.py → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name|replace('-', '_') }}/agent.py } +8 -6
- veadk/{cli/services/vefaas/vefaas.py → integrations/ve_faas/ve_faas.py} +15 -6
- veadk/integrations/ve_prompt_pilot/__init__.py +13 -0
- veadk/{cli/services/agentpilot → integrations/ve_prompt_pilot}/__pycache__/agentpilot.cpython-310.pyc +0 -0
- veadk/{cli/services/agentpilot/agentpilot.py → integrations/ve_prompt_pilot/ve_prompt_pilot.py} +5 -6
- veadk/knowledgebase/__pycache__/knowledgebase.cpython-310.pyc +0 -0
- veadk/knowledgebase/knowledgebase.py +3 -5
- veadk/memory/__pycache__/long_term_memory.cpython-310.pyc +0 -0
- veadk/memory/__pycache__/short_term_memory.cpython-310.pyc +0 -0
- veadk/memory/__pycache__/short_term_memory_processor.cpython-310.pyc +0 -0
- veadk/memory/long_term_memory.py +5 -2
- veadk/memory/short_term_memory.py +3 -7
- veadk/memory/short_term_memory_processor.py +7 -2
- veadk/prompts/prompt_optimization.py +11 -19
- veadk/runner.py +85 -68
- veadk/tools/__pycache__/load_knowledgebase_tool.cpython-310.pyc +0 -0
- veadk/tools/builtin_tools/__pycache__/vesearch.cpython-310.pyc +0 -0
- veadk/tools/load_knowledgebase_tool.py +3 -2
- veadk/tracing/__pycache__/base_tracer.cpython-310.pyc +0 -0
- veadk/tracing/base_tracer.py +27 -15
- veadk/tracing/telemetry/__pycache__/opentelemetry_tracer.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/__pycache__/apmplus_exporter.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/__pycache__/base_exporter.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/__pycache__/cozeloop_exporter.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/__pycache__/inmemory_exporter.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/__pycache__/tls_exporter.cpython-310.pyc +0 -0
- veadk/tracing/telemetry/exporters/apmplus_exporter.py +0 -3
- veadk/tracing/telemetry/exporters/base_exporter.py +3 -0
- veadk/tracing/telemetry/exporters/cozeloop_exporter.py +0 -3
- veadk/tracing/telemetry/exporters/inmemory_exporter.py +13 -4
- veadk/tracing/telemetry/exporters/tls_exporter.py +2 -9
- veadk/tracing/telemetry/opentelemetry_tracer.py +14 -30
- veadk/types.py +20 -1
- veadk/utils/__pycache__/logger.cpython-310.pyc +0 -0
- veadk/utils/__pycache__/misc.cpython-310.pyc +0 -0
- veadk/utils/__pycache__/patches.cpython-310.pyc +0 -0
- veadk/utils/mcp_utils.py +1 -1
- veadk/utils/misc.py +31 -2
- veadk/utils/patches.py +0 -30
- veadk/version.py +1 -1
- {veadk_python-0.2.1.dist-info → veadk_python-0.2.2.dist-info}/METADATA +16 -5
- veadk_python-0.2.2.dist-info/RECORD +213 -0
- veadk_python-0.2.2.dist-info/entry_points.txt +2 -0
- veadk/cli/main.py +0 -379
- veadk/cli/services/veapig/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/services/vefaas/__init__.py +0 -17
- veadk/cli/services/vefaas/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/services/vefaas/template/README.md +0 -37
- veadk/cli/services/vefaas/template/config.yaml.example +0 -19
- veadk/cli/services/vefaas/template/deploy.py +0 -58
- veadk/cli/services/vefaas/template/src/__pycache__/agent.cpython-310.pyc +0 -0
- veadk/cli/services/vefaas/template/src/app.py +0 -70
- veadk/cli/services/vefaas/template/src/requirements.txt +0 -6
- veadk/cli/services/vefaas/template/src/studio_app.py +0 -47
- veadk/cli/services/vetls/__init__.py +0 -17
- veadk/cli/services/vetls/vetls.py +0 -87
- veadk/cli/studio/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/studio/__pycache__/fast_api.cpython-310.pyc +0 -0
- veadk/cli/studio/__pycache__/models.cpython-310.pyc +0 -0
- veadk/cli/studio/__pycache__/studio_processor.cpython-310.pyc +0 -0
- veadk/cli/studio/fast_api.py +0 -392
- veadk/cli/studio/models.py +0 -76
- veadk/cli/studio/studio_processor.py +0 -127
- veadk/cli/studio/web/404.html +0 -1
- veadk/cli/studio/web/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk/cli/studio/web/_next/static/chunks/1012.1c22f40693022876.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1017.577d2551c3a2b396.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1044.7c49605a0f9b5d5c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1067.71aee8d185b3a9d7.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1088.8f7f3c71458d301b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1092.7b553ab1ec1737bf.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1117.8c537e259adccbe2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1142.1faf8d46ccf4030c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1146.25bf08c82f4ad1c5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1192.55e7712b3dc8b6a8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1200.1038681512a9f69a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1265.e055670c82b2d131.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1275.322d8bf8a580b859.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/140.d7e90f5e12cf288c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1421.7fff0e9f0677f79b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1469.16c1e07a7c0f9817.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1480.3c94a6d6d61c4f56.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1507.4c7617217de3bef8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1523.1740f3d9d913fe76.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1526.5fb34657a70589b5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1563.6c364e96b33f3328.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/157.2e3f508bc115c15c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1577.b6cebda169ac9c75.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1622.a611b4dab478587d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1685.db5d4efe2f0e3767.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1687.a10254d4e1dd84c0.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1826.da2ac0fcfb59cfae.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1832.f81112d6166a9563.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1851.1d0bdfdf5fa89313.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/189.c602a68aadf321e4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1899.dd303f08095745bc.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/193.1e81c5b253db2ee7.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1936.8fad6d3898c86483.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1942.165056b632c269d4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/1974.ee28ba5ac111af70.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2.c2afe2e24520b5de.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2006.298ac00a777dc313.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2063.69ba443b7901194c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2067-e02b0bc96d886930.js +0 -91
- veadk/cli/studio/web/_next/static/chunks/2119.4595d21bc0340c5b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/212.0a8d6163667d9369.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2190.5549f7a57901bd46.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2193.51ce38cc9e965abd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2202.a6c08676680e55ad.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2247.af410bd18c38e538.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2313.6932520daf0fa88c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2316.c9eafa57971eebc8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2324.766859688506ac0d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2328.131b0296bc19ba4e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2332.b9b7ac0b386a4a28.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2344.cc417c70cb6dbc51.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2347.9f442b75b11de668.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2356.f6b4ac7eb50edb44.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2370.044b34646bc58363.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2378.2005af4d2bf100dd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2437.68534e42d45c5c61.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2449.db460ea54b851bc1.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2455.153b04863d2ae9dc.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2484.139843b3f1cc8ea5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2500.e2b8da0d1401bd5f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2513.a7056ff98b04c4cd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2533.5e35d247414428d0.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2541.3e5a23b461d7a9fd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2545.0e4e3a784391205b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2558.17eda1052d7c8c1f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2559.7432df2540cfff07.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2578.1be0687e71bc7731.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2601.aa7e57bdf472372c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/261-19b52c2c85aefb5d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2642.9ea0966ca6bd8ace.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2669.e90ab188be48154e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2737.4f5c7f7b9293ae65.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2804.b801cadc26133d92.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2817.8584109b4bc979e8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/282.cfff86fab979470f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2822.12cdf0520b2d321a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/288.5c1053dbdc74212b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2964.a531dbf5eb867f3d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/2f7605f3.0531565b22967bb4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3080.9aada68cdc9ad5c2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3090.a9e7f71df818f607.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3103.b7cdb76d87ac0fdd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/311.2737abd09304ba1b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3110.84511591e516221b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3126.307ac469edcf6ec9.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/320.a3c0085ebf05b7da.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/322.668c1a20cc012c68.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3341.a0f06b1edc2332fb.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3357.ced93e6bf8e56762.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3386.53f3aa4ff0dd0170.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3391.402e02fd7c297ff8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3392.5172b1d190ff0e8c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/33fb68d2.aacf24a5979288bd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3429.74dcaa985d188e43.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3433.737c3d948bdda1da.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3435.1798454b9a5b69ca.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3481.a916f933c4e534b8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3602.bdf28129f1569554.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3607.49cec7e9330d1f4d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3615.3280752d551adf2d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3721.f660b5b05621f5e4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3786.ae0824e683556d37.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/3805.ec0340f0f6e61bbc.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4045.42a3c9fb7d932ebc.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4052.86cc820c95ad25a8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4058.3cea468f5370b7c9.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4068.ff830b92579f6b7f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/411.5679da8e6a856022.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4118.e2544434642f6640.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4139.80b0aab26d9a4601.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/423.da4e0abf5fd408dc.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4262.9d5532cb76a86371.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/431.ef6d705ac627958f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4337.3c94a6d6d61c4f56.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4357-39eb6b5934ac97db.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4382.64908590e0a18d66.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4489.7a9b45fb6f6bf491.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/450.76880cb957b128fa.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/452.14fb00ee415ad32b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4577.d1cbd95a87e2adb2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4626.0866c7ee38885775.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4627.3d7df52a668a6b57.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4713.3891f7d347513ef5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4749.25fd94a8ed476b13.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4836.afe027e38fb9a7e8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/483e0093.2a09b17ad5d1b3ed.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4852.cac6e9c5032df796.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4860.94324451a00fadc0.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4869.091903cb36ad77ad.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4888.e248e212b002f5df.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/492.ac958937dd36300f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4958.85e0dbc8b2319776.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4968.1477e29640b2deb8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4980.1300ab7d9c76e523.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/4aa6d3c9.dade76a8ff4112d3.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5006.8ee1d611f529da11.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5018.c34d2a9f82e24c51.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5050.c06b2d8e12720555.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5084.9b554002148843ea.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5097.2e9a097ccfb70707.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5113.fa5291624248676b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5115.ff49cf5e2be16db4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/521.98b7995e15b59075.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5213.1a7618fcae8c5282.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/522.56063fbcf9aa8699.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5247.b304f94eb3132618.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5248.f9faaff2f0d7631f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/527-1c65afbb202752bd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/529.7d231c2076b6d77a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5305.9323b5f7efaa005e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5317.fce75000492e9db4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5326.3be5b04850f0a2f2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5329.415b43aacdd9a471.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5331.77f0493c99857944.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5341.1fff90ab37947f62.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/541.04d938e895b7f678.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5428.fa789e4b0d61cd0d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5460.cee07b9411c5c5ca.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5472.f645717ad2edd28f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5503.75093ef3870b655f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5567.44555d5da6ed19b7.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5572.3c35c26a4867ca56.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5579.b3be6028d1833118.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5631.b8a2c0dc65737269.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5656.b743b6ab9a61eec0.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5677.c063822912e55a25.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5779.0b1a3c7d1c018a1d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5817.ae1fb69a154fbf4c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5860.7154866a5d2dd82f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5865.645e44e8e171ba9f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5906.30cce16ed88f920a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5942.cd6dfaad76581849.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/5958.e2f981fa3cba5d99.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/60f90b65.d526f39688baa769.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6128.3da302fb50769250.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/62.5408e55d383a8078.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/624.7c7198473a8877d8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6264.e7bdd878d9e7a249.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6266.97409ca00a3c32d9.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6269.668be917daafccaa.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/630.87a6f22ac3e8956b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6341.35afa02112051be8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6353.93869a804ffe525b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6375.46d2897cb2526abd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6395.f113970ceec6ba91.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/63d31579-18fb2181524a9c6f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6423.d4cf9eb5b2ae6336.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6437.5eeaa7320bce1872.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6438.1c8486cc62da4117.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6451.f56cce0a07138982.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6456.f263b33ea51e4f54.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6504.0e6ae8d5bb987be6.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6560.b08504c0d99d71d4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6563.e6d3bdba9860590d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6621.639e4057d9c15bea.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6625.c0233245d2c1ef25.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6641.5487a2d68b0c52f2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6644.74de9f2de2dc75f5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6730.aac5bd02aab8258f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6824.8c40dbd3eb390403.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6831.74b4a9b75f4ff9d1.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/688.9a27292bd19bc993.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6899.ac4207b9a778bd0e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6901.4755ed550912589c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6910.5d45b17e287dba94.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6928.d0a540480df90930.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6958.c58e8e991b201429.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/6d60d248-1bbd761ee88ab2e4.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/70207789-862965aac548ab2a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7046.60a892c1e506cf5f.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7068.6639b51e828de233.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7172.aeda2e49d81fc0fd.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7185.0210768f3918ec41.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7200.86e672d8e2c1a920.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/730.2c5e46bf8fd29fcc.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7301.43929cd9c2a5d2ea.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7335.68692b193fa0dff6.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7412.98554f6ee574e288.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7422.e4a69fce6694ba90.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7448.63e7b8d5fd090bd1.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7479.97f696c6ada04b29.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7482.ab6a217c34f6934a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7484.b91675bd38b250f8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7522.84dac217ae0701ac.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7540-38c13446d29f43f2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7556.ae47807e378de233.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/761.2ce77249f8d3a1ce.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7678.ceea70830f2dd7ff.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7684.c43e4b5ad1f9b0af.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7698.44201098b212aee8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/76ff44ea.8322bdedaee78e2d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7725.b15cb8b6e1d15403.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7855.513a507852c649f2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7910.266df3f992c16215.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7940.f490f3d5e6590e54.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/7960.491bd15bef82755c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8020.795778775ed5c387.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8107.fbb6017b3e909da5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8169.4d7fd139784eb935.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8196.6c5c3dfe86e1c3ca.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8257.ee682bc2599473cb.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8305.d2c965e56fe9350c.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8324.8c3edcc756f5e2f3.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8388.cc59fb03d62a71cf.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8394.d5ca17ce8f6fffb0.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8419.b11c64d18dc580b5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8478.5f4272ae9afa4061.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8480.a071150cb4eddc29.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8535.0ab856b7bf0e161b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8571.8af7983b03c09f86.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8583.4afa8c68cb867b2d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8601.520cbfc8abbfb5f8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8656.5f8b6212d2b35257.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8665.7f24febc4a78ff5e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8687.c94010eb559245b6.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8815.81a5c5700763ca02.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8878.28a43a5fe23f5bd0.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8884.e4e411c7978b2552.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8962.db5c7728bef5ff0b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/8984.dfcb15f115089c4a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9022.d161e32a6b1bcc61.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9099.8ba5be825d17456a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/914.72991ff6c9332951.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9217.40b78a38cadcd268.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/925.0cc74592f03b10e9.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9275.ac60c49c68c86e51.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/92a17e6d.da4fba322f70cd46.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/92b95f17.39f98387a9867b4a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9361.d3535e4d87c1c527.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9433.55eb6e4ea7edb262.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9436.5b2462fa3ddebb27.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9445.e29312f685c22eff.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9471.646bdfb962cdd5c2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9473.efa6db413edc23d1.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9484.e9f1cd4e3f8e75df.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9545.61026f3c11f914f2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9555.287e4e4a50087d62.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/963.da40bca273fb82c6.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9636.4d3678b9a4e0b46e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9657.459d6300b0bc8ef8.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9676.cef4d87274c64417.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/97.15df9ee2f6270421.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9754.76a3ea33dc0e9a07.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9790.7e01549d70279760.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9871.994068e90ef076a5.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9887.0fbd7c3721a3c1d1.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9923.14c88b64d7749eaa.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/997.193727d4b2eede68.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9971.36f503837f73d3c2.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9976.ab4ec59ede08f398.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9990.13e025853b0250b6.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/9997.a844d058b46bb680.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/app/_not-found/page-ce05b36a67c37396.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/app/layout-b0d50d105c55fd6d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/app/page-7b51d29c96f44f61.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/app/run/page-c2cd4dca690d6d29.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/c06218ab.b1da50a91b579a52.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/c911d7bd.bcca2e3dda67a7a6.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/d386b14e.c746c93eac03a58e.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/e925550e.ff706051f5223d26.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/fc645be4-662fd2da08676daa.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/framework-2b8e4864be10152d.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/main-33072985ea766514.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/main-app-4a8ccba13aa7606b.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/pages/_app-c0ae3ec92f260128.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/pages/_error-899a04d491d7df58.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
- veadk/cli/studio/web/_next/static/chunks/webpack-14afc8861a1fe293.js +0 -1
- veadk/cli/studio/web/_next/static/css/366cfdd7fdd8bcac.css +0 -1
- veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_buildManifest.js +0 -1
- veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_ssgManifest.js +0 -1
- veadk/cli/studio/web/_next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
- veadk/cli/studio/web/_next/static/media/747892c23ea88013-s.woff2 +0 -0
- veadk/cli/studio/web/_next/static/media/8d697b304b401681-s.woff2 +0 -0
- veadk/cli/studio/web/_next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
- veadk/cli/studio/web/_next/static/media/9610d9e46709d722-s.woff2 +0 -0
- veadk/cli/studio/web/_next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
- veadk/cli/studio/web/favicon.ico +0 -0
- veadk/cli/studio/web/file.svg +0 -1
- veadk/cli/studio/web/globe.svg +0 -1
- veadk/cli/studio/web/index.html +0 -1
- veadk/cli/studio/web/index.txt +0 -43
- veadk/cli/studio/web/next.svg +0 -1
- veadk/cli/studio/web/run.html +0 -1
- veadk/cli/studio/web/run.txt +0 -44
- veadk/cli/studio/web/veadk-logo.png +0 -0
- veadk/cli/studio/web/vercel.svg +0 -1
- veadk/cli/studio/web/window.svg +0 -1
- veadk/tracing/telemetry/exporters/apiserver_exporter.py +0 -60
- veadk_python-0.2.1.dist-info/RECORD +0 -534
- veadk_python-0.2.1.dist-info/entry_points.txt +0 -2
- /veadk/{cli/services/vefaas/template → integrations/ve_apig}/__init__.py +0 -0
- /veadk/{cli/services/veapig → integrations/ve_apig}/__pycache__/apig.cpython-310.pyc +0 -0
- /veadk/{cli/services/veapig/apig.py → integrations/ve_apig/ve_apig.py} +0 -0
- /veadk/{cli/services/veapig/apig_utils.py → integrations/ve_apig/ve_apig_utils.py} +0 -0
- /veadk/{cli/studio → integrations/ve_faas}/__init__.py +0 -0
- /veadk/{cli/services/vefaas → integrations/ve_faas}/__pycache__/vefaas_utils.cpython-310.pyc +0 -0
- /veadk/{cli/studio/web → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/__init__.py +0 -0
- /veadk/{cli/services/vefaas/template → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/src/__pycache__/studio_app.cpython-310.pyc +0 -0
- /veadk/{cli/services/vefaas/vefaas_utils.py → integrations/ve_faas/ve_faas_utils.py} +0 -0
- /veadk/{cli/services/agentpilot → integrations/ve_prompt_pilot}/__pycache__/__init__.cpython-310.pyc +0 -0
- {veadk_python-0.2.1.dist-info → veadk_python-0.2.2.dist-info}/WHEEL +0 -0
- {veadk_python-0.2.1.dist-info → veadk_python-0.2.2.dist-info}/licenses/LICENSE +0 -0
- {veadk_python-0.2.1.dist-info → veadk_python-0.2.2.dist-info}/top_level.txt +0 -0
veadk/__init__.py
CHANGED
|
@@ -12,17 +12,23 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
from
|
|
15
|
+
from typing import TYPE_CHECKING
|
|
16
|
+
|
|
17
|
+
from veadk.version import VERSION
|
|
18
|
+
|
|
19
|
+
if TYPE_CHECKING:
|
|
20
|
+
from veadk.agent import Agent
|
|
21
|
+
from veadk.runner import Runner
|
|
16
22
|
|
|
17
23
|
|
|
18
24
|
# Lazy loading for `Agent` class
|
|
19
25
|
def __getattr__(name):
|
|
20
26
|
if name == "Agent":
|
|
21
|
-
from .agent import Agent
|
|
27
|
+
from veadk.agent import Agent
|
|
22
28
|
|
|
23
29
|
return Agent
|
|
24
30
|
if name == "Runner":
|
|
25
|
-
from .runner import Runner
|
|
31
|
+
from veadk.runner import Runner
|
|
26
32
|
|
|
27
33
|
return Runner
|
|
28
34
|
raise AttributeError(f"module 'veadk' has no attribute '{name}'")
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
veadk/a2a/remote_ve_agent.py
CHANGED
|
@@ -18,7 +18,7 @@ import requests
|
|
|
18
18
|
from a2a.types import AgentCard
|
|
19
19
|
from google.adk.agents.remote_a2a_agent import RemoteA2aAgent
|
|
20
20
|
|
|
21
|
-
AGENT_CARD_WELL_KNOWN_PATH = "/.well-known/agent.json"
|
|
21
|
+
AGENT_CARD_WELL_KNOWN_PATH = "/.well-known/agent-card.json"
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
class RemoteVeAgent(RemoteA2aAgent):
|
veadk/a2a/ve_a2a_server.py
CHANGED
veadk/agent.py
CHANGED
|
@@ -17,6 +17,7 @@ from __future__ import annotations
|
|
|
17
17
|
from typing import Optional
|
|
18
18
|
|
|
19
19
|
from google.adk.agents import LlmAgent, RunConfig
|
|
20
|
+
from google.adk.agents.base_agent import BaseAgent
|
|
20
21
|
from google.adk.agents.llm_agent import ToolUnion
|
|
21
22
|
from google.adk.agents.run_config import StreamingMode
|
|
22
23
|
from google.adk.models.lite_llm import LiteLlm
|
|
@@ -39,7 +40,6 @@ from veadk.prompts.agent_default_prompt import DEFAULT_DESCRIPTION, DEFAULT_INST
|
|
|
39
40
|
from veadk.tracing.base_tracer import BaseTracer
|
|
40
41
|
from veadk.utils.logger import get_logger
|
|
41
42
|
from veadk.utils.patches import patch_asyncio
|
|
42
|
-
from google.adk.agents.base_agent import BaseAgent
|
|
43
43
|
|
|
44
44
|
patch_asyncio()
|
|
45
45
|
logger = get_logger(__name__)
|
|
@@ -70,9 +70,7 @@ class Agent(LlmAgent):
|
|
|
70
70
|
model_api_base: str = getenv("MODEL_AGENT_API_BASE", DEFAULT_MODEL_AGENT_API_BASE)
|
|
71
71
|
"""The api base of the model for agent running."""
|
|
72
72
|
|
|
73
|
-
model_api_key: str = Field(
|
|
74
|
-
..., default_factory=lambda: getenv("MODEL_AGENT_API_KEY")
|
|
75
|
-
)
|
|
73
|
+
model_api_key: str = Field(default_factory=lambda: getenv("MODEL_AGENT_API_KEY"))
|
|
76
74
|
"""The api key of the model for agent running."""
|
|
77
75
|
|
|
78
76
|
tools: list[ToolUnion] = []
|
|
@@ -244,8 +242,13 @@ class Agent(LlmAgent):
|
|
|
244
242
|
user_id=user_id,
|
|
245
243
|
session_id=session_id,
|
|
246
244
|
)
|
|
247
|
-
|
|
248
|
-
|
|
245
|
+
if session:
|
|
246
|
+
await self.long_term_memory.add_session_to_memory(session)
|
|
247
|
+
logger.info(f"Add session `{session.id}` to your long-term memory.")
|
|
248
|
+
else:
|
|
249
|
+
logger.error(
|
|
250
|
+
f"Session {session_id} not found in session service, cannot save to long-term memory."
|
|
251
|
+
)
|
|
249
252
|
|
|
250
253
|
if collect_runtime_data:
|
|
251
254
|
eval_set_recorder = EvalSetRecorder(session_service, eval_set_id)
|
|
@@ -254,6 +257,6 @@ class Agent(LlmAgent):
|
|
|
254
257
|
|
|
255
258
|
if self.tracers:
|
|
256
259
|
for tracer in self.tracers:
|
|
257
|
-
tracer.dump(user_id, session_id)
|
|
260
|
+
tracer.dump(user_id=user_id, session_id=session_id)
|
|
258
261
|
|
|
259
262
|
return final_output
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -12,6 +12,29 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
from .agentpilot import AgentPilot
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
import click
|
|
17
|
+
|
|
18
|
+
from veadk.cli.cli_deploy import deploy
|
|
19
|
+
from veadk.cli.cli_init import init
|
|
20
|
+
from veadk.cli.cli_prompt import prompt
|
|
21
|
+
from veadk.cli.cli_web import web
|
|
22
|
+
from veadk.version import VERSION
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@click.group()
|
|
26
|
+
@click.version_option(
|
|
27
|
+
version=VERSION, prog_name="Volcengine Agent Development Kit (VeADK)"
|
|
28
|
+
)
|
|
29
|
+
def veadk():
|
|
30
|
+
"""Volcengine ADK command line tools"""
|
|
31
|
+
pass
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
veadk.add_command(deploy)
|
|
35
|
+
veadk.add_command(init)
|
|
36
|
+
veadk.add_command(prompt)
|
|
37
|
+
veadk.add_command(web)
|
|
38
|
+
|
|
39
|
+
if __name__ == "__main__":
|
|
40
|
+
veadk()
|
veadk/cli/cli_deploy.py
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
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
|
+
import click
|
|
17
|
+
|
|
18
|
+
TEMP_PATH = "/tmp"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@click.command()
|
|
22
|
+
@click.option(
|
|
23
|
+
"--access-key",
|
|
24
|
+
default=None,
|
|
25
|
+
help="Volcengine access key",
|
|
26
|
+
)
|
|
27
|
+
@click.option(
|
|
28
|
+
"--secret-key",
|
|
29
|
+
default=None,
|
|
30
|
+
help="Volcengine secret key",
|
|
31
|
+
)
|
|
32
|
+
@click.option("--vefaas-app-name", help="Expected Volcengine FaaS application name")
|
|
33
|
+
@click.option(
|
|
34
|
+
"--veapig-instance-name", default="", help="Expected Volcengine APIG instance name"
|
|
35
|
+
)
|
|
36
|
+
@click.option(
|
|
37
|
+
"--veapig-service-name", default="", help="Expected Volcengine APIG service name"
|
|
38
|
+
)
|
|
39
|
+
@click.option(
|
|
40
|
+
"--veapig-upstream-name", default="", help="Expected Volcengine APIG upstream name"
|
|
41
|
+
)
|
|
42
|
+
@click.option(
|
|
43
|
+
"--short-term-memory-backend",
|
|
44
|
+
default="local",
|
|
45
|
+
type=click.Choice(["local", "mysql"]),
|
|
46
|
+
help="Backend for short-term memory",
|
|
47
|
+
)
|
|
48
|
+
@click.option("--use-adk-web", is_flag=True, help="Whether to use ADK Web")
|
|
49
|
+
@click.option("--path", default=".", help="Local project path")
|
|
50
|
+
def deploy(
|
|
51
|
+
access_key: str,
|
|
52
|
+
secret_key: str,
|
|
53
|
+
vefaas_app_name: str,
|
|
54
|
+
veapig_instance_name: str,
|
|
55
|
+
veapig_service_name: str,
|
|
56
|
+
veapig_upstream_name: str,
|
|
57
|
+
short_term_memory_backend: str,
|
|
58
|
+
use_adk_web: bool,
|
|
59
|
+
path: str,
|
|
60
|
+
) -> None:
|
|
61
|
+
"""Deploy a user project to Volcengine FaaS application."""
|
|
62
|
+
import asyncio
|
|
63
|
+
import shutil
|
|
64
|
+
from pathlib import Path
|
|
65
|
+
|
|
66
|
+
from cookiecutter.main import cookiecutter
|
|
67
|
+
|
|
68
|
+
import veadk.integrations.ve_faas as vefaas
|
|
69
|
+
from veadk.config import getenv
|
|
70
|
+
from veadk.utils.logger import get_logger
|
|
71
|
+
from veadk.utils.misc import formatted_timestamp, load_module_from_file
|
|
72
|
+
|
|
73
|
+
logger = get_logger(__name__)
|
|
74
|
+
|
|
75
|
+
if not access_key:
|
|
76
|
+
access_key = getenv("VOLCENGINE_ACCESS_KEY")
|
|
77
|
+
if not secret_key:
|
|
78
|
+
secret_key = getenv("VOLCENGINE_SECRET_KEY")
|
|
79
|
+
|
|
80
|
+
user_proj_abs_path = Path(path).resolve()
|
|
81
|
+
template_dir_path = Path(vefaas.__file__).parent / "template"
|
|
82
|
+
|
|
83
|
+
tmp_dir_name = f"{user_proj_abs_path.name}_{formatted_timestamp()}"
|
|
84
|
+
|
|
85
|
+
settings = {
|
|
86
|
+
"local_dir_name": tmp_dir_name,
|
|
87
|
+
"app_name": user_proj_abs_path.name,
|
|
88
|
+
"agent_module_name": user_proj_abs_path.name,
|
|
89
|
+
"short_term_memory_backend": short_term_memory_backend,
|
|
90
|
+
"vefaas_application_name": vefaas_app_name,
|
|
91
|
+
"veapig_instance_name": veapig_instance_name,
|
|
92
|
+
"veapig_service_name": veapig_service_name,
|
|
93
|
+
"veapig_upstream_name": veapig_upstream_name,
|
|
94
|
+
"use_adk_web": use_adk_web,
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
cookiecutter(
|
|
98
|
+
template=str(template_dir_path),
|
|
99
|
+
output_dir=TEMP_PATH,
|
|
100
|
+
no_input=True,
|
|
101
|
+
extra_context=settings,
|
|
102
|
+
)
|
|
103
|
+
logger.debug(f"Create a template project at {TEMP_PATH}/{tmp_dir_name}")
|
|
104
|
+
|
|
105
|
+
agent_dir = (
|
|
106
|
+
Path(TEMP_PATH)
|
|
107
|
+
/ tmp_dir_name
|
|
108
|
+
/ "src"
|
|
109
|
+
/ user_proj_abs_path.name.replace("-", "_")
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
# remove /tmp/tmp_dir_name/src/user_proj_abs_path.name
|
|
113
|
+
shutil.rmtree(agent_dir)
|
|
114
|
+
agent_dir.mkdir(parents=True, exist_ok=True)
|
|
115
|
+
|
|
116
|
+
# copy
|
|
117
|
+
shutil.copytree(user_proj_abs_path, agent_dir, dirs_exist_ok=True)
|
|
118
|
+
logger.debug(f"Remove agent module from {user_proj_abs_path} to {agent_dir}")
|
|
119
|
+
|
|
120
|
+
# copy requirements.txt
|
|
121
|
+
if (user_proj_abs_path / "requirements.txt").exists():
|
|
122
|
+
logger.debug(
|
|
123
|
+
f"Find a requirements.txt in {user_proj_abs_path}/requirements.txt, copy it to temp project."
|
|
124
|
+
)
|
|
125
|
+
shutil.copy(
|
|
126
|
+
user_proj_abs_path / "requirements.txt",
|
|
127
|
+
Path(TEMP_PATH) / tmp_dir_name / "src" / "requirements.txt",
|
|
128
|
+
)
|
|
129
|
+
else:
|
|
130
|
+
logger.warning(
|
|
131
|
+
"No requirements.txt found in the user project, we will use a default one."
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
# load
|
|
135
|
+
logger.debug(
|
|
136
|
+
f"Load deploy module from {Path(TEMP_PATH) / tmp_dir_name / 'deploy.py'}"
|
|
137
|
+
)
|
|
138
|
+
deploy_module = load_module_from_file(
|
|
139
|
+
module_name="deploy_module",
|
|
140
|
+
file_path=str(Path(TEMP_PATH) / tmp_dir_name / "deploy.py"),
|
|
141
|
+
)
|
|
142
|
+
logger.info(f"Begin deploy from {Path(TEMP_PATH) / tmp_dir_name / 'src'}")
|
|
143
|
+
asyncio.run(deploy_module.main())
|
|
144
|
+
|
|
145
|
+
# remove tmp file
|
|
146
|
+
logger.info("Deploy done. Delete temp dir.")
|
|
147
|
+
shutil.rmtree(Path(TEMP_PATH) / tmp_dir_name)
|
veadk/cli/cli_init.py
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
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 warnings
|
|
16
|
+
from typing import Any
|
|
17
|
+
|
|
18
|
+
import click
|
|
19
|
+
|
|
20
|
+
warnings.filterwarnings(
|
|
21
|
+
"ignore", category=UserWarning, module="pydantic._internal._fields"
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def _render_prompts() -> dict[str, Any]:
|
|
26
|
+
vefaas_application_name = click.prompt(
|
|
27
|
+
"Volcengine FaaS application name", default="veadk-cloud-agent"
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
veapig_instance_name = click.prompt(
|
|
31
|
+
"Volcengine API Gateway instance name", default="", show_default=True
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
veapig_service_name = click.prompt(
|
|
35
|
+
"Volcengine API Gateway service name", default="", show_default=True
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
veapig_upstream_name = click.prompt(
|
|
39
|
+
"Volcengine API Gateway upstream name", default="", show_default=True
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
deploy_mode_options = {
|
|
43
|
+
"1": "A2A/MCP Server",
|
|
44
|
+
"2": "VeADK Web / Google ADK Web",
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
click.echo("Choose a deploy mode:")
|
|
48
|
+
for key, value in deploy_mode_options.items():
|
|
49
|
+
click.echo(f" {key}. {value}")
|
|
50
|
+
|
|
51
|
+
deploy_mode = click.prompt(
|
|
52
|
+
"Enter your choice", type=click.Choice(deploy_mode_options.keys())
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
return {
|
|
56
|
+
"vefaas_application_name": vefaas_application_name,
|
|
57
|
+
"veapig_instance_name": veapig_instance_name,
|
|
58
|
+
"veapig_service_name": veapig_service_name,
|
|
59
|
+
"veapig_upstream_name": veapig_upstream_name,
|
|
60
|
+
"use_adk_web": deploy_mode == "2",
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
@click.command()
|
|
65
|
+
def init() -> None:
|
|
66
|
+
"""Init a veadk project that can be deployed to Volcengine VeFaaS."""
|
|
67
|
+
import shutil
|
|
68
|
+
from pathlib import Path
|
|
69
|
+
|
|
70
|
+
from cookiecutter.main import cookiecutter
|
|
71
|
+
|
|
72
|
+
import veadk.integrations.ve_faas as vefaas
|
|
73
|
+
|
|
74
|
+
click.echo(
|
|
75
|
+
"Welcome use VeADK to create your project. We will generate a `weather-reporter` application for you."
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
cwd = Path.cwd()
|
|
79
|
+
local_dir_name = click.prompt("Local directory name", default="veadk-cloud-proj")
|
|
80
|
+
target_dir_path = cwd / local_dir_name
|
|
81
|
+
|
|
82
|
+
if target_dir_path.exists():
|
|
83
|
+
click.confirm(
|
|
84
|
+
f"Directory '{target_dir_path}' already exists, do you want to overwrite it",
|
|
85
|
+
abort=True,
|
|
86
|
+
)
|
|
87
|
+
shutil.rmtree(target_dir_path)
|
|
88
|
+
|
|
89
|
+
settings = _render_prompts()
|
|
90
|
+
settings["local_dir_name"] = local_dir_name
|
|
91
|
+
|
|
92
|
+
template_dir_path = Path(vefaas.__file__).parent / "template"
|
|
93
|
+
|
|
94
|
+
cookiecutter(
|
|
95
|
+
template=str(template_dir_path),
|
|
96
|
+
output_dir=str(cwd),
|
|
97
|
+
extra_context=settings,
|
|
98
|
+
no_input=True,
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
click.echo(f"Template project has been generated at {target_dir_path}")
|
|
102
|
+
click.echo(f"Edit {target_dir_path / 'src/'} to define your agents")
|
|
103
|
+
click.echo(
|
|
104
|
+
f"Edit {target_dir_path / 'deploy.py'} to define your deployment attributes"
|
|
105
|
+
)
|
|
106
|
+
click.echo("Run python `deploy.py` for deployment on Volcengine FaaS platform.")
|
veadk/cli/cli_prompt.py
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
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 click
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@click.command()
|
|
19
|
+
@click.option(
|
|
20
|
+
"--path", default=".", help="Agent file path with global variable `agent=...`"
|
|
21
|
+
)
|
|
22
|
+
@click.option("--feedback", default=None, help="Suggestions for prompt optimization")
|
|
23
|
+
@click.option("--api-key", default=None, help="API Key of PromptPilot")
|
|
24
|
+
@click.option(
|
|
25
|
+
"--model-name",
|
|
26
|
+
default="doubao-1.5-pro-32k-250115",
|
|
27
|
+
help="Model name for prompt optimization",
|
|
28
|
+
)
|
|
29
|
+
def prompt(path: str, feedback: str, api_key: str, model_name: str) -> None:
|
|
30
|
+
"""Optimize agent system prompt from a local file."""
|
|
31
|
+
from pathlib import Path
|
|
32
|
+
|
|
33
|
+
from veadk.agent import Agent
|
|
34
|
+
from veadk.config import getenv
|
|
35
|
+
from veadk.integrations.ve_prompt_pilot.ve_prompt_pilot import VePromptPilot
|
|
36
|
+
from veadk.utils.misc import load_module_from_file
|
|
37
|
+
|
|
38
|
+
module_name = "agents_for_prompt_pilot"
|
|
39
|
+
module_abs_path = Path(path).resolve()
|
|
40
|
+
|
|
41
|
+
module = load_module_from_file(
|
|
42
|
+
module_name=module_name, file_path=str(module_abs_path)
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
# get all global variables from module
|
|
46
|
+
globals_in_module = vars(module)
|
|
47
|
+
|
|
48
|
+
agents = []
|
|
49
|
+
for global_variable_name, global_variable_value in globals_in_module.items():
|
|
50
|
+
if isinstance(global_variable_value, Agent):
|
|
51
|
+
agent = global_variable_value
|
|
52
|
+
agents.append(agent)
|
|
53
|
+
|
|
54
|
+
if len(agents) > 0:
|
|
55
|
+
click.echo(f"Found {len(agents)} agents in {module_abs_path}")
|
|
56
|
+
|
|
57
|
+
if not api_key:
|
|
58
|
+
api_key = getenv("PROMPT_PILOT_API_KEY")
|
|
59
|
+
ve_prompt_pilot = VePromptPilot(api_key)
|
|
60
|
+
ve_prompt_pilot.optimize(
|
|
61
|
+
agents=agents, feedback=feedback, model_name=model_name
|
|
62
|
+
)
|
|
63
|
+
else:
|
|
64
|
+
click.echo(f"No agents found in {module_abs_path}")
|
veadk/cli/cli_web.py
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
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
|
+
import click
|
|
17
|
+
|
|
18
|
+
from veadk.memory.long_term_memory import LongTermMemory
|
|
19
|
+
from veadk.memory.short_term_memory import ShortTermMemory
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def _get_stm_from_module(module) -> ShortTermMemory:
|
|
23
|
+
return module.agent_run_config.short_term_memory
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def _get_stm_from_env() -> ShortTermMemory:
|
|
27
|
+
import os
|
|
28
|
+
|
|
29
|
+
from veadk.utils.logger import get_logger
|
|
30
|
+
|
|
31
|
+
logger = get_logger(__name__)
|
|
32
|
+
|
|
33
|
+
short_term_memory_backend = os.getenv("SHORT_TERM_MEMORY_BACKEND")
|
|
34
|
+
if not short_term_memory_backend: # prevent None or empty string
|
|
35
|
+
short_term_memory_backend = "local"
|
|
36
|
+
logger.info(f"Short term memory: backend={short_term_memory_backend}")
|
|
37
|
+
|
|
38
|
+
return ShortTermMemory(backend=short_term_memory_backend) # type: ignore
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def _get_ltm_from_module(module) -> LongTermMemory | None:
|
|
42
|
+
agent = module.agent_run_config.agent
|
|
43
|
+
|
|
44
|
+
if not hasattr(agent, "long_term_memory"):
|
|
45
|
+
return None
|
|
46
|
+
else:
|
|
47
|
+
return agent.long_term_memory
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def _get_ltm_from_env() -> LongTermMemory | None:
|
|
51
|
+
import os
|
|
52
|
+
|
|
53
|
+
from veadk.utils.logger import get_logger
|
|
54
|
+
|
|
55
|
+
logger = get_logger(__name__)
|
|
56
|
+
|
|
57
|
+
long_term_memory_backend = os.getenv("LONG_TERM_MEMORY_BACKEND")
|
|
58
|
+
|
|
59
|
+
if long_term_memory_backend:
|
|
60
|
+
logger.info(f"Long term memory: backend={long_term_memory_backend}")
|
|
61
|
+
return LongTermMemory(backend=long_term_memory_backend) # type: ignore
|
|
62
|
+
else:
|
|
63
|
+
logger.warning("No long term memory backend settings detected.")
|
|
64
|
+
return None
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def _get_memory(
|
|
68
|
+
module_path: str,
|
|
69
|
+
) -> tuple[ShortTermMemory, LongTermMemory | None]:
|
|
70
|
+
from veadk.utils.logger import get_logger
|
|
71
|
+
from veadk.utils.misc import load_module_from_file
|
|
72
|
+
|
|
73
|
+
logger = get_logger(__name__)
|
|
74
|
+
|
|
75
|
+
# 1. load user module
|
|
76
|
+
try:
|
|
77
|
+
module_file_path = module_path
|
|
78
|
+
module = load_module_from_file(
|
|
79
|
+
module_name="agent_and_mem", file_path=f"{module_file_path}/agent.py"
|
|
80
|
+
)
|
|
81
|
+
except Exception as e:
|
|
82
|
+
logger.error(
|
|
83
|
+
f"Failed to get memory config from `agent.py`: {e}. Fallback to get memory from environment variables."
|
|
84
|
+
)
|
|
85
|
+
return _get_stm_from_env(), _get_ltm_from_env()
|
|
86
|
+
|
|
87
|
+
if not hasattr(module, "agent_run_config"):
|
|
88
|
+
logger.error(
|
|
89
|
+
"You must export `agent_run_config` as a global variable in `agent.py`. Fallback to get memory from environment variables."
|
|
90
|
+
)
|
|
91
|
+
return _get_stm_from_env(), _get_ltm_from_env()
|
|
92
|
+
|
|
93
|
+
# 2. try to get short term memory
|
|
94
|
+
# short term memory must exist in user code, as we use `default_factory` to init it
|
|
95
|
+
short_term_memory = _get_stm_from_module(module)
|
|
96
|
+
|
|
97
|
+
# 3. try to get long term memory
|
|
98
|
+
long_term_memory = _get_ltm_from_module(module)
|
|
99
|
+
if not long_term_memory:
|
|
100
|
+
long_term_memory = _get_ltm_from_env()
|
|
101
|
+
|
|
102
|
+
return short_term_memory, long_term_memory
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
@click.command()
|
|
106
|
+
@click.option("--host", default="127.0.0.1", help="Host to run the web server on")
|
|
107
|
+
def web(host: str) -> None:
|
|
108
|
+
"""Launch web with long term and short term memory."""
|
|
109
|
+
import os
|
|
110
|
+
from typing import Any
|
|
111
|
+
|
|
112
|
+
from google.adk.cli.utils.shared_value import SharedValue
|
|
113
|
+
|
|
114
|
+
from veadk.utils.logger import get_logger
|
|
115
|
+
|
|
116
|
+
logger = get_logger(__name__)
|
|
117
|
+
|
|
118
|
+
def init_for_veadk(
|
|
119
|
+
self,
|
|
120
|
+
*,
|
|
121
|
+
agent_loader: Any,
|
|
122
|
+
session_service: Any,
|
|
123
|
+
memory_service: Any,
|
|
124
|
+
artifact_service: Any,
|
|
125
|
+
credential_service: Any,
|
|
126
|
+
eval_sets_manager: Any,
|
|
127
|
+
eval_set_results_manager: Any,
|
|
128
|
+
agents_dir: str,
|
|
129
|
+
):
|
|
130
|
+
self.agent_loader = agent_loader
|
|
131
|
+
self.artifact_service = artifact_service
|
|
132
|
+
self.credential_service = credential_service
|
|
133
|
+
self.eval_sets_manager = eval_sets_manager
|
|
134
|
+
self.eval_set_results_manager = eval_set_results_manager
|
|
135
|
+
self.agents_dir = agents_dir
|
|
136
|
+
self.runners_to_clean = set()
|
|
137
|
+
self.current_app_name_ref = SharedValue(value="")
|
|
138
|
+
self.runner_dict = {}
|
|
139
|
+
|
|
140
|
+
# parse VeADK memories
|
|
141
|
+
short_term_memory, long_term_memory = _get_memory(module_path=agents_dir)
|
|
142
|
+
self.session_service = short_term_memory.session_service
|
|
143
|
+
self.memory_service = long_term_memory
|
|
144
|
+
|
|
145
|
+
import google.adk.cli.adk_web_server
|
|
146
|
+
|
|
147
|
+
google.adk.cli.adk_web_server.AdkWebServer.__init__ = init_for_veadk
|
|
148
|
+
|
|
149
|
+
import google.adk.cli.cli_tools_click as cli_tools_click
|
|
150
|
+
|
|
151
|
+
agents_dir = os.getcwd()
|
|
152
|
+
logger.info(f"Load agents from {agents_dir}")
|
|
153
|
+
|
|
154
|
+
cli_tools_click.cli_web.main(args=[agents_dir, "--host", host])
|
|
Binary file
|
|
Binary file
|