veadk-python 0.1.0__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {veadk_python-0.1.0 → veadk_python-0.2.1}/PKG-INFO +14 -5
- {veadk_python-0.1.0 → veadk_python-0.2.1}/README.md +13 -4
- {veadk_python-0.1.0 → veadk_python-0.2.1}/pyproject.toml +8 -2
- {veadk_python-0.1.0 → veadk_python-0.2.1}/tests/test_agent.py +3 -4
- veadk_python-0.2.1/tests/test_cloud.py +124 -0
- veadk_python-0.2.1/tests/test_evaluator.py +161 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/tests/test_knowledgebase.py +0 -2
- {veadk_python-0.1.0 → veadk_python-0.2.1}/tests/test_long_term_memory.py +1 -1
- {veadk_python-0.1.0 → veadk_python-0.2.1}/tests/test_tracing.py +50 -6
- veadk_python-0.2.1/veadk/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/__pycache__/agent.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/__pycache__/config.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/__pycache__/consts.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/__pycache__/runner.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/__pycache__/types.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/__pycache__/version.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/a2a/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/a2a/__pycache__/agent_card.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/a2a/__pycache__/remote_ve_agent.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/a2a/remote_ve_agent.py +33 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/agent.py +9 -3
- veadk_python-0.2.1/veadk/cli/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/__pycache__/main.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cli/main.py +108 -7
- veadk_python-0.2.1/veadk/cli/services/agentpilot/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/services/agentpilot/__pycache__/agentpilot.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/services/veapig/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/services/veapig/__pycache__/apig.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/services/vefaas/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/services/vefaas/__pycache__/vefaas.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/services/vefaas/__pycache__/vefaas_utils.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/services/vefaas/template/README.md +37 -0
- veadk_python-0.2.1/veadk/cli/services/vefaas/template/config.yaml.example +19 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cli/services/vefaas/template/deploy.py +25 -11
- veadk_python-0.2.1/veadk/cli/services/vefaas/template/src/__init__.py +14 -0
- veadk_python-0.2.1/veadk/cli/services/vefaas/template/src/__pycache__/agent.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/services/vefaas/template/src/__pycache__/studio_app.cpython-310.pyc +0 -0
- veadk_python-0.1.0/veadk/cli/services/vefaas/template/src/app.py → veadk_python-0.2.1/veadk/cli/services/vefaas/template/src/agent.py +9 -14
- veadk_python-0.1.0/veadk/cli/services/vefaas/template/src/config.py → veadk_python-0.2.1/veadk/cli/services/vefaas/template/src/app.py +31 -19
- veadk_python-0.2.1/veadk/cli/services/vefaas/template/src/requirements.txt +6 -0
- veadk_python-0.2.1/veadk/cli/services/vefaas/template/src/run.sh +63 -0
- veadk_python-0.2.1/veadk/cli/services/vefaas/template/src/studio_app.py +47 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cli/services/vefaas/vefaas.py +153 -101
- veadk_python-0.2.1/veadk/cli/studio/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/studio/__pycache__/fast_api.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/studio/__pycache__/models.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/studio/__pycache__/studio_processor.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/studio/fast_api.py +392 -0
- veadk_python-0.2.1/veadk/cli/studio/models.py +76 -0
- veadk_python-0.2.1/veadk/cli/studio/studio_processor.py +127 -0
- veadk_python-0.2.1/veadk/cli/studio/web/404.html +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1012.1c22f40693022876.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1017.577d2551c3a2b396.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1044.7c49605a0f9b5d5c.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1067.71aee8d185b3a9d7.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1088.8f7f3c71458d301b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1092.7b553ab1ec1737bf.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1117.8c537e259adccbe2.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1142.1faf8d46ccf4030c.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1146.25bf08c82f4ad1c5.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1192.55e7712b3dc8b6a8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1200.1038681512a9f69a.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1265.e055670c82b2d131.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1275.322d8bf8a580b859.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/140.d7e90f5e12cf288c.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1421.7fff0e9f0677f79b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1469.16c1e07a7c0f9817.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1480.3c94a6d6d61c4f56.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1507.4c7617217de3bef8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1523.1740f3d9d913fe76.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1526.5fb34657a70589b5.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1563.6c364e96b33f3328.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/157.2e3f508bc115c15c.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1577.b6cebda169ac9c75.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1622.a611b4dab478587d.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1685.db5d4efe2f0e3767.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1687.a10254d4e1dd84c0.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1826.da2ac0fcfb59cfae.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1832.f81112d6166a9563.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1851.1d0bdfdf5fa89313.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/189.c602a68aadf321e4.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1899.dd303f08095745bc.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/193.1e81c5b253db2ee7.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1936.8fad6d3898c86483.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1942.165056b632c269d4.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/1974.ee28ba5ac111af70.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2.c2afe2e24520b5de.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2006.298ac00a777dc313.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2063.69ba443b7901194c.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2067-e02b0bc96d886930.js +91 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2119.4595d21bc0340c5b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/212.0a8d6163667d9369.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2190.5549f7a57901bd46.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2193.51ce38cc9e965abd.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2202.a6c08676680e55ad.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2247.af410bd18c38e538.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2313.6932520daf0fa88c.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2316.c9eafa57971eebc8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2324.766859688506ac0d.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2328.131b0296bc19ba4e.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2332.b9b7ac0b386a4a28.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2344.cc417c70cb6dbc51.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2347.9f442b75b11de668.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2356.f6b4ac7eb50edb44.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2370.044b34646bc58363.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2378.2005af4d2bf100dd.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2437.68534e42d45c5c61.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2449.db460ea54b851bc1.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2455.153b04863d2ae9dc.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2484.139843b3f1cc8ea5.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2500.e2b8da0d1401bd5f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2513.a7056ff98b04c4cd.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2533.5e35d247414428d0.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2541.3e5a23b461d7a9fd.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2545.0e4e3a784391205b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2558.17eda1052d7c8c1f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2559.7432df2540cfff07.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2578.1be0687e71bc7731.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2601.aa7e57bdf472372c.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/261-19b52c2c85aefb5d.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2642.9ea0966ca6bd8ace.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2669.e90ab188be48154e.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2737.4f5c7f7b9293ae65.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2804.b801cadc26133d92.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2817.8584109b4bc979e8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/282.cfff86fab979470f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2822.12cdf0520b2d321a.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/288.5c1053dbdc74212b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2964.a531dbf5eb867f3d.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/2f7605f3.0531565b22967bb4.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3080.9aada68cdc9ad5c2.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3090.a9e7f71df818f607.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3103.b7cdb76d87ac0fdd.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/311.2737abd09304ba1b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3110.84511591e516221b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3126.307ac469edcf6ec9.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/320.a3c0085ebf05b7da.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/322.668c1a20cc012c68.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3341.a0f06b1edc2332fb.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3357.ced93e6bf8e56762.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3386.53f3aa4ff0dd0170.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3391.402e02fd7c297ff8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3392.5172b1d190ff0e8c.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/33fb68d2.aacf24a5979288bd.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3429.74dcaa985d188e43.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3433.737c3d948bdda1da.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3435.1798454b9a5b69ca.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3481.a916f933c4e534b8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3602.bdf28129f1569554.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3607.49cec7e9330d1f4d.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3615.3280752d551adf2d.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3721.f660b5b05621f5e4.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3786.ae0824e683556d37.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/3805.ec0340f0f6e61bbc.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4045.42a3c9fb7d932ebc.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4052.86cc820c95ad25a8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4058.3cea468f5370b7c9.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4068.ff830b92579f6b7f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/411.5679da8e6a856022.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4118.e2544434642f6640.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4139.80b0aab26d9a4601.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/423.da4e0abf5fd408dc.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4262.9d5532cb76a86371.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/431.ef6d705ac627958f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4337.3c94a6d6d61c4f56.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4357-39eb6b5934ac97db.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4382.64908590e0a18d66.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4489.7a9b45fb6f6bf491.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/450.76880cb957b128fa.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/452.14fb00ee415ad32b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4577.d1cbd95a87e2adb2.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4626.0866c7ee38885775.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4627.3d7df52a668a6b57.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4713.3891f7d347513ef5.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4749.25fd94a8ed476b13.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4836.afe027e38fb9a7e8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/483e0093.2a09b17ad5d1b3ed.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4852.cac6e9c5032df796.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4860.94324451a00fadc0.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4869.091903cb36ad77ad.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4888.e248e212b002f5df.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/492.ac958937dd36300f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4958.85e0dbc8b2319776.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4968.1477e29640b2deb8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4980.1300ab7d9c76e523.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/4aa6d3c9.dade76a8ff4112d3.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5006.8ee1d611f529da11.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5018.c34d2a9f82e24c51.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5050.c06b2d8e12720555.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5084.9b554002148843ea.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5097.2e9a097ccfb70707.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5113.fa5291624248676b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5115.ff49cf5e2be16db4.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/521.98b7995e15b59075.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5213.1a7618fcae8c5282.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/522.56063fbcf9aa8699.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5247.b304f94eb3132618.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5248.f9faaff2f0d7631f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/527-1c65afbb202752bd.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/529.7d231c2076b6d77a.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5305.9323b5f7efaa005e.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5317.fce75000492e9db4.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5326.3be5b04850f0a2f2.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5329.415b43aacdd9a471.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5331.77f0493c99857944.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5341.1fff90ab37947f62.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/541.04d938e895b7f678.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5428.fa789e4b0d61cd0d.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5460.cee07b9411c5c5ca.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5472.f645717ad2edd28f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5503.75093ef3870b655f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5567.44555d5da6ed19b7.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5572.3c35c26a4867ca56.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5579.b3be6028d1833118.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5631.b8a2c0dc65737269.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5656.b743b6ab9a61eec0.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5677.c063822912e55a25.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5779.0b1a3c7d1c018a1d.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5817.ae1fb69a154fbf4c.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5860.7154866a5d2dd82f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5865.645e44e8e171ba9f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5906.30cce16ed88f920a.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5942.cd6dfaad76581849.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/5958.e2f981fa3cba5d99.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/60f90b65.d526f39688baa769.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6128.3da302fb50769250.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/62.5408e55d383a8078.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/624.7c7198473a8877d8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6264.e7bdd878d9e7a249.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6266.97409ca00a3c32d9.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6269.668be917daafccaa.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/630.87a6f22ac3e8956b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6341.35afa02112051be8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6353.93869a804ffe525b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6375.46d2897cb2526abd.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6395.f113970ceec6ba91.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/63d31579-18fb2181524a9c6f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6423.d4cf9eb5b2ae6336.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6437.5eeaa7320bce1872.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6438.1c8486cc62da4117.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6451.f56cce0a07138982.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6456.f263b33ea51e4f54.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6504.0e6ae8d5bb987be6.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6560.b08504c0d99d71d4.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6563.e6d3bdba9860590d.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6621.639e4057d9c15bea.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6625.c0233245d2c1ef25.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6641.5487a2d68b0c52f2.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6644.74de9f2de2dc75f5.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6730.aac5bd02aab8258f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6824.8c40dbd3eb390403.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6831.74b4a9b75f4ff9d1.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/688.9a27292bd19bc993.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6899.ac4207b9a778bd0e.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6901.4755ed550912589c.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6910.5d45b17e287dba94.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6928.d0a540480df90930.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6958.c58e8e991b201429.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/6d60d248-1bbd761ee88ab2e4.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/70207789-862965aac548ab2a.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7046.60a892c1e506cf5f.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7068.6639b51e828de233.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7172.aeda2e49d81fc0fd.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7185.0210768f3918ec41.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7200.86e672d8e2c1a920.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/730.2c5e46bf8fd29fcc.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7301.43929cd9c2a5d2ea.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7335.68692b193fa0dff6.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7412.98554f6ee574e288.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7422.e4a69fce6694ba90.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7448.63e7b8d5fd090bd1.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7479.97f696c6ada04b29.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7482.ab6a217c34f6934a.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7484.b91675bd38b250f8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7522.84dac217ae0701ac.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7540-38c13446d29f43f2.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7556.ae47807e378de233.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/761.2ce77249f8d3a1ce.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7678.ceea70830f2dd7ff.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7684.c43e4b5ad1f9b0af.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7698.44201098b212aee8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/76ff44ea.8322bdedaee78e2d.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7725.b15cb8b6e1d15403.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7855.513a507852c649f2.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7910.266df3f992c16215.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7940.f490f3d5e6590e54.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/7960.491bd15bef82755c.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8020.795778775ed5c387.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8107.fbb6017b3e909da5.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8169.4d7fd139784eb935.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8196.6c5c3dfe86e1c3ca.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8257.ee682bc2599473cb.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8305.d2c965e56fe9350c.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8324.8c3edcc756f5e2f3.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8388.cc59fb03d62a71cf.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8394.d5ca17ce8f6fffb0.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8419.b11c64d18dc580b5.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8478.5f4272ae9afa4061.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8480.a071150cb4eddc29.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8535.0ab856b7bf0e161b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8571.8af7983b03c09f86.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8583.4afa8c68cb867b2d.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8601.520cbfc8abbfb5f8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8656.5f8b6212d2b35257.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8665.7f24febc4a78ff5e.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8687.c94010eb559245b6.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8815.81a5c5700763ca02.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8878.28a43a5fe23f5bd0.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8884.e4e411c7978b2552.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8962.db5c7728bef5ff0b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/8984.dfcb15f115089c4a.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9022.d161e32a6b1bcc61.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9099.8ba5be825d17456a.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/914.72991ff6c9332951.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9217.40b78a38cadcd268.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/925.0cc74592f03b10e9.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9275.ac60c49c68c86e51.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/92a17e6d.da4fba322f70cd46.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/92b95f17.39f98387a9867b4a.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9361.d3535e4d87c1c527.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9433.55eb6e4ea7edb262.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9436.5b2462fa3ddebb27.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9445.e29312f685c22eff.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9471.646bdfb962cdd5c2.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9473.efa6db413edc23d1.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9484.e9f1cd4e3f8e75df.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9545.61026f3c11f914f2.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9555.287e4e4a50087d62.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/963.da40bca273fb82c6.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9636.4d3678b9a4e0b46e.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9657.459d6300b0bc8ef8.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9676.cef4d87274c64417.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/97.15df9ee2f6270421.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9754.76a3ea33dc0e9a07.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9790.7e01549d70279760.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9871.994068e90ef076a5.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9887.0fbd7c3721a3c1d1.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9923.14c88b64d7749eaa.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/997.193727d4b2eede68.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9971.36f503837f73d3c2.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9976.ab4ec59ede08f398.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9990.13e025853b0250b6.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/9997.a844d058b46bb680.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/app/_not-found/page-ce05b36a67c37396.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/app/layout-b0d50d105c55fd6d.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/app/page-7b51d29c96f44f61.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/app/run/page-c2cd4dca690d6d29.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/c06218ab.b1da50a91b579a52.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/c911d7bd.bcca2e3dda67a7a6.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/d386b14e.c746c93eac03a58e.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/e925550e.ff706051f5223d26.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/fc645be4-662fd2da08676daa.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/framework-2b8e4864be10152d.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/main-33072985ea766514.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/main-app-4a8ccba13aa7606b.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/pages/_app-c0ae3ec92f260128.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/pages/_error-899a04d491d7df58.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/chunks/webpack-14afc8861a1fe293.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/css/366cfdd7fdd8bcac.css +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_buildManifest.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_ssgManifest.js +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/media/747892c23ea88013-s.woff2 +0 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/media/8d697b304b401681-s.woff2 +0 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/media/9610d9e46709d722-s.woff2 +0 -0
- veadk_python-0.2.1/veadk/cli/studio/web/_next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
- veadk_python-0.2.1/veadk/cli/studio/web/favicon.ico +0 -0
- veadk_python-0.2.1/veadk/cli/studio/web/file.svg +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/globe.svg +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/index.html +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/index.txt +43 -0
- veadk_python-0.2.1/veadk/cli/studio/web/next.svg +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/run.html +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/run.txt +44 -0
- veadk_python-0.2.1/veadk/cli/studio/web/veadk-logo.png +0 -0
- veadk_python-0.2.1/veadk/cli/studio/web/vercel.svg +1 -0
- veadk_python-0.2.1/veadk/cli/studio/web/window.svg +1 -0
- veadk_python-0.2.1/veadk/cloud/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cloud/__pycache__/cloud_agent_engine.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cloud/__pycache__/cloud_app.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/cloud/cloud_agent_engine.py +205 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cloud/cloud_app.py +82 -14
- veadk_python-0.2.1/veadk/database/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/database/__pycache__/base_database.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/database/__pycache__/database_adapter.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/database/__pycache__/database_factory.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/database/__pycache__/local_database.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/database/database_adapter.py +280 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/database/database_factory.py +3 -3
- veadk_python-0.2.1/veadk/database/kv/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/database/relational/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/database/vector/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/database/vector/__pycache__/opensearch_vector_database.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/database/vector/__pycache__/type.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/database/vector/opensearch_vector_database.py +50 -2
- veadk_python-0.2.1/veadk/database/viking/__pycache__/__init__.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/database/viking/viking_database.py +24 -6
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/database/viking/viking_memory_db.py +26 -22
- veadk_python-0.2.1/veadk/evaluation/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/evaluation/__pycache__/base_evaluator.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/evaluation/__pycache__/eval_set_file_loader.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/evaluation/__pycache__/eval_set_recorder.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/evaluation/__pycache__/types.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/evaluation/adk_evaluator/__pycache__/__init__.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/evaluation/base_evaluator.py +130 -3
- veadk_python-0.2.1/veadk/evaluation/deepeval_evaluator/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/evaluation/deepeval_evaluator/__pycache__/deepeval_evaluator.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +13 -26
- veadk_python-0.1.0/veadk/cloud/template/app.py → veadk_python-0.2.1/veadk/evaluation/types.py +15 -12
- veadk_python-0.2.1/veadk/evaluation/utils/__pycache__/prometheus.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/evaluation/utils/prometheus.py +19 -23
- veadk_python-0.2.1/veadk/knowledgebase/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/knowledgebase/__pycache__/knowledgebase.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/knowledgebase/__pycache__/knowledgebase_database_adapter.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/knowledgebase/knowledgebase.py +30 -29
- veadk_python-0.2.1/veadk/memory/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/memory/__pycache__/long_term_memory.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/memory/__pycache__/memory_database_adapter.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/memory/__pycache__/short_term_memory.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/memory/__pycache__/short_term_memory_processor.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/memory/long_term_memory.py +155 -0
- veadk_python-0.2.1/veadk/prompts/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/prompts/__pycache__/agent_default_prompt.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/prompts/__pycache__/prompt_memory_processor.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/prompts/__pycache__/prompt_optimization.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/runner.py +4 -0
- veadk_python-0.2.1/veadk/tools/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tools/__pycache__/demo_tools.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tools/__pycache__/load_knowledgebase_tool.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tools/builtin_tools/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tools/builtin_tools/__pycache__/lark.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tools/builtin_tools/__pycache__/web_search.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tools/builtin_tools/las.py +3 -2
- veadk_python-0.2.1/veadk/tools/builtin_tools/mcp_router.py +22 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tools/load_knowledgebase_tool.py +3 -5
- veadk_python-0.2.1/veadk/tools/sandbox/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tracing/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tracing/__pycache__/base_tracer.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tracing/base_tracer.py +44 -3
- veadk_python-0.2.1/veadk/tracing/telemetry/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tracing/telemetry/__pycache__/opentelemetry_tracer.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tracing/telemetry/exporters/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tracing/telemetry/exporters/__pycache__/apiserver_exporter.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tracing/telemetry/exporters/__pycache__/apmplus_exporter.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tracing/telemetry/exporters/__pycache__/base_exporter.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tracing/telemetry/exporters/__pycache__/cozeloop_exporter.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tracing/telemetry/exporters/__pycache__/inmemory_exporter.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tracing/telemetry/exporters/__pycache__/tls_exporter.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tracing/telemetry/exporters/inmemory_exporter.py +0 -3
- veadk_python-0.2.1/veadk/tracing/telemetry/metrics/__init__.py +13 -0
- veadk_python-0.2.1/veadk/tracing/telemetry/metrics/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/tracing/telemetry/metrics/__pycache__/opentelemetry_metrics.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tracing/telemetry/opentelemetry_tracer.py +73 -29
- veadk_python-0.2.1/veadk/utils/__init__.py +13 -0
- veadk_python-0.2.1/veadk/utils/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/utils/__pycache__/logger.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/utils/__pycache__/mcp_utils.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/utils/__pycache__/misc.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/utils/__pycache__/patches.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/utils/__pycache__/volcengine_sign.cpython-310.pyc +0 -0
- veadk_python-0.2.1/veadk/utils/mcp_utils.py +44 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/version.py +1 -1
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk_python.egg-info/PKG-INFO +14 -5
- veadk_python-0.2.1/veadk_python.egg-info/SOURCES.txt +548 -0
- veadk_python-0.1.0/tests/test_evaluator.py +0 -80
- veadk_python-0.1.0/veadk/a2a/remote_ve_agent.py +0 -19
- veadk_python-0.1.0/veadk/cli/studio/agent_processor.py +0 -247
- veadk_python-0.1.0/veadk/cli/studio/fast_api.py +0 -232
- veadk_python-0.1.0/veadk/cli/studio/model.py +0 -116
- veadk_python-0.1.0/veadk/cloud/cloud_agent_engine.py +0 -144
- veadk_python-0.1.0/veadk/cloud/template/config.py +0 -55
- veadk_python-0.1.0/veadk/knowledgebase/knowledgebase_database_adapter.py +0 -259
- veadk_python-0.1.0/veadk/memory/long_term_memory.py +0 -119
- veadk_python-0.1.0/veadk/memory/memory_database_adapter.py +0 -235
- veadk_python-0.1.0/veadk_python.egg-info/SOURCES.txt +0 -123
- {veadk_python-0.1.0 → veadk_python-0.2.1}/LICENSE +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/setup.cfg +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/tests/test_agent_card.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/tests/test_multiple_agents.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/tests/test_runner.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/tests/test_runtime_data_collecting.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/tests/test_short_term_memory.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/a2a/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/a2a/agent_card.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/a2a/ve_a2a_server.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/a2a/ve_agent_executor.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/a2a/ve_task_store.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cli/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cli/services/agentpilot/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cli/services/agentpilot/agentpilot.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cli/services/veapig/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cli/services/veapig/apig.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cli/services/veapig/apig_utils.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cli/services/vefaas/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/cli/studio → veadk_python-0.2.1/veadk/cli/services/vefaas/template}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cli/services/vefaas/vefaas_utils.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cli/services/vetls/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/cli/services/vetls/vetls.py +0 -0
- {veadk_python-0.1.0/veadk/cloud → veadk_python-0.2.1/veadk/cli/studio}/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/database/kv → veadk_python-0.2.1/veadk/cli/studio/web}/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/database/relational → veadk_python-0.2.1/veadk/cloud}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/config.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/consts.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/database/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/database/base_database.py +0 -0
- {veadk_python-0.1.0/veadk/database/vector → veadk_python-0.2.1/veadk/database/kv}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/database/kv/redis_database.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/database/local_database.py +0 -0
- {veadk_python-0.1.0/veadk/database/viking → veadk_python-0.2.1/veadk/database/relational}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/database/relational/mysql_database.py +0 -0
- {veadk_python-0.1.0/veadk/evaluation/adk_evaluator → veadk_python-0.2.1/veadk/database/vector}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/database/vector/type.py +0 -0
- {veadk_python-0.1.0/veadk/memory → veadk_python-0.2.1/veadk/database/viking}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/evaluation/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/prompts → veadk_python-0.2.1/veadk/evaluation/adk_evaluator}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/evaluation/adk_evaluator/adk_evaluator.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/evaluation/deepeval_evaluator/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/evaluation/eval_set_file_loader.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/evaluation/eval_set_recorder.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/knowledgebase/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/tools → veadk_python-0.2.1/veadk/memory}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/memory/short_term_memory.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/memory/short_term_memory_processor.py +0 -0
- {veadk_python-0.1.0/veadk/tools/builtin_tools → veadk_python-0.2.1/veadk/prompts}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/prompts/agent_default_prompt.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/prompts/prompt_evaluator.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/prompts/prompt_memory_processor.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/prompts/prompt_optimization.py +0 -0
- {veadk_python-0.1.0/veadk/tools/sandbox → veadk_python-0.2.1/veadk/tools}/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/tracing → veadk_python-0.2.1/veadk/tools/builtin_tools}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tools/builtin_tools/lark.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tools/builtin_tools/vesearch.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tools/builtin_tools/web_scraper.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tools/builtin_tools/web_search.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tools/demo_tools.py +0 -0
- {veadk_python-0.1.0/veadk/tracing/telemetry → veadk_python-0.2.1/veadk/tools/sandbox}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tools/sandbox/browser_sandbox.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tools/sandbox/code_sandbox.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tools/sandbox/computer_sandbox.py +0 -0
- {veadk_python-0.1.0/veadk/tracing/telemetry/exporters → veadk_python-0.2.1/veadk/tracing}/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/tracing/telemetry/metrics → veadk_python-0.2.1/veadk/tracing/telemetry}/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/utils → veadk_python-0.2.1/veadk/tracing/telemetry/exporters}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tracing/telemetry/exporters/apiserver_exporter.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tracing/telemetry/exporters/apmplus_exporter.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tracing/telemetry/exporters/base_exporter.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tracing/telemetry/exporters/cozeloop_exporter.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tracing/telemetry/exporters/tls_exporter.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/tracing/telemetry/metrics/opentelemetry_metrics.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/types.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/utils/logger.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/utils/misc.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/utils/patches.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk/utils/volcengine_sign.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk_python.egg-info/dependency_links.txt +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk_python.egg-info/entry_points.txt +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/veadk_python.egg-info/requires.txt +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.1}/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.1
|
|
3
|
+
Version: 0.2.1
|
|
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
|
Requires-Python: >=3.10
|
|
@@ -79,9 +79,18 @@ uv pip install -e .
|
|
|
79
79
|
|
|
80
80
|
## Configuration
|
|
81
81
|
|
|
82
|
-
We recommand you to create a `config.yaml` file in the root directory of your own project, `VeADK` is able to read it automatically.
|
|
82
|
+
We recommand you to create a `config.yaml` file in the root directory of your own project, `VeADK` is able to read it automatically. For running a minimal agent, you just need to set the following configs in your `config.yaml` file:
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
```yaml
|
|
85
|
+
model:
|
|
86
|
+
agent:
|
|
87
|
+
provider: openai
|
|
88
|
+
name: doubao-seed-1-6-250615
|
|
89
|
+
api_base: https://ark.cn-beijing.volces.com/api/v3/
|
|
90
|
+
api_key: # <-- set your Volcengine ARK api key here
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
You can refer to the [config instructions](https://volcengine.github.io/veadk-python/installation.html#%E9%85%8D%E7%BD%AE) for more details.
|
|
85
94
|
|
|
86
95
|
## Have a try
|
|
87
96
|
|
|
@@ -101,8 +110,8 @@ print(res)
|
|
|
101
110
|
|
|
102
111
|
VeADK provides several useful command line tools for faster deployment and optimization, such as:
|
|
103
112
|
|
|
104
|
-
- `veadk deploy`: deploy your project to Volcengine VeFaaS platform (you can use `veadk init` to init a demo project first)
|
|
105
|
-
- `veadk prompt`: otpimize the system prompt of your agent by PromptPilot
|
|
113
|
+
- `veadk deploy`: deploy your project to [Volcengine VeFaaS platform](https://www.volcengine.com/product/vefaas) (you can use `veadk init` to init a demo project first)
|
|
114
|
+
- `veadk prompt`: otpimize the system prompt of your agent by [PromptPilot](https://promptpilot.volcengine.com)
|
|
106
115
|
|
|
107
116
|
## Contribution
|
|
108
117
|
|
|
@@ -39,9 +39,18 @@ uv pip install -e .
|
|
|
39
39
|
|
|
40
40
|
## Configuration
|
|
41
41
|
|
|
42
|
-
We recommand you to create a `config.yaml` file in the root directory of your own project, `VeADK` is able to read it automatically.
|
|
42
|
+
We recommand you to create a `config.yaml` file in the root directory of your own project, `VeADK` is able to read it automatically. For running a minimal agent, you just need to set the following configs in your `config.yaml` file:
|
|
43
|
+
|
|
44
|
+
```yaml
|
|
45
|
+
model:
|
|
46
|
+
agent:
|
|
47
|
+
provider: openai
|
|
48
|
+
name: doubao-seed-1-6-250615
|
|
49
|
+
api_base: https://ark.cn-beijing.volces.com/api/v3/
|
|
50
|
+
api_key: # <-- set your Volcengine ARK api key here
|
|
51
|
+
```
|
|
43
52
|
|
|
44
|
-
You can refer to the [
|
|
53
|
+
You can refer to the [config instructions](https://volcengine.github.io/veadk-python/installation.html#%E9%85%8D%E7%BD%AE) for more details.
|
|
45
54
|
|
|
46
55
|
## Have a try
|
|
47
56
|
|
|
@@ -61,8 +70,8 @@ print(res)
|
|
|
61
70
|
|
|
62
71
|
VeADK provides several useful command line tools for faster deployment and optimization, such as:
|
|
63
72
|
|
|
64
|
-
- `veadk deploy`: deploy your project to Volcengine VeFaaS platform (you can use `veadk init` to init a demo project first)
|
|
65
|
-
- `veadk prompt`: otpimize the system prompt of your agent by PromptPilot
|
|
73
|
+
- `veadk deploy`: deploy your project to [Volcengine VeFaaS platform](https://www.volcengine.com/product/vefaas) (you can use `veadk init` to init a demo project first)
|
|
74
|
+
- `veadk prompt`: otpimize the system prompt of your agent by [PromptPilot](https://promptpilot.volcengine.com)
|
|
66
75
|
|
|
67
76
|
## Contribution
|
|
68
77
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "veadk-python"
|
|
3
|
-
version = "0.1
|
|
3
|
+
version = "0.2.1"
|
|
4
4
|
description = "Volcengine agent development kit, integrations with Volcengine cloud services."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -64,4 +64,10 @@ dev = [
|
|
|
64
64
|
|
|
65
65
|
[tool.setuptools.packages.find]
|
|
66
66
|
include = ["veadk*"]
|
|
67
|
-
exclude = ["
|
|
67
|
+
exclude = ["assets*", "ide*", "tests*"]
|
|
68
|
+
|
|
69
|
+
[tool.setuptools]
|
|
70
|
+
include-package-data = true
|
|
71
|
+
|
|
72
|
+
[tool.setuptools.package-data]
|
|
73
|
+
"veadk" = ["**/*"]
|
|
@@ -49,7 +49,6 @@ def test_agent():
|
|
|
49
49
|
assert agent.long_term_memory.backend == "local"
|
|
50
50
|
assert load_memory in agent.tools
|
|
51
51
|
|
|
52
|
-
assert tracer.
|
|
53
|
-
assert tracer.
|
|
54
|
-
assert tracer.
|
|
55
|
-
assert tracer.token_metrics_hook in agent.after_model_callback
|
|
52
|
+
assert tracer.tracer_hook_before_model in agent.before_model_callback
|
|
53
|
+
assert tracer.tracer_hook_after_model in agent.after_model_callback
|
|
54
|
+
assert tracer.tracer_hook_after_tool in agent.after_tool_callback
|
|
@@ -0,0 +1,124 @@
|
|
|
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 os
|
|
16
|
+
import tempfile
|
|
17
|
+
import pytest
|
|
18
|
+
|
|
19
|
+
from unittest.mock import Mock, patch, AsyncMock
|
|
20
|
+
|
|
21
|
+
os.environ["VOLCENGINE_ACCESS_KEY"] = "test_access_key"
|
|
22
|
+
os.environ["VOLCENGINE_SECRET_KEY"] = "test_secret_key"
|
|
23
|
+
|
|
24
|
+
from veadk.cloud.cloud_agent_engine import CloudAgentEngine
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@pytest.mark.asyncio
|
|
28
|
+
async def test_cloud():
|
|
29
|
+
app_name = "test-app"
|
|
30
|
+
key = "CloudTestIdentifier123"
|
|
31
|
+
test_endpoint = "https://test-endpoint.volcengine.com"
|
|
32
|
+
test_message = "Hello cloud agent"
|
|
33
|
+
|
|
34
|
+
# Create temporary directory with required agent.py file for testing
|
|
35
|
+
with tempfile.TemporaryDirectory() as temp_dir:
|
|
36
|
+
with open(os.path.join(temp_dir, "agent.py"), "w") as f:
|
|
37
|
+
f.write(f"# Test agent implementation with {key}")
|
|
38
|
+
|
|
39
|
+
# Mock shutil.copy to avoid template file copying issues
|
|
40
|
+
with patch("shutil.copy"):
|
|
41
|
+
with patch("veadk.cloud.cloud_agent_engine.VeFaaS") as mock_vefaas_class:
|
|
42
|
+
# Setup mock VeFaaS service for all operations
|
|
43
|
+
mock_vefaas_service = Mock()
|
|
44
|
+
mock_vefaas_class.return_value = mock_vefaas_service
|
|
45
|
+
|
|
46
|
+
# Mock deploy operation
|
|
47
|
+
mock_vefaas_service.deploy.return_value = (
|
|
48
|
+
test_endpoint,
|
|
49
|
+
"app-123",
|
|
50
|
+
"func-456",
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
# Mock update operation
|
|
54
|
+
mock_vefaas_service._update_function_code.return_value = (
|
|
55
|
+
test_endpoint,
|
|
56
|
+
"app-123",
|
|
57
|
+
"func-456",
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
# Mock remove operation
|
|
61
|
+
mock_vefaas_service.find_app_id_by_name.return_value = "app-123"
|
|
62
|
+
mock_vefaas_service.delete.return_value = None
|
|
63
|
+
|
|
64
|
+
# Test CloudAgentEngine creation and deploy functionality
|
|
65
|
+
engine = CloudAgentEngine()
|
|
66
|
+
|
|
67
|
+
# Test deploy operation
|
|
68
|
+
cloud_app = engine.deploy(application_name=app_name, path=temp_dir)
|
|
69
|
+
|
|
70
|
+
# Verify deployment result contains expected values
|
|
71
|
+
assert cloud_app.vefaas_application_name == app_name
|
|
72
|
+
assert cloud_app.vefaas_endpoint == test_endpoint
|
|
73
|
+
assert cloud_app.vefaas_application_id == "app-123"
|
|
74
|
+
|
|
75
|
+
# Test update_function_code operation
|
|
76
|
+
updated_app = engine.update_function_code(
|
|
77
|
+
application_name=app_name, path=temp_dir
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
# Verify update result maintains same endpoint
|
|
81
|
+
assert updated_app.vefaas_endpoint == test_endpoint
|
|
82
|
+
|
|
83
|
+
# Test remove operation with mocked user input
|
|
84
|
+
with patch("builtins.input", return_value="y"):
|
|
85
|
+
engine.remove(app_name)
|
|
86
|
+
mock_vefaas_service.find_app_id_by_name.assert_called_with(app_name)
|
|
87
|
+
mock_vefaas_service.delete.assert_called_with("app-123")
|
|
88
|
+
|
|
89
|
+
# Test CloudApp message_send functionality
|
|
90
|
+
mock_response = Mock()
|
|
91
|
+
mock_message = Mock()
|
|
92
|
+
mock_response.root.result = mock_message
|
|
93
|
+
|
|
94
|
+
with patch.object(cloud_app, "_get_a2a_client") as mock_get_client:
|
|
95
|
+
mock_client = AsyncMock()
|
|
96
|
+
mock_client.send_message = AsyncMock(return_value=mock_response)
|
|
97
|
+
mock_get_client.return_value = mock_client
|
|
98
|
+
|
|
99
|
+
# Test message sending to cloud agent
|
|
100
|
+
result = await cloud_app.message_send(
|
|
101
|
+
message=test_message,
|
|
102
|
+
session_id="session-123",
|
|
103
|
+
user_id="user-456",
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
# Verify message sending result
|
|
107
|
+
assert result == mock_message
|
|
108
|
+
mock_client.send_message.assert_called_once()
|
|
109
|
+
|
|
110
|
+
# Test CloudApp delete_self functionality
|
|
111
|
+
with patch("builtins.input", return_value="y"):
|
|
112
|
+
with patch(
|
|
113
|
+
"veadk.cli.services.vefaas.vefaas.VeFaaS"
|
|
114
|
+
) as mock_vefaas_in_app:
|
|
115
|
+
mock_vefaas_client = Mock()
|
|
116
|
+
mock_vefaas_in_app.return_value = mock_vefaas_client
|
|
117
|
+
mock_vefaas_client.delete.return_value = None
|
|
118
|
+
|
|
119
|
+
cloud_app.delete_self()
|
|
120
|
+
mock_vefaas_client.delete.assert_called_with("app-123")
|
|
121
|
+
|
|
122
|
+
# Verify all mocks were called as expected
|
|
123
|
+
mock_vefaas_service.deploy.assert_called_once()
|
|
124
|
+
mock_vefaas_service._update_function_code.assert_called_once()
|
|
@@ -0,0 +1,161 @@
|
|
|
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 json
|
|
16
|
+
import os
|
|
17
|
+
|
|
18
|
+
from veadk.evaluation.base_evaluator import BaseEvaluator
|
|
19
|
+
|
|
20
|
+
EVAL_SET_DATA = {
|
|
21
|
+
"eval_set_id": "home_automation_agent_light_on_off_set",
|
|
22
|
+
"name": "",
|
|
23
|
+
"description": "This is an eval set that is used for unit testing `x` behavior of the Agent",
|
|
24
|
+
"eval_cases": [
|
|
25
|
+
{
|
|
26
|
+
"eval_id": "eval_case_id",
|
|
27
|
+
"conversation": [
|
|
28
|
+
{
|
|
29
|
+
"invocation_id": "b7982664-0ab6-47cc-ab13-326656afdf75", # Unique identifier for the invocation.
|
|
30
|
+
"user_content": { # Content provided by the user in this invocation. This is the query.
|
|
31
|
+
"parts": [{"text": "Turn off device_2 in the Bedroom."}],
|
|
32
|
+
"role": "user",
|
|
33
|
+
},
|
|
34
|
+
"final_response": { # Final response from the agent that acts as a reference of benchmark.
|
|
35
|
+
"parts": [{"text": "I have set the device_2 status to off."}],
|
|
36
|
+
"role": "model",
|
|
37
|
+
},
|
|
38
|
+
"intermediate_data": {
|
|
39
|
+
"tool_uses": [ # Tool use trajectory in chronological order.
|
|
40
|
+
{
|
|
41
|
+
"args": {
|
|
42
|
+
"location": "Bedroom",
|
|
43
|
+
"device_id": "device_2",
|
|
44
|
+
"status": "OFF",
|
|
45
|
+
},
|
|
46
|
+
"name": "set_device_info",
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"intermediate_responses": [], # Any intermediate sub-agent responses.
|
|
50
|
+
},
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"session_input": { # Initial session input.
|
|
54
|
+
"app_name": "home_automation_agent",
|
|
55
|
+
"user_id": "test_user",
|
|
56
|
+
"state": {},
|
|
57
|
+
},
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
TRACE_SET_DATA = [
|
|
63
|
+
{
|
|
64
|
+
"name": "execute_tool get_city_weather",
|
|
65
|
+
"span_id": 5421848634094108689,
|
|
66
|
+
"trace_id": 115143748123782151752771111946932434777,
|
|
67
|
+
"start_time": 1754884672226444000,
|
|
68
|
+
"end_time": 1754884672226993000,
|
|
69
|
+
"attributes": {
|
|
70
|
+
"gen_ai.tool.name": "get_city_weather",
|
|
71
|
+
"gen_ai.tool.description": "Retrieves the weather information of a given city. the args must in English",
|
|
72
|
+
"gen_ai.tool.call.id": "call_6ow5622pvcouw3tpvr7rfqtl",
|
|
73
|
+
"gcp.vertex.agent.tool_call_args": '{"city": "Xi\'an"}',
|
|
74
|
+
},
|
|
75
|
+
"parent_span_id": 7997784243558253239,
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "call_llm",
|
|
79
|
+
"span_id": 7997784243558253239,
|
|
80
|
+
"trace_id": 115143748123782151752771111946932434777,
|
|
81
|
+
"attributes": {
|
|
82
|
+
"session.id": "veadk_example_session",
|
|
83
|
+
"user.id": "veadk_default_user",
|
|
84
|
+
},
|
|
85
|
+
"parent_span_id": 14844888006539887900,
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "call_llm",
|
|
89
|
+
"span_id": 7789424022423491416,
|
|
90
|
+
"trace_id": 115143748123782151752771111946932434777,
|
|
91
|
+
"attributes": {
|
|
92
|
+
"session.id": "veadk_example_session",
|
|
93
|
+
"user.id": "veadk_default_user",
|
|
94
|
+
},
|
|
95
|
+
"parent_span_id": 14844888006539887900,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "agent_run [chat_robot]",
|
|
99
|
+
"span_id": 14844888006539887900,
|
|
100
|
+
"trace_id": 115143748123782151752771111946932434777,
|
|
101
|
+
"attributes": {
|
|
102
|
+
"session.id": "veadk_example_session",
|
|
103
|
+
"user.id": "veadk_default_user",
|
|
104
|
+
},
|
|
105
|
+
"parent_span_id": 2943363177785645047,
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"name": "invocation [veadk_default_app]",
|
|
109
|
+
"span_id": 2943363177785645047,
|
|
110
|
+
"trace_id": 115143748123782151752771111946932434777,
|
|
111
|
+
"start_time": 1754884660687962000,
|
|
112
|
+
"end_time": 1754884676664833000,
|
|
113
|
+
"attributes": {
|
|
114
|
+
"input.value": '{"user_id": "veadk_default_user", "session_id": "veadk_example_session", "new_message": "{\\"parts\\": [{\\"video_metadata\\": null, \\"thought\\": null, \\"inline_data\\": null, \\"file_data\\": null, \\"thought_signature\\": null, \\"code_execution_result\\": null, \\"executable_code\\": null, \\"function_call\\": null, \\"function_response\\": null, \\"text\\": \\"How is the weather like in Xi\'an?\\"}], \\"role\\": \\"user\\"}", "run_config": "{\\"speech_config\\": null, \\"response_modalities\\": null, \\"save_input_blobs_as_artifacts\\": false, \\"support_cfc\\": false, \\"streaming_mode\\": \\"StreamingMode.NONE\\", \\"output_audio_transcription\\": null, \\"input_audio_transcription\\": null, \\"realtime_input_config\\": null, \\"enable_affective_dialog\\": null, \\"proactivity\\": null, \\"max_llm_calls\\": 500}"}',
|
|
115
|
+
"user.id": "veadk_default_user",
|
|
116
|
+
"session.id": "veadk_example_session",
|
|
117
|
+
"output.value": '{"content":{"parts":[{"text":"The weather in Xi\'an is cool, with a temperature of 18\u00b0C."}],"role":"model"},"partial":false,"usage_metadata":{"candidates_token_count":132,"prompt_token_count":547,"total_token_count":679},"invocation_id":"e-ea6bb35b-c3f0-4c5c-b127-c71c7d6d6441","author":"chat_robot","actions":{"state_delta":{},"artifact_delta":{},"requested_auth_configs":{}},"id":"c0929124-9be0-4f75-a6ba-f7a531c9ccb6","timestamp":1754884672.227546}',
|
|
118
|
+
},
|
|
119
|
+
"parent_span_id": None,
|
|
120
|
+
},
|
|
121
|
+
]
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
def test_evaluator():
|
|
125
|
+
base_evaluator = BaseEvaluator(agent=None, name="test_evaluator")
|
|
126
|
+
|
|
127
|
+
# save data to file
|
|
128
|
+
eval_set_file_path = "./eval_set_for_test_evaluator.json"
|
|
129
|
+
with open(eval_set_file_path, "w") as f:
|
|
130
|
+
json.dump(EVAL_SET_DATA, f)
|
|
131
|
+
|
|
132
|
+
base_evaluator.generate_eval_data(file_path=eval_set_file_path)
|
|
133
|
+
|
|
134
|
+
assert len(base_evaluator.invocation_list) == 1
|
|
135
|
+
assert len(base_evaluator.invocation_list[0].invocations) == 1
|
|
136
|
+
assert (
|
|
137
|
+
base_evaluator.invocation_list[0].invocations[0].invocation_id
|
|
138
|
+
== "b7982664-0ab6-47cc-ab13-326656afdf75"
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
os.remove(eval_set_file_path)
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
def test_tracing_file_to_evalset():
|
|
145
|
+
base_evaluator = BaseEvaluator(agent=None, name="test_evaluator")
|
|
146
|
+
|
|
147
|
+
# save data to file
|
|
148
|
+
tracing_file_path = "./tracing_for_test_evaluator.json"
|
|
149
|
+
with open(tracing_file_path, "w") as f:
|
|
150
|
+
json.dump(TRACE_SET_DATA, f)
|
|
151
|
+
|
|
152
|
+
base_evaluator.generate_eval_data(file_path=tracing_file_path)
|
|
153
|
+
|
|
154
|
+
assert len(base_evaluator.invocation_list) == 1
|
|
155
|
+
assert len(base_evaluator.invocation_list[0].invocations) == 1
|
|
156
|
+
assert (
|
|
157
|
+
base_evaluator.invocation_list[0].invocations[0].invocation_id
|
|
158
|
+
== "e-ea6bb35b-c3f0-4c5c-b127-c71c7d6d6441"
|
|
159
|
+
)
|
|
160
|
+
|
|
161
|
+
os.remove(tracing_file_path)
|
|
@@ -14,6 +14,12 @@
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
import pytest
|
|
17
|
+
from opentelemetry import trace as trace_api
|
|
18
|
+
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import (
|
|
19
|
+
OTLPSpanExporter,
|
|
20
|
+
)
|
|
21
|
+
from opentelemetry.sdk import trace as trace_sdk
|
|
22
|
+
from opentelemetry.sdk.trace.export import BatchSpanProcessor
|
|
17
23
|
|
|
18
24
|
from veadk.tracing.telemetry.exporters.apmplus_exporter import (
|
|
19
25
|
APMPlusExporter,
|
|
@@ -34,8 +40,7 @@ USER_ID = "testuser"
|
|
|
34
40
|
SESSION_ID = "testsession"
|
|
35
41
|
|
|
36
42
|
|
|
37
|
-
|
|
38
|
-
async def test_tracing():
|
|
43
|
+
def init_exporters():
|
|
39
44
|
cozeloop_exporter = CozeloopExporter(
|
|
40
45
|
config=CozeloopExporterConfig(
|
|
41
46
|
endpoint="http://localhost:8000",
|
|
@@ -61,12 +66,51 @@ async def test_tracing():
|
|
|
61
66
|
secret_key="test_secret_key",
|
|
62
67
|
)
|
|
63
68
|
)
|
|
69
|
+
return [cozeloop_exporter, apmplus_exporter, tls_exporter]
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def gen_span_processor(endpoint: str):
|
|
73
|
+
otlp_exporter = OTLPSpanExporter(
|
|
74
|
+
endpoint=endpoint,
|
|
75
|
+
)
|
|
76
|
+
span_processor = BatchSpanProcessor(otlp_exporter)
|
|
77
|
+
return span_processor
|
|
64
78
|
|
|
65
|
-
|
|
79
|
+
|
|
80
|
+
@pytest.mark.asyncio
|
|
81
|
+
async def test_tracing():
|
|
82
|
+
exporters = init_exporters()
|
|
66
83
|
tracer = OpentelemetryTracer(exporters=exporters)
|
|
67
84
|
|
|
68
|
-
assert len(tracer.exporters) ==
|
|
85
|
+
assert len(tracer.exporters) == 4 # with extra 1 built-in exporters
|
|
69
86
|
|
|
70
87
|
# TODO: Ensure the tracing provider is set correctly after loading SDK
|
|
71
|
-
|
|
72
|
-
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
@pytest.mark.asyncio
|
|
91
|
+
async def test_tracing_with_global_provider():
|
|
92
|
+
exporters = init_exporters()
|
|
93
|
+
# set global tracer provider before init OpentelemetryTracer
|
|
94
|
+
trace_api.set_tracer_provider(trace_sdk.TracerProvider())
|
|
95
|
+
tracer_provider = trace_api.get_tracer_provider()
|
|
96
|
+
tracer_provider.add_span_processor(gen_span_processor("http://localhost:8000"))
|
|
97
|
+
trace_api.set_tracer_provider(tracer_provider)
|
|
98
|
+
#
|
|
99
|
+
tracer = OpentelemetryTracer(exporters=exporters)
|
|
100
|
+
|
|
101
|
+
assert len(tracer.exporters) == 4 # with extra 1 built-in exporters
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
@pytest.mark.asyncio
|
|
105
|
+
async def test_tracing_with_apmplus_global_provider():
|
|
106
|
+
exporters = init_exporters()
|
|
107
|
+
# add apmplus exporter to global tracer provider before init OpentelemetryTracer
|
|
108
|
+
trace_api.set_tracer_provider(trace_sdk.TracerProvider())
|
|
109
|
+
tracer_provider = trace_api.get_tracer_provider()
|
|
110
|
+
tracer_provider.add_span_processor(gen_span_processor("http://apmplus-region.com"))
|
|
111
|
+
|
|
112
|
+
# init OpentelemetryTracer
|
|
113
|
+
tracer = OpentelemetryTracer(exporters=exporters)
|
|
114
|
+
|
|
115
|
+
# apmplus exporter won't init again
|
|
116
|
+
assert len(tracer.exporters) == 3 # with extra 1 built-in exporters
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,33 @@
|
|
|
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 json
|
|
16
|
+
|
|
17
|
+
import requests
|
|
18
|
+
from a2a.types import AgentCard
|
|
19
|
+
from google.adk.agents.remote_a2a_agent import RemoteA2aAgent
|
|
20
|
+
|
|
21
|
+
AGENT_CARD_WELL_KNOWN_PATH = "/.well-known/agent.json"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class RemoteVeAgent(RemoteA2aAgent):
|
|
25
|
+
def __init__(self, name: str, url: str):
|
|
26
|
+
agent_card_dict = requests.get(url + AGENT_CARD_WELL_KNOWN_PATH).json()
|
|
27
|
+
agent_card_dict["url"] = url
|
|
28
|
+
|
|
29
|
+
agent_card_json_str = json.dumps(agent_card_dict, ensure_ascii=False, indent=2)
|
|
30
|
+
|
|
31
|
+
agent_card_object = AgentCard.model_validate_json(str(agent_card_json_str))
|
|
32
|
+
|
|
33
|
+
super().__init__(name=name, agent_card=agent_card_object)
|
|
@@ -39,6 +39,7 @@ from veadk.prompts.agent_default_prompt import DEFAULT_DESCRIPTION, DEFAULT_INST
|
|
|
39
39
|
from veadk.tracing.base_tracer import BaseTracer
|
|
40
40
|
from veadk.utils.logger import get_logger
|
|
41
41
|
from veadk.utils.patches import patch_asyncio
|
|
42
|
+
from google.adk.agents.base_agent import BaseAgent
|
|
42
43
|
|
|
43
44
|
patch_asyncio()
|
|
44
45
|
logger = get_logger(__name__)
|
|
@@ -77,7 +78,7 @@ class Agent(LlmAgent):
|
|
|
77
78
|
tools: list[ToolUnion] = []
|
|
78
79
|
"""The tools provided to agent."""
|
|
79
80
|
|
|
80
|
-
sub_agents: list[
|
|
81
|
+
sub_agents: list[BaseAgent] = Field(default_factory=list, exclude=True)
|
|
81
82
|
"""The sub agents provided to agent."""
|
|
82
83
|
|
|
83
84
|
knowledgebase: Optional[KnowledgeBase] = None
|
|
@@ -117,9 +118,11 @@ class Agent(LlmAgent):
|
|
|
117
118
|
if self.tracers:
|
|
118
119
|
self.before_model_callback = []
|
|
119
120
|
self.after_model_callback = []
|
|
121
|
+
self.after_tool_callback = []
|
|
120
122
|
for tracer in self.tracers:
|
|
121
|
-
self.before_model_callback.append(tracer.
|
|
122
|
-
self.after_model_callback.append(tracer.
|
|
123
|
+
self.before_model_callback.append(tracer.tracer_hook_before_model)
|
|
124
|
+
self.after_model_callback.append(tracer.tracer_hook_after_model)
|
|
125
|
+
self.after_tool_callback.append(tracer.tracer_hook_after_tool)
|
|
123
126
|
|
|
124
127
|
logger.info(f"Agent `{self.name}` init done.")
|
|
125
128
|
logger.debug(
|
|
@@ -220,6 +223,9 @@ class Agent(LlmAgent):
|
|
|
220
223
|
session_service=session_service,
|
|
221
224
|
memory_service=self.long_term_memory,
|
|
222
225
|
)
|
|
226
|
+
if getattr(self, "tracers", None):
|
|
227
|
+
for tracer in self.tracers:
|
|
228
|
+
tracer.set_app_name(app_name)
|
|
223
229
|
|
|
224
230
|
logger.info(f"Begin to process prompt {prompt}")
|
|
225
231
|
# run
|
|
Binary file
|
|
Binary file
|