veadk-python 0.1.0__tar.gz → 0.2.0__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.
Potentially problematic release.
This version of veadk-python might be problematic. Click here for more details.
- {veadk_python-0.1.0 → veadk_python-0.2.0}/PKG-INFO +14 -5
- {veadk_python-0.1.0 → veadk_python-0.2.0}/README.md +13 -4
- {veadk_python-0.1.0 → veadk_python-0.2.0}/pyproject.toml +8 -2
- {veadk_python-0.1.0 → veadk_python-0.2.0}/tests/test_agent.py +3 -4
- veadk_python-0.2.0/tests/test_cloud.py +124 -0
- veadk_python-0.2.0/tests/test_evaluator.py +161 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/tests/test_knowledgebase.py +0 -2
- {veadk_python-0.1.0 → veadk_python-0.2.0}/tests/test_long_term_memory.py +1 -1
- {veadk_python-0.1.0 → veadk_python-0.2.0}/tests/test_tracing.py +49 -4
- veadk_python-0.2.0/veadk/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/__pycache__/agent.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/__pycache__/config.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/__pycache__/consts.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/__pycache__/runner.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/__pycache__/types.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/__pycache__/version.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/a2a/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/a2a/__pycache__/agent_card.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/a2a/__pycache__/remote_ve_agent.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/a2a/remote_ve_agent.py +33 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/agent.py +9 -3
- veadk_python-0.2.0/veadk/cli/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cli/__pycache__/main.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cli/main.py +108 -7
- veadk_python-0.2.0/veadk/cli/services/agentpilot/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cli/services/agentpilot/__pycache__/agentpilot.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cli/services/veapig/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cli/services/veapig/__pycache__/apig.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cli/services/vefaas/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cli/services/vefaas/__pycache__/vefaas.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cli/services/vefaas/__pycache__/vefaas_utils.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cli/services/vefaas/template/README.md +37 -0
- veadk_python-0.2.0/veadk/cli/services/vefaas/template/config.yaml.example +19 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cli/services/vefaas/template/deploy.py +25 -11
- veadk_python-0.2.0/veadk/cli/services/vefaas/template/src/__init__.py +14 -0
- veadk_python-0.2.0/veadk/cli/services/vefaas/template/src/__pycache__/agent.cpython-310.pyc +0 -0
- veadk_python-0.2.0/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.0/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.0/veadk/cli/services/vefaas/template/src/app.py +31 -19
- veadk_python-0.2.0/veadk/cli/services/vefaas/template/src/requirements.txt +6 -0
- veadk_python-0.2.0/veadk/cli/services/vefaas/template/src/run.sh +63 -0
- veadk_python-0.2.0/veadk/cli/services/vefaas/template/src/studio_app.py +47 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cli/services/vefaas/vefaas.py +153 -101
- veadk_python-0.2.0/veadk/cli/studio/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cli/studio/__pycache__/fast_api.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cli/studio/__pycache__/models.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cli/studio/__pycache__/studio_processor.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cli/studio/fast_api.py +392 -0
- veadk_python-0.2.0/veadk/cli/studio/models.py +76 -0
- veadk_python-0.2.0/veadk/cli/studio/studio_processor.py +127 -0
- veadk_python-0.2.0/veadk/cli/studio/web/404.html +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1012.1c22f40693022876.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1017.577d2551c3a2b396.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1044.7c49605a0f9b5d5c.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1067.71aee8d185b3a9d7.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1088.8f7f3c71458d301b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1092.7b553ab1ec1737bf.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1117.8c537e259adccbe2.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1142.1faf8d46ccf4030c.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1146.25bf08c82f4ad1c5.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1192.55e7712b3dc8b6a8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1200.1038681512a9f69a.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1265.e055670c82b2d131.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1275.322d8bf8a580b859.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/140.d7e90f5e12cf288c.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1421.7fff0e9f0677f79b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1469.16c1e07a7c0f9817.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1480.3c94a6d6d61c4f56.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1507.4c7617217de3bef8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1523.1740f3d9d913fe76.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1526.5fb34657a70589b5.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1563.6c364e96b33f3328.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/157.2e3f508bc115c15c.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1577.b6cebda169ac9c75.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1622.a611b4dab478587d.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1685.db5d4efe2f0e3767.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1687.a10254d4e1dd84c0.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1826.da2ac0fcfb59cfae.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1832.f81112d6166a9563.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1851.1d0bdfdf5fa89313.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/189.c602a68aadf321e4.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1899.dd303f08095745bc.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/193.1e81c5b253db2ee7.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1936.8fad6d3898c86483.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1942.165056b632c269d4.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/1974.ee28ba5ac111af70.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2.c2afe2e24520b5de.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2006.298ac00a777dc313.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2063.69ba443b7901194c.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2067-e02b0bc96d886930.js +91 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2119.4595d21bc0340c5b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/212.0a8d6163667d9369.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2190.5549f7a57901bd46.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2193.51ce38cc9e965abd.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2202.a6c08676680e55ad.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2247.af410bd18c38e538.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2313.6932520daf0fa88c.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2316.c9eafa57971eebc8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2324.766859688506ac0d.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2328.131b0296bc19ba4e.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2332.b9b7ac0b386a4a28.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2344.cc417c70cb6dbc51.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2347.9f442b75b11de668.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2356.f6b4ac7eb50edb44.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2370.044b34646bc58363.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2378.2005af4d2bf100dd.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2437.68534e42d45c5c61.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2449.db460ea54b851bc1.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2455.153b04863d2ae9dc.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2484.139843b3f1cc8ea5.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2500.e2b8da0d1401bd5f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2513.a7056ff98b04c4cd.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2533.5e35d247414428d0.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2541.3e5a23b461d7a9fd.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2545.0e4e3a784391205b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2558.17eda1052d7c8c1f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2559.7432df2540cfff07.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2578.1be0687e71bc7731.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2601.aa7e57bdf472372c.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/261-19b52c2c85aefb5d.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2642.9ea0966ca6bd8ace.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2669.e90ab188be48154e.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2737.4f5c7f7b9293ae65.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2804.b801cadc26133d92.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2817.8584109b4bc979e8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/282.cfff86fab979470f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2822.12cdf0520b2d321a.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/288.5c1053dbdc74212b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2964.a531dbf5eb867f3d.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/2f7605f3.0531565b22967bb4.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3080.9aada68cdc9ad5c2.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3090.a9e7f71df818f607.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3103.b7cdb76d87ac0fdd.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/311.2737abd09304ba1b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3110.84511591e516221b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3126.307ac469edcf6ec9.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/320.a3c0085ebf05b7da.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/322.668c1a20cc012c68.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3341.a0f06b1edc2332fb.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3357.ced93e6bf8e56762.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3386.53f3aa4ff0dd0170.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3391.402e02fd7c297ff8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3392.5172b1d190ff0e8c.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/33fb68d2.aacf24a5979288bd.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3429.74dcaa985d188e43.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3433.737c3d948bdda1da.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3435.1798454b9a5b69ca.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3481.a916f933c4e534b8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3602.bdf28129f1569554.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3607.49cec7e9330d1f4d.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3615.3280752d551adf2d.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3721.f660b5b05621f5e4.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3786.ae0824e683556d37.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/3805.ec0340f0f6e61bbc.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4045.42a3c9fb7d932ebc.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4052.86cc820c95ad25a8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4058.3cea468f5370b7c9.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4068.ff830b92579f6b7f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/411.5679da8e6a856022.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4118.e2544434642f6640.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4139.80b0aab26d9a4601.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/423.da4e0abf5fd408dc.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4262.9d5532cb76a86371.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/431.ef6d705ac627958f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4337.3c94a6d6d61c4f56.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4357-39eb6b5934ac97db.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4382.64908590e0a18d66.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4489.7a9b45fb6f6bf491.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/450.76880cb957b128fa.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/452.14fb00ee415ad32b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4577.d1cbd95a87e2adb2.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4626.0866c7ee38885775.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4627.3d7df52a668a6b57.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4713.3891f7d347513ef5.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4749.25fd94a8ed476b13.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4836.afe027e38fb9a7e8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/483e0093.2a09b17ad5d1b3ed.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4852.cac6e9c5032df796.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4860.94324451a00fadc0.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4869.091903cb36ad77ad.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4888.e248e212b002f5df.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/492.ac958937dd36300f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4958.85e0dbc8b2319776.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4968.1477e29640b2deb8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4980.1300ab7d9c76e523.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/4aa6d3c9.dade76a8ff4112d3.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5006.8ee1d611f529da11.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5018.c34d2a9f82e24c51.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5050.c06b2d8e12720555.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5084.9b554002148843ea.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5097.2e9a097ccfb70707.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5113.fa5291624248676b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5115.ff49cf5e2be16db4.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/521.98b7995e15b59075.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5213.1a7618fcae8c5282.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/522.56063fbcf9aa8699.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5247.b304f94eb3132618.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5248.f9faaff2f0d7631f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/527-1c65afbb202752bd.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/529.7d231c2076b6d77a.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5305.9323b5f7efaa005e.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5317.fce75000492e9db4.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5326.3be5b04850f0a2f2.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5329.415b43aacdd9a471.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5331.77f0493c99857944.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5341.1fff90ab37947f62.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/541.04d938e895b7f678.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5428.fa789e4b0d61cd0d.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5460.cee07b9411c5c5ca.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5472.f645717ad2edd28f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5503.75093ef3870b655f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5567.44555d5da6ed19b7.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5572.3c35c26a4867ca56.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5579.b3be6028d1833118.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5631.b8a2c0dc65737269.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5656.b743b6ab9a61eec0.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5677.c063822912e55a25.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5779.0b1a3c7d1c018a1d.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5817.ae1fb69a154fbf4c.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5860.7154866a5d2dd82f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5865.645e44e8e171ba9f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5906.30cce16ed88f920a.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5942.cd6dfaad76581849.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/5958.e2f981fa3cba5d99.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/60f90b65.d526f39688baa769.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6128.3da302fb50769250.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/62.5408e55d383a8078.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/624.7c7198473a8877d8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6264.e7bdd878d9e7a249.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6266.97409ca00a3c32d9.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6269.668be917daafccaa.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/630.87a6f22ac3e8956b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6341.35afa02112051be8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6353.93869a804ffe525b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6375.46d2897cb2526abd.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6395.f113970ceec6ba91.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/63d31579-18fb2181524a9c6f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6423.d4cf9eb5b2ae6336.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6437.5eeaa7320bce1872.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6438.1c8486cc62da4117.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6451.f56cce0a07138982.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6456.f263b33ea51e4f54.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6504.0e6ae8d5bb987be6.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6560.b08504c0d99d71d4.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6563.e6d3bdba9860590d.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6621.639e4057d9c15bea.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6625.c0233245d2c1ef25.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6641.5487a2d68b0c52f2.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6644.74de9f2de2dc75f5.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6730.aac5bd02aab8258f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6824.8c40dbd3eb390403.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6831.74b4a9b75f4ff9d1.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/688.9a27292bd19bc993.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6899.ac4207b9a778bd0e.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6901.4755ed550912589c.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6910.5d45b17e287dba94.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6928.d0a540480df90930.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6958.c58e8e991b201429.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/6d60d248-1bbd761ee88ab2e4.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/70207789-862965aac548ab2a.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7046.60a892c1e506cf5f.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7068.6639b51e828de233.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7172.aeda2e49d81fc0fd.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7185.0210768f3918ec41.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7200.86e672d8e2c1a920.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/730.2c5e46bf8fd29fcc.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7301.43929cd9c2a5d2ea.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7335.68692b193fa0dff6.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7412.98554f6ee574e288.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7422.e4a69fce6694ba90.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7448.63e7b8d5fd090bd1.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7479.97f696c6ada04b29.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7482.ab6a217c34f6934a.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7484.b91675bd38b250f8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7522.84dac217ae0701ac.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7540-38c13446d29f43f2.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7556.ae47807e378de233.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/761.2ce77249f8d3a1ce.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7678.ceea70830f2dd7ff.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7684.c43e4b5ad1f9b0af.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7698.44201098b212aee8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/76ff44ea.8322bdedaee78e2d.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7725.b15cb8b6e1d15403.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7855.513a507852c649f2.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7910.266df3f992c16215.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7940.f490f3d5e6590e54.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/7960.491bd15bef82755c.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8020.795778775ed5c387.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8107.fbb6017b3e909da5.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8169.4d7fd139784eb935.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8196.6c5c3dfe86e1c3ca.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8257.ee682bc2599473cb.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8305.d2c965e56fe9350c.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8324.8c3edcc756f5e2f3.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8388.cc59fb03d62a71cf.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8394.d5ca17ce8f6fffb0.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8419.b11c64d18dc580b5.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8478.5f4272ae9afa4061.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8480.a071150cb4eddc29.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8535.0ab856b7bf0e161b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8571.8af7983b03c09f86.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8583.4afa8c68cb867b2d.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8601.520cbfc8abbfb5f8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8656.5f8b6212d2b35257.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8665.7f24febc4a78ff5e.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8687.c94010eb559245b6.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8815.81a5c5700763ca02.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8878.28a43a5fe23f5bd0.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8884.e4e411c7978b2552.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8962.db5c7728bef5ff0b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/8984.dfcb15f115089c4a.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9022.d161e32a6b1bcc61.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9099.8ba5be825d17456a.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/914.72991ff6c9332951.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9217.40b78a38cadcd268.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/925.0cc74592f03b10e9.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9275.ac60c49c68c86e51.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/92a17e6d.da4fba322f70cd46.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/92b95f17.39f98387a9867b4a.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9361.d3535e4d87c1c527.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9433.55eb6e4ea7edb262.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9436.5b2462fa3ddebb27.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9445.e29312f685c22eff.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9471.646bdfb962cdd5c2.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9473.efa6db413edc23d1.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9484.e9f1cd4e3f8e75df.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9545.61026f3c11f914f2.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9555.287e4e4a50087d62.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/963.da40bca273fb82c6.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9636.4d3678b9a4e0b46e.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9657.459d6300b0bc8ef8.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9676.cef4d87274c64417.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/97.15df9ee2f6270421.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9754.76a3ea33dc0e9a07.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9790.7e01549d70279760.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9871.994068e90ef076a5.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9887.0fbd7c3721a3c1d1.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9923.14c88b64d7749eaa.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/997.193727d4b2eede68.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9971.36f503837f73d3c2.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9976.ab4ec59ede08f398.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9990.13e025853b0250b6.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/9997.a844d058b46bb680.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/app/_not-found/page-ce05b36a67c37396.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/app/layout-b0d50d105c55fd6d.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/app/page-7b51d29c96f44f61.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/app/run/page-c2cd4dca690d6d29.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/c06218ab.b1da50a91b579a52.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/c911d7bd.bcca2e3dda67a7a6.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/d386b14e.c746c93eac03a58e.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/e925550e.ff706051f5223d26.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/fc645be4-662fd2da08676daa.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/framework-2b8e4864be10152d.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/main-33072985ea766514.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/main-app-4a8ccba13aa7606b.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/pages/_app-c0ae3ec92f260128.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/pages/_error-899a04d491d7df58.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/chunks/webpack-14afc8861a1fe293.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/css/366cfdd7fdd8bcac.css +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_buildManifest.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_ssgManifest.js +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/media/747892c23ea88013-s.woff2 +0 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/media/8d697b304b401681-s.woff2 +0 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/media/9610d9e46709d722-s.woff2 +0 -0
- veadk_python-0.2.0/veadk/cli/studio/web/_next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
- veadk_python-0.2.0/veadk/cli/studio/web/favicon.ico +0 -0
- veadk_python-0.2.0/veadk/cli/studio/web/file.svg +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/globe.svg +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/index.html +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/index.txt +43 -0
- veadk_python-0.2.0/veadk/cli/studio/web/next.svg +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/run.html +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/run.txt +44 -0
- veadk_python-0.2.0/veadk/cli/studio/web/veadk-logo.png +0 -0
- veadk_python-0.2.0/veadk/cli/studio/web/vercel.svg +1 -0
- veadk_python-0.2.0/veadk/cli/studio/web/window.svg +1 -0
- veadk_python-0.2.0/veadk/cloud/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cloud/__pycache__/cloud_agent_engine.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cloud/__pycache__/cloud_app.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/cloud/cloud_agent_engine.py +205 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cloud/cloud_app.py +82 -14
- veadk_python-0.2.0/veadk/database/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/database/__pycache__/base_database.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/database/__pycache__/database_adapter.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/database/__pycache__/database_factory.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/database/__pycache__/local_database.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/database/database_adapter.py +280 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/database/database_factory.py +3 -3
- veadk_python-0.2.0/veadk/database/kv/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/database/relational/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/database/vector/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/database/vector/__pycache__/opensearch_vector_database.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/database/vector/__pycache__/type.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/database/vector/opensearch_vector_database.py +50 -2
- veadk_python-0.2.0/veadk/database/viking/__pycache__/__init__.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/database/viking/viking_database.py +24 -6
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/database/viking/viking_memory_db.py +26 -22
- veadk_python-0.2.0/veadk/evaluation/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/evaluation/__pycache__/base_evaluator.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/evaluation/__pycache__/eval_set_file_loader.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/evaluation/__pycache__/eval_set_recorder.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/evaluation/__pycache__/types.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/evaluation/adk_evaluator/__pycache__/__init__.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/evaluation/base_evaluator.py +130 -3
- veadk_python-0.2.0/veadk/evaluation/deepeval_evaluator/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/evaluation/deepeval_evaluator/__pycache__/deepeval_evaluator.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +14 -25
- veadk_python-0.1.0/veadk/cloud/template/app.py → veadk_python-0.2.0/veadk/evaluation/types.py +15 -12
- veadk_python-0.2.0/veadk/evaluation/utils/__pycache__/prometheus.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/evaluation/utils/prometheus.py +19 -23
- veadk_python-0.2.0/veadk/knowledgebase/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/knowledgebase/__pycache__/knowledgebase.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/knowledgebase/__pycache__/knowledgebase_database_adapter.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/knowledgebase/knowledgebase.py +30 -29
- veadk_python-0.2.0/veadk/memory/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/memory/__pycache__/long_term_memory.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/memory/__pycache__/memory_database_adapter.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/memory/__pycache__/short_term_memory.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/memory/__pycache__/short_term_memory_processor.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/memory/long_term_memory.py +155 -0
- veadk_python-0.2.0/veadk/prompts/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/prompts/__pycache__/agent_default_prompt.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/prompts/__pycache__/prompt_memory_processor.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/prompts/__pycache__/prompt_optimization.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/runner.py +4 -0
- veadk_python-0.2.0/veadk/tools/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tools/__pycache__/demo_tools.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tools/__pycache__/load_knowledgebase_tool.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tools/builtin_tools/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tools/builtin_tools/__pycache__/lark.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tools/builtin_tools/__pycache__/web_search.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tools/builtin_tools/las.py +3 -2
- veadk_python-0.2.0/veadk/tools/builtin_tools/mcp_router.py +22 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tools/load_knowledgebase_tool.py +3 -5
- veadk_python-0.2.0/veadk/tools/sandbox/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tracing/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tracing/__pycache__/base_tracer.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tracing/base_tracer.py +44 -3
- veadk_python-0.2.0/veadk/tracing/telemetry/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tracing/telemetry/__pycache__/opentelemetry_tracer.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tracing/telemetry/exporters/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tracing/telemetry/exporters/__pycache__/apiserver_exporter.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tracing/telemetry/exporters/__pycache__/apmplus_exporter.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tracing/telemetry/exporters/__pycache__/base_exporter.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tracing/telemetry/exporters/__pycache__/cozeloop_exporter.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tracing/telemetry/exporters/__pycache__/inmemory_exporter.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tracing/telemetry/exporters/__pycache__/tls_exporter.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tracing/telemetry/metrics/__init__.py +13 -0
- veadk_python-0.2.0/veadk/tracing/telemetry/metrics/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/tracing/telemetry/metrics/__pycache__/opentelemetry_metrics.cpython-310.pyc +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tracing/telemetry/opentelemetry_tracer.py +55 -13
- veadk_python-0.2.0/veadk/utils/__init__.py +13 -0
- veadk_python-0.2.0/veadk/utils/__pycache__/__init__.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/utils/__pycache__/logger.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/utils/__pycache__/mcp_utils.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/utils/__pycache__/misc.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/utils/__pycache__/patches.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/utils/__pycache__/volcengine_sign.cpython-310.pyc +0 -0
- veadk_python-0.2.0/veadk/utils/mcp_utils.py +44 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/version.py +1 -1
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk_python.egg-info/PKG-INFO +14 -5
- veadk_python-0.2.0/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.0}/LICENSE +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/setup.cfg +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/tests/test_agent_card.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/tests/test_multiple_agents.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/tests/test_runner.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/tests/test_runtime_data_collecting.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/tests/test_short_term_memory.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/a2a/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/a2a/agent_card.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/a2a/ve_a2a_server.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/a2a/ve_agent_executor.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/a2a/ve_task_store.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cli/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cli/services/agentpilot/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cli/services/agentpilot/agentpilot.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cli/services/veapig/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cli/services/veapig/apig.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cli/services/veapig/apig_utils.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cli/services/vefaas/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/cli/studio → veadk_python-0.2.0/veadk/cli/services/vefaas/template}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cli/services/vefaas/vefaas_utils.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cli/services/vetls/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/cli/services/vetls/vetls.py +0 -0
- {veadk_python-0.1.0/veadk/cloud → veadk_python-0.2.0/veadk/cli/studio}/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/database/kv → veadk_python-0.2.0/veadk/cli/studio/web}/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/database/relational → veadk_python-0.2.0/veadk/cloud}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/config.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/consts.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/database/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/database/base_database.py +0 -0
- {veadk_python-0.1.0/veadk/database/vector → veadk_python-0.2.0/veadk/database/kv}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/database/kv/redis_database.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/database/local_database.py +0 -0
- {veadk_python-0.1.0/veadk/database/viking → veadk_python-0.2.0/veadk/database/relational}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/database/relational/mysql_database.py +0 -0
- {veadk_python-0.1.0/veadk/evaluation/adk_evaluator → veadk_python-0.2.0/veadk/database/vector}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/database/vector/type.py +0 -0
- {veadk_python-0.1.0/veadk/memory → veadk_python-0.2.0/veadk/database/viking}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/evaluation/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/prompts → veadk_python-0.2.0/veadk/evaluation/adk_evaluator}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/evaluation/adk_evaluator/adk_evaluator.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/evaluation/deepeval_evaluator/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/evaluation/eval_set_file_loader.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/evaluation/eval_set_recorder.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/knowledgebase/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/tools → veadk_python-0.2.0/veadk/memory}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/memory/short_term_memory.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/memory/short_term_memory_processor.py +0 -0
- {veadk_python-0.1.0/veadk/tools/builtin_tools → veadk_python-0.2.0/veadk/prompts}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/prompts/agent_default_prompt.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/prompts/prompt_evaluator.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/prompts/prompt_memory_processor.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/prompts/prompt_optimization.py +0 -0
- {veadk_python-0.1.0/veadk/tools/sandbox → veadk_python-0.2.0/veadk/tools}/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/tracing → veadk_python-0.2.0/veadk/tools/builtin_tools}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tools/builtin_tools/lark.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tools/builtin_tools/vesearch.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tools/builtin_tools/web_scraper.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tools/builtin_tools/web_search.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tools/demo_tools.py +0 -0
- {veadk_python-0.1.0/veadk/tracing/telemetry → veadk_python-0.2.0/veadk/tools/sandbox}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tools/sandbox/browser_sandbox.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tools/sandbox/code_sandbox.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tools/sandbox/computer_sandbox.py +0 -0
- {veadk_python-0.1.0/veadk/tracing/telemetry/exporters → veadk_python-0.2.0/veadk/tracing}/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/tracing/telemetry/metrics → veadk_python-0.2.0/veadk/tracing/telemetry}/__init__.py +0 -0
- {veadk_python-0.1.0/veadk/utils → veadk_python-0.2.0/veadk/tracing/telemetry/exporters}/__init__.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tracing/telemetry/exporters/apiserver_exporter.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tracing/telemetry/exporters/apmplus_exporter.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tracing/telemetry/exporters/base_exporter.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tracing/telemetry/exporters/cozeloop_exporter.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tracing/telemetry/exporters/inmemory_exporter.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tracing/telemetry/exporters/tls_exporter.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/tracing/telemetry/metrics/opentelemetry_metrics.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/types.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/utils/logger.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/utils/misc.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/utils/patches.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk/utils/volcengine_sign.py +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk_python.egg-info/dependency_links.txt +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk_python.egg-info/entry_points.txt +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/veadk_python.egg-info/requires.txt +0 -0
- {veadk_python-0.1.0 → veadk_python-0.2.0}/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.
|
|
3
|
+
Version: 0.2.0
|
|
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.
|
|
3
|
+
version = "0.2.0"
|
|
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)
|
|
@@ -29,13 +29,18 @@ from veadk.tracing.telemetry.exporters.tls_exporter import (
|
|
|
29
29
|
)
|
|
30
30
|
from veadk.tracing.telemetry.opentelemetry_tracer import OpentelemetryTracer
|
|
31
31
|
|
|
32
|
+
from opentelemetry import trace as trace_api
|
|
33
|
+
from opentelemetry.sdk import trace as trace_sdk
|
|
34
|
+
from opentelemetry.sdk.trace.export import BatchSpanProcessor
|
|
35
|
+
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import (
|
|
36
|
+
OTLPSpanExporter,
|
|
37
|
+
)
|
|
38
|
+
|
|
32
39
|
APP_NAME = "app"
|
|
33
40
|
USER_ID = "testuser"
|
|
34
41
|
SESSION_ID = "testsession"
|
|
35
42
|
|
|
36
|
-
|
|
37
|
-
@pytest.mark.asyncio
|
|
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,8 +66,18 @@ async def test_tracing():
|
|
|
61
66
|
secret_key="test_secret_key",
|
|
62
67
|
)
|
|
63
68
|
)
|
|
69
|
+
return [cozeloop_exporter, apmplus_exporter, tls_exporter]
|
|
64
70
|
|
|
65
|
-
|
|
71
|
+
def gen_span_processor(endpoint: str):
|
|
72
|
+
otlp_exporter = OTLPSpanExporter(
|
|
73
|
+
endpoint=endpoint,
|
|
74
|
+
)
|
|
75
|
+
span_processor = BatchSpanProcessor(otlp_exporter)
|
|
76
|
+
return span_processor
|
|
77
|
+
|
|
78
|
+
@pytest.mark.asyncio
|
|
79
|
+
async def test_tracing():
|
|
80
|
+
exporters = init_exporters()
|
|
66
81
|
tracer = OpentelemetryTracer(exporters=exporters)
|
|
67
82
|
|
|
68
83
|
assert len(tracer.exporters) == 5 # with extra 2 built-in exporters
|
|
@@ -70,3 +85,33 @@ async def test_tracing():
|
|
|
70
85
|
# TODO: Ensure the tracing provider is set correctly after loading SDK
|
|
71
86
|
# TODO: Ensure the tracing provider is set correctly after loading SDK
|
|
72
87
|
# TODO: Ensure the tracing provider is set correctly after loading SDK
|
|
88
|
+
|
|
89
|
+
@pytest.mark.asyncio
|
|
90
|
+
async def test_tracing_with_global_provider():
|
|
91
|
+
exporters = init_exporters()
|
|
92
|
+
# set global tracer provider before init OpentelemetryTracer
|
|
93
|
+
trace_api.set_tracer_provider(trace_sdk.TracerProvider())
|
|
94
|
+
tracer_provider = trace_api.get_tracer_provider()
|
|
95
|
+
tracer_provider.add_span_processor(gen_span_processor("http://localhost:8000"))
|
|
96
|
+
trace_api.set_tracer_provider(tracer_provider)
|
|
97
|
+
#
|
|
98
|
+
tracer = OpentelemetryTracer(exporters=exporters)
|
|
99
|
+
|
|
100
|
+
assert len(tracer.exporters) == 5 # with extra 2 built-in exporters
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
@pytest.mark.asyncio
|
|
104
|
+
async def test_tracing_with_apmplus_global_provider():
|
|
105
|
+
exporters = init_exporters()
|
|
106
|
+
# add apmplus exporter to global tracer provider before init OpentelemetryTracer
|
|
107
|
+
trace_api.set_tracer_provider(trace_sdk.TracerProvider())
|
|
108
|
+
tracer_provider = trace_api.get_tracer_provider()
|
|
109
|
+
tracer_provider.add_span_processor(gen_span_processor("http://apmplus-region.com"))
|
|
110
|
+
|
|
111
|
+
# init OpentelemetryTracer
|
|
112
|
+
tracer = OpentelemetryTracer(exporters=exporters)
|
|
113
|
+
|
|
114
|
+
# apmplus exporter won't init again
|
|
115
|
+
assert len(tracer.exporters) == 4 # with extra 2 built-in exporters
|
|
116
|
+
|
|
117
|
+
|
|
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
|