veadk-python 0.1.0__py3-none-any.whl → 0.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of veadk-python might be problematic. Click here for more details.

Files changed (469) hide show
  1. veadk/__pycache__/__init__.cpython-310.pyc +0 -0
  2. veadk/__pycache__/agent.cpython-310.pyc +0 -0
  3. veadk/__pycache__/config.cpython-310.pyc +0 -0
  4. veadk/__pycache__/consts.cpython-310.pyc +0 -0
  5. veadk/__pycache__/runner.cpython-310.pyc +0 -0
  6. veadk/__pycache__/types.cpython-310.pyc +0 -0
  7. veadk/__pycache__/version.cpython-310.pyc +0 -0
  8. veadk/a2a/__pycache__/__init__.cpython-310.pyc +0 -0
  9. veadk/a2a/__pycache__/agent_card.cpython-310.pyc +0 -0
  10. veadk/a2a/__pycache__/remote_ve_agent.cpython-310.pyc +0 -0
  11. veadk/a2a/remote_ve_agent.py +14 -0
  12. veadk/agent.py +9 -3
  13. veadk/cli/__pycache__/__init__.cpython-310.pyc +0 -0
  14. veadk/cli/__pycache__/main.cpython-310.pyc +0 -0
  15. veadk/cli/main.py +108 -7
  16. veadk/cli/services/agentpilot/__pycache__/__init__.cpython-310.pyc +0 -0
  17. veadk/cli/services/agentpilot/__pycache__/agentpilot.cpython-310.pyc +0 -0
  18. veadk/cli/services/veapig/__pycache__/__init__.cpython-310.pyc +0 -0
  19. veadk/cli/services/veapig/__pycache__/apig.cpython-310.pyc +0 -0
  20. veadk/cli/services/vefaas/__pycache__/__init__.cpython-310.pyc +0 -0
  21. veadk/cli/services/vefaas/__pycache__/vefaas.cpython-310.pyc +0 -0
  22. veadk/cli/services/vefaas/__pycache__/vefaas_utils.cpython-310.pyc +0 -0
  23. veadk/cli/services/vefaas/template/README.md +37 -0
  24. veadk/cli/services/vefaas/template/__init__.py +13 -0
  25. veadk/cli/services/vefaas/template/config.yaml.example +19 -0
  26. veadk/cli/services/vefaas/template/deploy.py +25 -11
  27. veadk/cli/services/vefaas/template/src/__init__.py +14 -0
  28. veadk/cli/services/vefaas/template/src/__pycache__/agent.cpython-310.pyc +0 -0
  29. veadk/cli/services/vefaas/template/src/__pycache__/studio_app.cpython-310.pyc +0 -0
  30. veadk/cli/services/vefaas/template/src/agent.py +25 -0
  31. veadk/cli/services/vefaas/template/src/app.py +48 -8
  32. veadk/cli/services/vefaas/template/src/requirements.txt +6 -0
  33. veadk/cli/services/vefaas/template/src/run.sh +63 -0
  34. veadk/cli/services/vefaas/template/src/studio_app.py +47 -0
  35. veadk/cli/services/vefaas/vefaas.py +153 -101
  36. veadk/cli/studio/__pycache__/__init__.cpython-310.pyc +0 -0
  37. veadk/cli/studio/__pycache__/fast_api.cpython-310.pyc +0 -0
  38. veadk/cli/studio/__pycache__/models.cpython-310.pyc +0 -0
  39. veadk/cli/studio/__pycache__/studio_processor.cpython-310.pyc +0 -0
  40. veadk/cli/studio/fast_api.py +305 -145
  41. veadk/cli/studio/models.py +76 -0
  42. veadk/cli/studio/studio_processor.py +127 -0
  43. veadk/cli/studio/web/404.html +1 -0
  44. veadk/cli/studio/web/__init__.py +13 -0
  45. veadk/cli/studio/web/__pycache__/__init__.cpython-310.pyc +0 -0
  46. veadk/cli/studio/web/_next/static/chunks/1012.1c22f40693022876.js +1 -0
  47. veadk/cli/studio/web/_next/static/chunks/1017.577d2551c3a2b396.js +1 -0
  48. veadk/cli/studio/web/_next/static/chunks/1044.7c49605a0f9b5d5c.js +1 -0
  49. veadk/cli/studio/web/_next/static/chunks/1067.71aee8d185b3a9d7.js +1 -0
  50. veadk/cli/studio/web/_next/static/chunks/1088.8f7f3c71458d301b.js +1 -0
  51. veadk/cli/studio/web/_next/static/chunks/1092.7b553ab1ec1737bf.js +1 -0
  52. veadk/cli/studio/web/_next/static/chunks/1117.8c537e259adccbe2.js +1 -0
  53. veadk/cli/studio/web/_next/static/chunks/1142.1faf8d46ccf4030c.js +1 -0
  54. veadk/cli/studio/web/_next/static/chunks/1146.25bf08c82f4ad1c5.js +1 -0
  55. veadk/cli/studio/web/_next/static/chunks/1192.55e7712b3dc8b6a8.js +1 -0
  56. veadk/cli/studio/web/_next/static/chunks/1200.1038681512a9f69a.js +1 -0
  57. veadk/cli/studio/web/_next/static/chunks/1265.e055670c82b2d131.js +1 -0
  58. veadk/cli/studio/web/_next/static/chunks/1275.322d8bf8a580b859.js +1 -0
  59. veadk/cli/studio/web/_next/static/chunks/140.d7e90f5e12cf288c.js +1 -0
  60. veadk/cli/studio/web/_next/static/chunks/1421.7fff0e9f0677f79b.js +1 -0
  61. veadk/cli/studio/web/_next/static/chunks/1469.16c1e07a7c0f9817.js +1 -0
  62. veadk/cli/studio/web/_next/static/chunks/1480.3c94a6d6d61c4f56.js +1 -0
  63. veadk/cli/studio/web/_next/static/chunks/1507.4c7617217de3bef8.js +1 -0
  64. veadk/cli/studio/web/_next/static/chunks/1523.1740f3d9d913fe76.js +1 -0
  65. veadk/cli/studio/web/_next/static/chunks/1526.5fb34657a70589b5.js +1 -0
  66. veadk/cli/studio/web/_next/static/chunks/1563.6c364e96b33f3328.js +1 -0
  67. veadk/cli/studio/web/_next/static/chunks/157.2e3f508bc115c15c.js +1 -0
  68. veadk/cli/studio/web/_next/static/chunks/1577.b6cebda169ac9c75.js +1 -0
  69. veadk/cli/studio/web/_next/static/chunks/1622.a611b4dab478587d.js +1 -0
  70. veadk/cli/studio/web/_next/static/chunks/1685.db5d4efe2f0e3767.js +1 -0
  71. veadk/cli/studio/web/_next/static/chunks/1687.a10254d4e1dd84c0.js +1 -0
  72. veadk/cli/studio/web/_next/static/chunks/1826.da2ac0fcfb59cfae.js +1 -0
  73. veadk/cli/studio/web/_next/static/chunks/1832.f81112d6166a9563.js +1 -0
  74. veadk/cli/studio/web/_next/static/chunks/1851.1d0bdfdf5fa89313.js +1 -0
  75. veadk/cli/studio/web/_next/static/chunks/189.c602a68aadf321e4.js +1 -0
  76. veadk/cli/studio/web/_next/static/chunks/1899.dd303f08095745bc.js +1 -0
  77. veadk/cli/studio/web/_next/static/chunks/193.1e81c5b253db2ee7.js +1 -0
  78. veadk/cli/studio/web/_next/static/chunks/1936.8fad6d3898c86483.js +1 -0
  79. veadk/cli/studio/web/_next/static/chunks/1942.165056b632c269d4.js +1 -0
  80. veadk/cli/studio/web/_next/static/chunks/1974.ee28ba5ac111af70.js +1 -0
  81. veadk/cli/studio/web/_next/static/chunks/2.c2afe2e24520b5de.js +1 -0
  82. veadk/cli/studio/web/_next/static/chunks/2006.298ac00a777dc313.js +1 -0
  83. veadk/cli/studio/web/_next/static/chunks/2063.69ba443b7901194c.js +1 -0
  84. veadk/cli/studio/web/_next/static/chunks/2067-e02b0bc96d886930.js +91 -0
  85. veadk/cli/studio/web/_next/static/chunks/2119.4595d21bc0340c5b.js +1 -0
  86. veadk/cli/studio/web/_next/static/chunks/212.0a8d6163667d9369.js +1 -0
  87. veadk/cli/studio/web/_next/static/chunks/2190.5549f7a57901bd46.js +1 -0
  88. veadk/cli/studio/web/_next/static/chunks/2193.51ce38cc9e965abd.js +1 -0
  89. veadk/cli/studio/web/_next/static/chunks/2202.a6c08676680e55ad.js +1 -0
  90. veadk/cli/studio/web/_next/static/chunks/2247.af410bd18c38e538.js +1 -0
  91. veadk/cli/studio/web/_next/static/chunks/2313.6932520daf0fa88c.js +1 -0
  92. veadk/cli/studio/web/_next/static/chunks/2316.c9eafa57971eebc8.js +1 -0
  93. veadk/cli/studio/web/_next/static/chunks/2324.766859688506ac0d.js +1 -0
  94. veadk/cli/studio/web/_next/static/chunks/2328.131b0296bc19ba4e.js +1 -0
  95. veadk/cli/studio/web/_next/static/chunks/2332.b9b7ac0b386a4a28.js +1 -0
  96. veadk/cli/studio/web/_next/static/chunks/2344.cc417c70cb6dbc51.js +1 -0
  97. veadk/cli/studio/web/_next/static/chunks/2347.9f442b75b11de668.js +1 -0
  98. veadk/cli/studio/web/_next/static/chunks/2356.f6b4ac7eb50edb44.js +1 -0
  99. veadk/cli/studio/web/_next/static/chunks/2370.044b34646bc58363.js +1 -0
  100. veadk/cli/studio/web/_next/static/chunks/2378.2005af4d2bf100dd.js +1 -0
  101. veadk/cli/studio/web/_next/static/chunks/2437.68534e42d45c5c61.js +1 -0
  102. veadk/cli/studio/web/_next/static/chunks/2449.db460ea54b851bc1.js +1 -0
  103. veadk/cli/studio/web/_next/static/chunks/2455.153b04863d2ae9dc.js +1 -0
  104. veadk/cli/studio/web/_next/static/chunks/2484.139843b3f1cc8ea5.js +1 -0
  105. veadk/cli/studio/web/_next/static/chunks/2500.e2b8da0d1401bd5f.js +1 -0
  106. veadk/cli/studio/web/_next/static/chunks/2513.a7056ff98b04c4cd.js +1 -0
  107. veadk/cli/studio/web/_next/static/chunks/2533.5e35d247414428d0.js +1 -0
  108. veadk/cli/studio/web/_next/static/chunks/2541.3e5a23b461d7a9fd.js +1 -0
  109. veadk/cli/studio/web/_next/static/chunks/2545.0e4e3a784391205b.js +1 -0
  110. veadk/cli/studio/web/_next/static/chunks/2558.17eda1052d7c8c1f.js +1 -0
  111. veadk/cli/studio/web/_next/static/chunks/2559.7432df2540cfff07.js +1 -0
  112. veadk/cli/studio/web/_next/static/chunks/2578.1be0687e71bc7731.js +1 -0
  113. veadk/cli/studio/web/_next/static/chunks/2601.aa7e57bdf472372c.js +1 -0
  114. veadk/cli/studio/web/_next/static/chunks/261-19b52c2c85aefb5d.js +1 -0
  115. veadk/cli/studio/web/_next/static/chunks/2642.9ea0966ca6bd8ace.js +1 -0
  116. veadk/cli/studio/web/_next/static/chunks/2669.e90ab188be48154e.js +1 -0
  117. veadk/cli/studio/web/_next/static/chunks/2737.4f5c7f7b9293ae65.js +1 -0
  118. veadk/cli/studio/web/_next/static/chunks/2804.b801cadc26133d92.js +1 -0
  119. veadk/cli/studio/web/_next/static/chunks/2817.8584109b4bc979e8.js +1 -0
  120. veadk/cli/studio/web/_next/static/chunks/282.cfff86fab979470f.js +1 -0
  121. veadk/cli/studio/web/_next/static/chunks/2822.12cdf0520b2d321a.js +1 -0
  122. veadk/cli/studio/web/_next/static/chunks/288.5c1053dbdc74212b.js +1 -0
  123. veadk/cli/studio/web/_next/static/chunks/2964.a531dbf5eb867f3d.js +1 -0
  124. veadk/cli/studio/web/_next/static/chunks/2f7605f3.0531565b22967bb4.js +1 -0
  125. veadk/cli/studio/web/_next/static/chunks/3080.9aada68cdc9ad5c2.js +1 -0
  126. veadk/cli/studio/web/_next/static/chunks/3090.a9e7f71df818f607.js +1 -0
  127. veadk/cli/studio/web/_next/static/chunks/3103.b7cdb76d87ac0fdd.js +1 -0
  128. veadk/cli/studio/web/_next/static/chunks/311.2737abd09304ba1b.js +1 -0
  129. veadk/cli/studio/web/_next/static/chunks/3110.84511591e516221b.js +1 -0
  130. veadk/cli/studio/web/_next/static/chunks/3126.307ac469edcf6ec9.js +1 -0
  131. veadk/cli/studio/web/_next/static/chunks/320.a3c0085ebf05b7da.js +1 -0
  132. veadk/cli/studio/web/_next/static/chunks/322.668c1a20cc012c68.js +1 -0
  133. veadk/cli/studio/web/_next/static/chunks/3341.a0f06b1edc2332fb.js +1 -0
  134. veadk/cli/studio/web/_next/static/chunks/3357.ced93e6bf8e56762.js +1 -0
  135. veadk/cli/studio/web/_next/static/chunks/3386.53f3aa4ff0dd0170.js +1 -0
  136. veadk/cli/studio/web/_next/static/chunks/3391.402e02fd7c297ff8.js +1 -0
  137. veadk/cli/studio/web/_next/static/chunks/3392.5172b1d190ff0e8c.js +1 -0
  138. veadk/cli/studio/web/_next/static/chunks/33fb68d2.aacf24a5979288bd.js +1 -0
  139. veadk/cli/studio/web/_next/static/chunks/3429.74dcaa985d188e43.js +1 -0
  140. veadk/cli/studio/web/_next/static/chunks/3433.737c3d948bdda1da.js +1 -0
  141. veadk/cli/studio/web/_next/static/chunks/3435.1798454b9a5b69ca.js +1 -0
  142. veadk/cli/studio/web/_next/static/chunks/3481.a916f933c4e534b8.js +1 -0
  143. veadk/cli/studio/web/_next/static/chunks/3602.bdf28129f1569554.js +1 -0
  144. veadk/cli/studio/web/_next/static/chunks/3607.49cec7e9330d1f4d.js +1 -0
  145. veadk/cli/studio/web/_next/static/chunks/3615.3280752d551adf2d.js +1 -0
  146. veadk/cli/studio/web/_next/static/chunks/3721.f660b5b05621f5e4.js +1 -0
  147. veadk/cli/studio/web/_next/static/chunks/3786.ae0824e683556d37.js +1 -0
  148. veadk/cli/studio/web/_next/static/chunks/3805.ec0340f0f6e61bbc.js +1 -0
  149. veadk/cli/studio/web/_next/static/chunks/4045.42a3c9fb7d932ebc.js +1 -0
  150. veadk/cli/studio/web/_next/static/chunks/4052.86cc820c95ad25a8.js +1 -0
  151. veadk/cli/studio/web/_next/static/chunks/4058.3cea468f5370b7c9.js +1 -0
  152. veadk/cli/studio/web/_next/static/chunks/4068.ff830b92579f6b7f.js +1 -0
  153. veadk/cli/studio/web/_next/static/chunks/411.5679da8e6a856022.js +1 -0
  154. veadk/cli/studio/web/_next/static/chunks/4118.e2544434642f6640.js +1 -0
  155. veadk/cli/studio/web/_next/static/chunks/4139.80b0aab26d9a4601.js +1 -0
  156. veadk/cli/studio/web/_next/static/chunks/423.da4e0abf5fd408dc.js +1 -0
  157. veadk/cli/studio/web/_next/static/chunks/4262.9d5532cb76a86371.js +1 -0
  158. veadk/cli/studio/web/_next/static/chunks/431.ef6d705ac627958f.js +1 -0
  159. veadk/cli/studio/web/_next/static/chunks/4337.3c94a6d6d61c4f56.js +1 -0
  160. veadk/cli/studio/web/_next/static/chunks/4357-39eb6b5934ac97db.js +1 -0
  161. veadk/cli/studio/web/_next/static/chunks/4382.64908590e0a18d66.js +1 -0
  162. veadk/cli/studio/web/_next/static/chunks/4489.7a9b45fb6f6bf491.js +1 -0
  163. veadk/cli/studio/web/_next/static/chunks/450.76880cb957b128fa.js +1 -0
  164. veadk/cli/studio/web/_next/static/chunks/452.14fb00ee415ad32b.js +1 -0
  165. veadk/cli/studio/web/_next/static/chunks/4577.d1cbd95a87e2adb2.js +1 -0
  166. veadk/cli/studio/web/_next/static/chunks/4626.0866c7ee38885775.js +1 -0
  167. veadk/cli/studio/web/_next/static/chunks/4627.3d7df52a668a6b57.js +1 -0
  168. veadk/cli/studio/web/_next/static/chunks/4713.3891f7d347513ef5.js +1 -0
  169. veadk/cli/studio/web/_next/static/chunks/4749.25fd94a8ed476b13.js +1 -0
  170. veadk/cli/studio/web/_next/static/chunks/4836.afe027e38fb9a7e8.js +1 -0
  171. veadk/cli/studio/web/_next/static/chunks/483e0093.2a09b17ad5d1b3ed.js +1 -0
  172. veadk/cli/studio/web/_next/static/chunks/4852.cac6e9c5032df796.js +1 -0
  173. veadk/cli/studio/web/_next/static/chunks/4860.94324451a00fadc0.js +1 -0
  174. veadk/cli/studio/web/_next/static/chunks/4869.091903cb36ad77ad.js +1 -0
  175. veadk/cli/studio/web/_next/static/chunks/4888.e248e212b002f5df.js +1 -0
  176. veadk/cli/studio/web/_next/static/chunks/492.ac958937dd36300f.js +1 -0
  177. veadk/cli/studio/web/_next/static/chunks/4958.85e0dbc8b2319776.js +1 -0
  178. veadk/cli/studio/web/_next/static/chunks/4968.1477e29640b2deb8.js +1 -0
  179. veadk/cli/studio/web/_next/static/chunks/4980.1300ab7d9c76e523.js +1 -0
  180. veadk/cli/studio/web/_next/static/chunks/4aa6d3c9.dade76a8ff4112d3.js +1 -0
  181. veadk/cli/studio/web/_next/static/chunks/5006.8ee1d611f529da11.js +1 -0
  182. veadk/cli/studio/web/_next/static/chunks/5018.c34d2a9f82e24c51.js +1 -0
  183. veadk/cli/studio/web/_next/static/chunks/5050.c06b2d8e12720555.js +1 -0
  184. veadk/cli/studio/web/_next/static/chunks/5084.9b554002148843ea.js +1 -0
  185. veadk/cli/studio/web/_next/static/chunks/5097.2e9a097ccfb70707.js +1 -0
  186. veadk/cli/studio/web/_next/static/chunks/5113.fa5291624248676b.js +1 -0
  187. veadk/cli/studio/web/_next/static/chunks/5115.ff49cf5e2be16db4.js +1 -0
  188. veadk/cli/studio/web/_next/static/chunks/521.98b7995e15b59075.js +1 -0
  189. veadk/cli/studio/web/_next/static/chunks/5213.1a7618fcae8c5282.js +1 -0
  190. veadk/cli/studio/web/_next/static/chunks/522.56063fbcf9aa8699.js +1 -0
  191. veadk/cli/studio/web/_next/static/chunks/5247.b304f94eb3132618.js +1 -0
  192. veadk/cli/studio/web/_next/static/chunks/5248.f9faaff2f0d7631f.js +1 -0
  193. veadk/cli/studio/web/_next/static/chunks/527-1c65afbb202752bd.js +1 -0
  194. veadk/cli/studio/web/_next/static/chunks/529.7d231c2076b6d77a.js +1 -0
  195. veadk/cli/studio/web/_next/static/chunks/5305.9323b5f7efaa005e.js +1 -0
  196. veadk/cli/studio/web/_next/static/chunks/5317.fce75000492e9db4.js +1 -0
  197. veadk/cli/studio/web/_next/static/chunks/5326.3be5b04850f0a2f2.js +1 -0
  198. veadk/cli/studio/web/_next/static/chunks/5329.415b43aacdd9a471.js +1 -0
  199. veadk/cli/studio/web/_next/static/chunks/5331.77f0493c99857944.js +1 -0
  200. veadk/cli/studio/web/_next/static/chunks/5341.1fff90ab37947f62.js +1 -0
  201. veadk/cli/studio/web/_next/static/chunks/541.04d938e895b7f678.js +1 -0
  202. veadk/cli/studio/web/_next/static/chunks/5428.fa789e4b0d61cd0d.js +1 -0
  203. veadk/cli/studio/web/_next/static/chunks/5460.cee07b9411c5c5ca.js +1 -0
  204. veadk/cli/studio/web/_next/static/chunks/5472.f645717ad2edd28f.js +1 -0
  205. veadk/cli/studio/web/_next/static/chunks/5503.75093ef3870b655f.js +1 -0
  206. veadk/cli/studio/web/_next/static/chunks/5567.44555d5da6ed19b7.js +1 -0
  207. veadk/cli/studio/web/_next/static/chunks/5572.3c35c26a4867ca56.js +1 -0
  208. veadk/cli/studio/web/_next/static/chunks/5579.b3be6028d1833118.js +1 -0
  209. veadk/cli/studio/web/_next/static/chunks/5631.b8a2c0dc65737269.js +1 -0
  210. veadk/cli/studio/web/_next/static/chunks/5656.b743b6ab9a61eec0.js +1 -0
  211. veadk/cli/studio/web/_next/static/chunks/5677.c063822912e55a25.js +1 -0
  212. veadk/cli/studio/web/_next/static/chunks/5779.0b1a3c7d1c018a1d.js +1 -0
  213. veadk/cli/studio/web/_next/static/chunks/5817.ae1fb69a154fbf4c.js +1 -0
  214. veadk/cli/studio/web/_next/static/chunks/5860.7154866a5d2dd82f.js +1 -0
  215. veadk/cli/studio/web/_next/static/chunks/5865.645e44e8e171ba9f.js +1 -0
  216. veadk/cli/studio/web/_next/static/chunks/5906.30cce16ed88f920a.js +1 -0
  217. veadk/cli/studio/web/_next/static/chunks/5942.cd6dfaad76581849.js +1 -0
  218. veadk/cli/studio/web/_next/static/chunks/5958.e2f981fa3cba5d99.js +1 -0
  219. veadk/cli/studio/web/_next/static/chunks/60f90b65.d526f39688baa769.js +1 -0
  220. veadk/cli/studio/web/_next/static/chunks/6128.3da302fb50769250.js +1 -0
  221. veadk/cli/studio/web/_next/static/chunks/62.5408e55d383a8078.js +1 -0
  222. veadk/cli/studio/web/_next/static/chunks/624.7c7198473a8877d8.js +1 -0
  223. veadk/cli/studio/web/_next/static/chunks/6264.e7bdd878d9e7a249.js +1 -0
  224. veadk/cli/studio/web/_next/static/chunks/6266.97409ca00a3c32d9.js +1 -0
  225. veadk/cli/studio/web/_next/static/chunks/6269.668be917daafccaa.js +1 -0
  226. veadk/cli/studio/web/_next/static/chunks/630.87a6f22ac3e8956b.js +1 -0
  227. veadk/cli/studio/web/_next/static/chunks/6341.35afa02112051be8.js +1 -0
  228. veadk/cli/studio/web/_next/static/chunks/6353.93869a804ffe525b.js +1 -0
  229. veadk/cli/studio/web/_next/static/chunks/6375.46d2897cb2526abd.js +1 -0
  230. veadk/cli/studio/web/_next/static/chunks/6395.f113970ceec6ba91.js +1 -0
  231. veadk/cli/studio/web/_next/static/chunks/63d31579-18fb2181524a9c6f.js +1 -0
  232. veadk/cli/studio/web/_next/static/chunks/6423.d4cf9eb5b2ae6336.js +1 -0
  233. veadk/cli/studio/web/_next/static/chunks/6437.5eeaa7320bce1872.js +1 -0
  234. veadk/cli/studio/web/_next/static/chunks/6438.1c8486cc62da4117.js +1 -0
  235. veadk/cli/studio/web/_next/static/chunks/6451.f56cce0a07138982.js +1 -0
  236. veadk/cli/studio/web/_next/static/chunks/6456.f263b33ea51e4f54.js +1 -0
  237. veadk/cli/studio/web/_next/static/chunks/6504.0e6ae8d5bb987be6.js +1 -0
  238. veadk/cli/studio/web/_next/static/chunks/6560.b08504c0d99d71d4.js +1 -0
  239. veadk/cli/studio/web/_next/static/chunks/6563.e6d3bdba9860590d.js +1 -0
  240. veadk/cli/studio/web/_next/static/chunks/6621.639e4057d9c15bea.js +1 -0
  241. veadk/cli/studio/web/_next/static/chunks/6625.c0233245d2c1ef25.js +1 -0
  242. veadk/cli/studio/web/_next/static/chunks/6641.5487a2d68b0c52f2.js +1 -0
  243. veadk/cli/studio/web/_next/static/chunks/6644.74de9f2de2dc75f5.js +1 -0
  244. veadk/cli/studio/web/_next/static/chunks/6730.aac5bd02aab8258f.js +1 -0
  245. veadk/cli/studio/web/_next/static/chunks/6824.8c40dbd3eb390403.js +1 -0
  246. veadk/cli/studio/web/_next/static/chunks/6831.74b4a9b75f4ff9d1.js +1 -0
  247. veadk/cli/studio/web/_next/static/chunks/688.9a27292bd19bc993.js +1 -0
  248. veadk/cli/studio/web/_next/static/chunks/6899.ac4207b9a778bd0e.js +1 -0
  249. veadk/cli/studio/web/_next/static/chunks/6901.4755ed550912589c.js +1 -0
  250. veadk/cli/studio/web/_next/static/chunks/6910.5d45b17e287dba94.js +1 -0
  251. veadk/cli/studio/web/_next/static/chunks/6928.d0a540480df90930.js +1 -0
  252. veadk/cli/studio/web/_next/static/chunks/6958.c58e8e991b201429.js +1 -0
  253. veadk/cli/studio/web/_next/static/chunks/6d60d248-1bbd761ee88ab2e4.js +1 -0
  254. veadk/cli/studio/web/_next/static/chunks/70207789-862965aac548ab2a.js +1 -0
  255. veadk/cli/studio/web/_next/static/chunks/7046.60a892c1e506cf5f.js +1 -0
  256. veadk/cli/studio/web/_next/static/chunks/7068.6639b51e828de233.js +1 -0
  257. veadk/cli/studio/web/_next/static/chunks/7172.aeda2e49d81fc0fd.js +1 -0
  258. veadk/cli/studio/web/_next/static/chunks/7185.0210768f3918ec41.js +1 -0
  259. veadk/cli/studio/web/_next/static/chunks/7200.86e672d8e2c1a920.js +1 -0
  260. veadk/cli/studio/web/_next/static/chunks/730.2c5e46bf8fd29fcc.js +1 -0
  261. veadk/cli/studio/web/_next/static/chunks/7301.43929cd9c2a5d2ea.js +1 -0
  262. veadk/cli/studio/web/_next/static/chunks/7335.68692b193fa0dff6.js +1 -0
  263. veadk/cli/studio/web/_next/static/chunks/7412.98554f6ee574e288.js +1 -0
  264. veadk/cli/studio/web/_next/static/chunks/7422.e4a69fce6694ba90.js +1 -0
  265. veadk/cli/studio/web/_next/static/chunks/7448.63e7b8d5fd090bd1.js +1 -0
  266. veadk/cli/studio/web/_next/static/chunks/7479.97f696c6ada04b29.js +1 -0
  267. veadk/cli/studio/web/_next/static/chunks/7482.ab6a217c34f6934a.js +1 -0
  268. veadk/cli/studio/web/_next/static/chunks/7484.b91675bd38b250f8.js +1 -0
  269. veadk/cli/studio/web/_next/static/chunks/7522.84dac217ae0701ac.js +1 -0
  270. veadk/cli/studio/web/_next/static/chunks/7540-38c13446d29f43f2.js +1 -0
  271. veadk/cli/studio/web/_next/static/chunks/7556.ae47807e378de233.js +1 -0
  272. veadk/cli/studio/web/_next/static/chunks/761.2ce77249f8d3a1ce.js +1 -0
  273. veadk/cli/studio/web/_next/static/chunks/7678.ceea70830f2dd7ff.js +1 -0
  274. veadk/cli/studio/web/_next/static/chunks/7684.c43e4b5ad1f9b0af.js +1 -0
  275. veadk/cli/studio/web/_next/static/chunks/7698.44201098b212aee8.js +1 -0
  276. veadk/cli/studio/web/_next/static/chunks/76ff44ea.8322bdedaee78e2d.js +1 -0
  277. veadk/cli/studio/web/_next/static/chunks/7725.b15cb8b6e1d15403.js +1 -0
  278. veadk/cli/studio/web/_next/static/chunks/7855.513a507852c649f2.js +1 -0
  279. veadk/cli/studio/web/_next/static/chunks/7910.266df3f992c16215.js +1 -0
  280. veadk/cli/studio/web/_next/static/chunks/7940.f490f3d5e6590e54.js +1 -0
  281. veadk/cli/studio/web/_next/static/chunks/7960.491bd15bef82755c.js +1 -0
  282. veadk/cli/studio/web/_next/static/chunks/8020.795778775ed5c387.js +1 -0
  283. veadk/cli/studio/web/_next/static/chunks/8107.fbb6017b3e909da5.js +1 -0
  284. veadk/cli/studio/web/_next/static/chunks/8169.4d7fd139784eb935.js +1 -0
  285. veadk/cli/studio/web/_next/static/chunks/8196.6c5c3dfe86e1c3ca.js +1 -0
  286. veadk/cli/studio/web/_next/static/chunks/8257.ee682bc2599473cb.js +1 -0
  287. veadk/cli/studio/web/_next/static/chunks/8305.d2c965e56fe9350c.js +1 -0
  288. veadk/cli/studio/web/_next/static/chunks/8324.8c3edcc756f5e2f3.js +1 -0
  289. veadk/cli/studio/web/_next/static/chunks/8388.cc59fb03d62a71cf.js +1 -0
  290. veadk/cli/studio/web/_next/static/chunks/8394.d5ca17ce8f6fffb0.js +1 -0
  291. veadk/cli/studio/web/_next/static/chunks/8419.b11c64d18dc580b5.js +1 -0
  292. veadk/cli/studio/web/_next/static/chunks/8478.5f4272ae9afa4061.js +1 -0
  293. veadk/cli/studio/web/_next/static/chunks/8480.a071150cb4eddc29.js +1 -0
  294. veadk/cli/studio/web/_next/static/chunks/8535.0ab856b7bf0e161b.js +1 -0
  295. veadk/cli/studio/web/_next/static/chunks/8571.8af7983b03c09f86.js +1 -0
  296. veadk/cli/studio/web/_next/static/chunks/8583.4afa8c68cb867b2d.js +1 -0
  297. veadk/cli/studio/web/_next/static/chunks/8601.520cbfc8abbfb5f8.js +1 -0
  298. veadk/cli/studio/web/_next/static/chunks/8656.5f8b6212d2b35257.js +1 -0
  299. veadk/cli/studio/web/_next/static/chunks/8665.7f24febc4a78ff5e.js +1 -0
  300. veadk/cli/studio/web/_next/static/chunks/8687.c94010eb559245b6.js +1 -0
  301. veadk/cli/studio/web/_next/static/chunks/8815.81a5c5700763ca02.js +1 -0
  302. veadk/cli/studio/web/_next/static/chunks/8878.28a43a5fe23f5bd0.js +1 -0
  303. veadk/cli/studio/web/_next/static/chunks/8884.e4e411c7978b2552.js +1 -0
  304. veadk/cli/studio/web/_next/static/chunks/8962.db5c7728bef5ff0b.js +1 -0
  305. veadk/cli/studio/web/_next/static/chunks/8984.dfcb15f115089c4a.js +1 -0
  306. veadk/cli/studio/web/_next/static/chunks/9022.d161e32a6b1bcc61.js +1 -0
  307. veadk/cli/studio/web/_next/static/chunks/9099.8ba5be825d17456a.js +1 -0
  308. veadk/cli/studio/web/_next/static/chunks/914.72991ff6c9332951.js +1 -0
  309. veadk/cli/studio/web/_next/static/chunks/9217.40b78a38cadcd268.js +1 -0
  310. veadk/cli/studio/web/_next/static/chunks/925.0cc74592f03b10e9.js +1 -0
  311. veadk/cli/studio/web/_next/static/chunks/9275.ac60c49c68c86e51.js +1 -0
  312. veadk/cli/studio/web/_next/static/chunks/92a17e6d.da4fba322f70cd46.js +1 -0
  313. veadk/cli/studio/web/_next/static/chunks/92b95f17.39f98387a9867b4a.js +1 -0
  314. veadk/cli/studio/web/_next/static/chunks/9361.d3535e4d87c1c527.js +1 -0
  315. veadk/cli/studio/web/_next/static/chunks/9433.55eb6e4ea7edb262.js +1 -0
  316. veadk/cli/studio/web/_next/static/chunks/9436.5b2462fa3ddebb27.js +1 -0
  317. veadk/cli/studio/web/_next/static/chunks/9445.e29312f685c22eff.js +1 -0
  318. veadk/cli/studio/web/_next/static/chunks/9471.646bdfb962cdd5c2.js +1 -0
  319. veadk/cli/studio/web/_next/static/chunks/9473.efa6db413edc23d1.js +1 -0
  320. veadk/cli/studio/web/_next/static/chunks/9484.e9f1cd4e3f8e75df.js +1 -0
  321. veadk/cli/studio/web/_next/static/chunks/9545.61026f3c11f914f2.js +1 -0
  322. veadk/cli/studio/web/_next/static/chunks/9555.287e4e4a50087d62.js +1 -0
  323. veadk/cli/studio/web/_next/static/chunks/963.da40bca273fb82c6.js +1 -0
  324. veadk/cli/studio/web/_next/static/chunks/9636.4d3678b9a4e0b46e.js +1 -0
  325. veadk/cli/studio/web/_next/static/chunks/9657.459d6300b0bc8ef8.js +1 -0
  326. veadk/cli/studio/web/_next/static/chunks/9676.cef4d87274c64417.js +1 -0
  327. veadk/cli/studio/web/_next/static/chunks/97.15df9ee2f6270421.js +1 -0
  328. veadk/cli/studio/web/_next/static/chunks/9754.76a3ea33dc0e9a07.js +1 -0
  329. veadk/cli/studio/web/_next/static/chunks/9790.7e01549d70279760.js +1 -0
  330. veadk/cli/studio/web/_next/static/chunks/9871.994068e90ef076a5.js +1 -0
  331. veadk/cli/studio/web/_next/static/chunks/9887.0fbd7c3721a3c1d1.js +1 -0
  332. veadk/cli/studio/web/_next/static/chunks/9923.14c88b64d7749eaa.js +1 -0
  333. veadk/cli/studio/web/_next/static/chunks/997.193727d4b2eede68.js +1 -0
  334. veadk/cli/studio/web/_next/static/chunks/9971.36f503837f73d3c2.js +1 -0
  335. veadk/cli/studio/web/_next/static/chunks/9976.ab4ec59ede08f398.js +1 -0
  336. veadk/cli/studio/web/_next/static/chunks/9990.13e025853b0250b6.js +1 -0
  337. veadk/cli/studio/web/_next/static/chunks/9997.a844d058b46bb680.js +1 -0
  338. veadk/cli/studio/web/_next/static/chunks/app/_not-found/page-ce05b36a67c37396.js +1 -0
  339. veadk/cli/studio/web/_next/static/chunks/app/layout-b0d50d105c55fd6d.js +1 -0
  340. veadk/cli/studio/web/_next/static/chunks/app/page-7b51d29c96f44f61.js +1 -0
  341. veadk/cli/studio/web/_next/static/chunks/app/run/page-c2cd4dca690d6d29.js +1 -0
  342. veadk/cli/studio/web/_next/static/chunks/c06218ab.b1da50a91b579a52.js +1 -0
  343. veadk/cli/studio/web/_next/static/chunks/c911d7bd.bcca2e3dda67a7a6.js +1 -0
  344. veadk/cli/studio/web/_next/static/chunks/d386b14e.c746c93eac03a58e.js +1 -0
  345. veadk/cli/studio/web/_next/static/chunks/e925550e.ff706051f5223d26.js +1 -0
  346. veadk/cli/studio/web/_next/static/chunks/fc645be4-662fd2da08676daa.js +1 -0
  347. veadk/cli/studio/web/_next/static/chunks/framework-2b8e4864be10152d.js +1 -0
  348. veadk/cli/studio/web/_next/static/chunks/main-33072985ea766514.js +1 -0
  349. veadk/cli/studio/web/_next/static/chunks/main-app-4a8ccba13aa7606b.js +1 -0
  350. veadk/cli/studio/web/_next/static/chunks/pages/_app-c0ae3ec92f260128.js +1 -0
  351. veadk/cli/studio/web/_next/static/chunks/pages/_error-899a04d491d7df58.js +1 -0
  352. veadk/cli/studio/web/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  353. veadk/cli/studio/web/_next/static/chunks/webpack-14afc8861a1fe293.js +1 -0
  354. veadk/cli/studio/web/_next/static/css/366cfdd7fdd8bcac.css +1 -0
  355. veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_buildManifest.js +1 -0
  356. veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_ssgManifest.js +1 -0
  357. veadk/cli/studio/web/_next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
  358. veadk/cli/studio/web/_next/static/media/747892c23ea88013-s.woff2 +0 -0
  359. veadk/cli/studio/web/_next/static/media/8d697b304b401681-s.woff2 +0 -0
  360. veadk/cli/studio/web/_next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
  361. veadk/cli/studio/web/_next/static/media/9610d9e46709d722-s.woff2 +0 -0
  362. veadk/cli/studio/web/_next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
  363. veadk/cli/studio/web/favicon.ico +0 -0
  364. veadk/cli/studio/web/file.svg +1 -0
  365. veadk/cli/studio/web/globe.svg +1 -0
  366. veadk/cli/studio/web/index.html +1 -0
  367. veadk/cli/studio/web/index.txt +43 -0
  368. veadk/cli/studio/web/next.svg +1 -0
  369. veadk/cli/studio/web/run.html +1 -0
  370. veadk/cli/studio/web/run.txt +44 -0
  371. veadk/cli/studio/web/veadk-logo.png +0 -0
  372. veadk/cli/studio/web/vercel.svg +1 -0
  373. veadk/cli/studio/web/window.svg +1 -0
  374. veadk/cloud/__pycache__/__init__.cpython-310.pyc +0 -0
  375. veadk/cloud/__pycache__/cloud_agent_engine.cpython-310.pyc +0 -0
  376. veadk/cloud/__pycache__/cloud_app.cpython-310.pyc +0 -0
  377. veadk/cloud/cloud_agent_engine.py +104 -43
  378. veadk/cloud/cloud_app.py +82 -14
  379. veadk/database/__pycache__/__init__.cpython-310.pyc +0 -0
  380. veadk/database/__pycache__/base_database.cpython-310.pyc +0 -0
  381. veadk/database/__pycache__/database_adapter.cpython-310.pyc +0 -0
  382. veadk/database/__pycache__/database_factory.cpython-310.pyc +0 -0
  383. veadk/database/__pycache__/local_database.cpython-310.pyc +0 -0
  384. veadk/database/database_adapter.py +280 -0
  385. veadk/database/database_factory.py +3 -3
  386. veadk/database/kv/__pycache__/__init__.cpython-310.pyc +0 -0
  387. veadk/database/relational/__pycache__/__init__.cpython-310.pyc +0 -0
  388. veadk/database/vector/__pycache__/__init__.cpython-310.pyc +0 -0
  389. veadk/database/vector/__pycache__/opensearch_vector_database.cpython-310.pyc +0 -0
  390. veadk/database/vector/__pycache__/type.cpython-310.pyc +0 -0
  391. veadk/database/vector/opensearch_vector_database.py +50 -2
  392. veadk/database/viking/__pycache__/__init__.cpython-310.pyc +0 -0
  393. veadk/database/viking/viking_database.py +24 -6
  394. veadk/database/viking/viking_memory_db.py +26 -22
  395. veadk/evaluation/__pycache__/__init__.cpython-310.pyc +0 -0
  396. veadk/evaluation/__pycache__/base_evaluator.cpython-310.pyc +0 -0
  397. veadk/evaluation/__pycache__/eval_set_file_loader.cpython-310.pyc +0 -0
  398. veadk/evaluation/__pycache__/eval_set_recorder.cpython-310.pyc +0 -0
  399. veadk/evaluation/__pycache__/types.cpython-310.pyc +0 -0
  400. veadk/evaluation/adk_evaluator/__pycache__/__init__.cpython-310.pyc +0 -0
  401. veadk/evaluation/base_evaluator.py +130 -3
  402. veadk/evaluation/deepeval_evaluator/__pycache__/__init__.cpython-310.pyc +0 -0
  403. veadk/evaluation/deepeval_evaluator/__pycache__/deepeval_evaluator.cpython-310.pyc +0 -0
  404. veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +13 -26
  405. veadk/evaluation/types.py +33 -0
  406. veadk/evaluation/utils/__pycache__/prometheus.cpython-310.pyc +0 -0
  407. veadk/evaluation/utils/prometheus.py +19 -23
  408. veadk/knowledgebase/__pycache__/__init__.cpython-310.pyc +0 -0
  409. veadk/knowledgebase/__pycache__/knowledgebase.cpython-310.pyc +0 -0
  410. veadk/knowledgebase/__pycache__/knowledgebase_database_adapter.cpython-310.pyc +0 -0
  411. veadk/knowledgebase/knowledgebase.py +30 -29
  412. veadk/memory/__pycache__/__init__.cpython-310.pyc +0 -0
  413. veadk/memory/__pycache__/long_term_memory.cpython-310.pyc +0 -0
  414. veadk/memory/__pycache__/memory_database_adapter.cpython-310.pyc +0 -0
  415. veadk/memory/__pycache__/short_term_memory.cpython-310.pyc +0 -0
  416. veadk/memory/__pycache__/short_term_memory_processor.cpython-310.pyc +0 -0
  417. veadk/memory/long_term_memory.py +73 -37
  418. veadk/prompts/__pycache__/__init__.cpython-310.pyc +0 -0
  419. veadk/prompts/__pycache__/agent_default_prompt.cpython-310.pyc +0 -0
  420. veadk/prompts/__pycache__/prompt_memory_processor.cpython-310.pyc +0 -0
  421. veadk/prompts/__pycache__/prompt_optimization.cpython-310.pyc +0 -0
  422. veadk/runner.py +4 -0
  423. veadk/tools/__pycache__/__init__.cpython-310.pyc +0 -0
  424. veadk/tools/__pycache__/demo_tools.cpython-310.pyc +0 -0
  425. veadk/tools/__pycache__/load_knowledgebase_tool.cpython-310.pyc +0 -0
  426. veadk/tools/builtin_tools/__pycache__/__init__.cpython-310.pyc +0 -0
  427. veadk/tools/builtin_tools/__pycache__/lark.cpython-310.pyc +0 -0
  428. veadk/tools/builtin_tools/__pycache__/web_search.cpython-310.pyc +0 -0
  429. veadk/tools/builtin_tools/las.py +3 -2
  430. veadk/{cloud/template/app.py → tools/builtin_tools/mcp_router.py} +5 -13
  431. veadk/tools/load_knowledgebase_tool.py +3 -5
  432. veadk/tools/sandbox/__pycache__/__init__.cpython-310.pyc +0 -0
  433. veadk/tracing/__pycache__/__init__.cpython-310.pyc +0 -0
  434. veadk/tracing/__pycache__/base_tracer.cpython-310.pyc +0 -0
  435. veadk/tracing/base_tracer.py +44 -3
  436. veadk/tracing/telemetry/__pycache__/__init__.cpython-310.pyc +0 -0
  437. veadk/tracing/telemetry/__pycache__/opentelemetry_tracer.cpython-310.pyc +0 -0
  438. veadk/tracing/telemetry/exporters/__pycache__/__init__.cpython-310.pyc +0 -0
  439. veadk/tracing/telemetry/exporters/__pycache__/apiserver_exporter.cpython-310.pyc +0 -0
  440. veadk/tracing/telemetry/exporters/__pycache__/apmplus_exporter.cpython-310.pyc +0 -0
  441. veadk/tracing/telemetry/exporters/__pycache__/base_exporter.cpython-310.pyc +0 -0
  442. veadk/tracing/telemetry/exporters/__pycache__/cozeloop_exporter.cpython-310.pyc +0 -0
  443. veadk/tracing/telemetry/exporters/__pycache__/inmemory_exporter.cpython-310.pyc +0 -0
  444. veadk/tracing/telemetry/exporters/__pycache__/tls_exporter.cpython-310.pyc +0 -0
  445. veadk/tracing/telemetry/exporters/inmemory_exporter.py +0 -3
  446. veadk/tracing/telemetry/metrics/__pycache__/__init__.cpython-310.pyc +0 -0
  447. veadk/tracing/telemetry/metrics/__pycache__/opentelemetry_metrics.cpython-310.pyc +0 -0
  448. veadk/tracing/telemetry/opentelemetry_tracer.py +73 -29
  449. veadk/utils/__pycache__/__init__.cpython-310.pyc +0 -0
  450. veadk/utils/__pycache__/logger.cpython-310.pyc +0 -0
  451. veadk/utils/__pycache__/mcp_utils.cpython-310.pyc +0 -0
  452. veadk/utils/__pycache__/misc.cpython-310.pyc +0 -0
  453. veadk/utils/__pycache__/patches.cpython-310.pyc +0 -0
  454. veadk/utils/__pycache__/volcengine_sign.cpython-310.pyc +0 -0
  455. veadk/utils/mcp_utils.py +44 -0
  456. veadk/version.py +1 -1
  457. {veadk_python-0.1.0.dist-info → veadk_python-0.2.1.dist-info}/METADATA +14 -5
  458. veadk_python-0.2.1.dist-info/RECORD +534 -0
  459. veadk/cli/services/vefaas/template/src/config.py +0 -58
  460. veadk/cli/studio/agent_processor.py +0 -247
  461. veadk/cli/studio/model.py +0 -116
  462. veadk/cloud/template/config.py +0 -55
  463. veadk/knowledgebase/knowledgebase_database_adapter.py +0 -259
  464. veadk/memory/memory_database_adapter.py +0 -235
  465. veadk_python-0.1.0.dist-info/RECORD +0 -110
  466. {veadk_python-0.1.0.dist-info → veadk_python-0.2.1.dist-info}/WHEEL +0 -0
  467. {veadk_python-0.1.0.dist-info → veadk_python-0.2.1.dist-info}/entry_points.txt +0 -0
  468. {veadk_python-0.1.0.dist-info → veadk_python-0.2.1.dist-info}/licenses/LICENSE +0 -0
  469. {veadk_python-0.1.0.dist-info → veadk_python-0.2.1.dist-info}/top_level.txt +0 -0
@@ -40,59 +40,59 @@ class CloudAgentEngine(BaseModel):
40
40
  )
41
41
 
42
42
  def _prepare(self, path: str, name: str):
43
- # VeFaaS path check
44
- if "_" in name:
45
- raise ValueError(
46
- f"Invalid Volcengine FaaS function name `{name}`, please use lowercase letters and numbers, or replace it with a `-` char."
47
- )
48
-
49
- # project path check
43
+ # basic check
50
44
  assert os.path.exists(path), f"Local agent project path `{path}` not exists."
51
45
  assert os.path.isdir(path), (
52
46
  f"Local agent project path `{path}` is not a directory."
53
47
  )
54
48
 
55
- assert os.path.exists(os.path.join(path, "config.py")), (
56
- f"Local agent project path `{path}` does not contain `config.py` file. Please prepare it according to veadk-python/cloud/template/config.py.example"
57
- )
58
-
59
- if os.path.exists(os.path.join(path, "app.py")):
60
- logger.warning(
61
- f"Local agent project path `{path}` contains an `app.py` file. Use your own `app.py` file may cause unexpected behavior."
62
- )
63
- else:
64
- logger.info(
65
- f"No `app.py` detected in local agent project path `{path}`. Prepare it."
66
- )
67
- template_app_py = (
68
- f"{Path(__file__).resolve().parent.resolve()}/template/app.py"
49
+ # VeFaaS application/function name check
50
+ if "_" in name:
51
+ raise ValueError(
52
+ f"Invalid Volcengine FaaS function name `{name}`, please use lowercase letters and numbers, or replace it with a `-` char."
69
53
  )
70
- import shutil
71
54
 
72
- shutil.copy(template_app_py, os.path.join(path, "app.py"))
55
+ # project structure check
56
+ assert os.path.exists(os.path.join(path, "agent.py")), (
57
+ f"Local agent project path `{path}` does not contain `agent.py` file. Please prepare it according to our document https://volcengine.github.io/veadk-python/deploy.html"
58
+ )
73
59
 
74
- if os.path.exists(os.path.join(path, "run.sh")):
60
+ if not os.path.exists(os.path.join(path, "config.yaml")):
75
61
  logger.warning(
76
- f"Local agent project path `{path}` contains a `run.sh` file. Use your own `run.sh` file may cause unexpected behavior."
77
- )
78
- else:
79
- logger.info(
80
- f"No `run.sh` detected in local agent project path `{path}`. Prepare it."
81
- )
82
- template_run_sh = (
83
- f"{Path(__file__).resolve().parent.resolve()}/template/run.sh"
62
+ f"Local agent project path `{path}` does not contain `config.yaml` file. Some important config items may not be set."
84
63
  )
85
- import shutil
86
64
 
87
- shutil.copy(template_run_sh, os.path.join(path, "run.sh"))
65
+ # prepare template files if not have
66
+ template_files = [
67
+ "app.py",
68
+ "studio_app.py",
69
+ "run.sh",
70
+ "requirements.txt",
71
+ "__init__.py",
72
+ ]
73
+ for template_file in template_files:
74
+ if os.path.exists(os.path.join(path, template_file)):
75
+ logger.warning(
76
+ f"Local agent project path `{path}` contains a `{template_file}` file. Use your own `{template_file}` file may cause unexpected behavior."
77
+ )
78
+ else:
79
+ logger.info(
80
+ f"No `{template_file}` detected in local agent project path `{path}`. Prepare it."
81
+ )
82
+ template_file_path = f"{Path(__file__).resolve().parent.resolve().parent.resolve()}/cli/services/vefaas/template/src/{template_file}"
83
+ import shutil
84
+
85
+ shutil.copy(template_file_path, os.path.join(path, template_file))
88
86
 
89
87
  def deploy(
90
88
  self,
89
+ application_name: str,
91
90
  path: str,
92
- name: str,
93
91
  gateway_name: str = "",
94
92
  gateway_service_name: str = "",
95
93
  gateway_upstream_name: str = "",
94
+ use_studio: bool = False,
95
+ use_adk_web: bool = False,
96
96
  ) -> CloudApp:
97
97
  """Deploy local agent project to Volcengine FaaS platform.
98
98
 
@@ -103,21 +103,46 @@ class CloudAgentEngine(BaseModel):
103
103
  Returns:
104
104
  str: Volcengine FaaS function endpoint.
105
105
  """
106
+ assert not (use_studio and use_adk_web), (
107
+ "use_studio and use_adk_web can not be True at the same time."
108
+ )
109
+
110
+ # prevent deepeval writing operations
111
+ import veadk.config
112
+
113
+ veadk.config.veadk_environments["DEEPEVAL_TELEMETRY_OPT_OUT"] = "YES"
114
+
115
+ if use_studio:
116
+ veadk.config.veadk_environments["USE_STUDIO"] = "True"
117
+ else:
118
+ import veadk.config
119
+
120
+ veadk.config.veadk_environments["USE_STUDIO"] = "False"
121
+
122
+ if use_adk_web:
123
+ import veadk.config
124
+
125
+ veadk.config.veadk_environments["USE_ADK_WEB"] = "True"
126
+ else:
127
+ import veadk.config
128
+
129
+ veadk.config.veadk_environments["USE_ADK_WEB"] = "False"
130
+
106
131
  # convert `path` to absolute path
107
132
  path = str(Path(path).resolve())
108
- self._prepare(path, name)
133
+ self._prepare(path, application_name)
109
134
 
110
135
  if not gateway_name:
111
- gateway_name = f"{name}-gw-{formatted_timestamp()}"
136
+ gateway_name = f"{application_name}-gw-{formatted_timestamp()}"
112
137
  if not gateway_service_name:
113
- gateway_service_name = f"{name}-gw-svr-{formatted_timestamp()}"
138
+ gateway_service_name = f"{application_name}-gw-svr-{formatted_timestamp()}"
114
139
  if not gateway_upstream_name:
115
- gateway_upstream_name = f"{name}-gw-us-{formatted_timestamp()}"
140
+ gateway_upstream_name = f"{application_name}-gw-us-{formatted_timestamp()}"
116
141
 
117
142
  try:
118
143
  vefaas_application_url, app_id, function_id = self._vefaas_service.deploy(
119
144
  path=path,
120
- name=name,
145
+ name=application_name,
121
146
  gateway_name=gateway_name,
122
147
  gateway_service_name=gateway_service_name,
123
148
  gateway_upstream_name=gateway_upstream_name,
@@ -125,9 +150,9 @@ class CloudAgentEngine(BaseModel):
125
150
  _ = function_id # for future use
126
151
 
127
152
  return CloudApp(
128
- name=name,
129
- endpoint=vefaas_application_url,
130
- app_id=app_id,
153
+ vefaas_application_name=application_name,
154
+ vefaas_endpoint=vefaas_application_url,
155
+ vefaas_application_id=app_id,
131
156
  )
132
157
  except Exception as e:
133
158
  raise ValueError(
@@ -142,3 +167,39 @@ class CloudAgentEngine(BaseModel):
142
167
  else:
143
168
  app_id = self._vefaas_service.find_app_id_by_name(app_name)
144
169
  self._vefaas_service.delete(app_id)
170
+
171
+ def update_function_code(
172
+ self,
173
+ application_name: str,
174
+ path: str,
175
+ ) -> CloudApp:
176
+ """Update existing agent project code while keeping the same URL.
177
+
178
+ Args:
179
+ application_name (str): Existing application name to update.
180
+ path (str): Local agent project path.
181
+
182
+ Returns:
183
+ CloudApp: Updated cloud app with same endpoint.
184
+ """
185
+ # convert `path` to absolute path
186
+ path = str(Path(path).resolve())
187
+ self._prepare(path, application_name)
188
+
189
+ try:
190
+ vefaas_application_url, app_id, function_id = (
191
+ self._vefaas_service._update_function_code(
192
+ application_name=application_name,
193
+ path=path,
194
+ )
195
+ )
196
+
197
+ return CloudApp(
198
+ vefaas_application_name=application_name,
199
+ vefaas_endpoint=vefaas_application_url,
200
+ vefaas_application_id=app_id,
201
+ )
202
+ except Exception as e:
203
+ raise ValueError(
204
+ f"Failed to update agent project on Volcengine FaaS platform. Error: {e}"
205
+ )
veadk/cloud/cloud_app.py CHANGED
@@ -15,10 +15,12 @@
15
15
  from typing import Any
16
16
  from uuid import uuid4
17
17
 
18
+ import json
18
19
  import httpx
19
20
  from a2a.client import A2ACardResolver, A2AClient
20
21
  from a2a.types import AgentCard, Message, MessageSendParams, SendMessageRequest
21
22
 
23
+ from veadk.config import getenv
22
24
  from veadk.utils.logger import get_logger
23
25
 
24
26
  logger = get_logger(__name__)
@@ -35,19 +37,34 @@ class CloudApp:
35
37
 
36
38
  def __init__(
37
39
  self,
38
- name: str,
39
- endpoint: str,
40
- app_id: str,
40
+ vefaas_application_name: str = "",
41
+ vefaas_endpoint: str = "",
42
+ vefaas_application_id: str = "",
41
43
  use_agent_card: bool = False,
42
44
  ):
43
- self.endpoint = endpoint
44
- self.app_id = app_id
45
- self.name = name
45
+ self.vefaas_endpoint = vefaas_endpoint
46
+ self.vefaas_application_id = vefaas_application_id
47
+ self.vefaas_application_name = vefaas_application_name
46
48
  self.use_agent_card = use_agent_card
47
49
 
48
- if not endpoint.startswith("http") and not endpoint.startswith("https"):
50
+ # vefaas must be set one of three
51
+ if (
52
+ not vefaas_endpoint
53
+ and not vefaas_application_id
54
+ and not vefaas_application_name
55
+ ):
49
56
  raise ValueError(
50
- f"Invalid endpoint: {endpoint}. The endpoint must start with `http` or `https`."
57
+ "VeFaaS CloudAPP must be set one of endpoint, application_id, or application_name."
58
+ )
59
+
60
+ if not vefaas_endpoint:
61
+ self.vefaas_endpoint = self._get_vefaas_endpoint()
62
+
63
+ if not self.vefaas_endpoint.startswith(
64
+ "http"
65
+ ) and not self.vefaas_endpoint.startswith("https"):
66
+ raise ValueError(
67
+ f"Invalid endpoint: {vefaas_endpoint}. The endpoint must start with `http` or `https`."
51
68
  )
52
69
 
53
70
  if use_agent_card:
@@ -57,11 +74,39 @@ class CloudApp:
57
74
 
58
75
  self.httpx_client = httpx.AsyncClient()
59
76
 
77
+ def _get_vefaas_endpoint(
78
+ self,
79
+ volcengine_ak: str = getenv("VOLCENGINE_ACCESS_KEY"),
80
+ volcengine_sk: str = getenv("VOLCENGINE_SECRET_KEY"),
81
+ ) -> str:
82
+ from veadk.cli.services.vefaas.vefaas import VeFaaS
83
+
84
+ vefaas_client = VeFaaS(access_key=volcengine_ak, secret_key=volcengine_sk)
85
+ app = vefaas_client.get_application_details(
86
+ app_id=self.vefaas_application_id,
87
+ app_name=self.vefaas_application_name,
88
+ )
89
+ cloud_resource = json.loads(app["CloudResource"])
90
+ try:
91
+ vefaas_endpoint = cloud_resource["framework"]["url"]["system_url"]
92
+ except Exception as e:
93
+ raise ValueError(f"VeFaaS cloudAPP could not get endpoint. Error: {e}")
94
+ return vefaas_endpoint
95
+
96
+ def _get_vefaas_application_id_by_name(self) -> str:
97
+ if not self.vefaas_application_name:
98
+ raise ValueError(
99
+ "VeFaaS CloudAPP must be set application_name to get application_id."
100
+ )
101
+ # TODO(zakahan): get application id from vefaas application name
102
+ vefaas_application_id = ""
103
+ return vefaas_application_id
104
+
60
105
  async def _get_a2a_client(self) -> A2AClient:
61
106
  if self.use_agent_card:
62
107
  async with self.httpx_client as httpx_client:
63
108
  resolver = A2ACardResolver(
64
- httpx_client=httpx_client, base_url=self.endpoint
109
+ httpx_client=httpx_client, base_url=self.vefaas_endpoint
65
110
  )
66
111
 
67
112
  final_agent_card_to_use: AgentCard | None = None
@@ -74,10 +119,32 @@ class CloudApp:
74
119
  httpx_client=self.httpx_client, agent_card=final_agent_card_to_use
75
120
  )
76
121
  else:
77
- return A2AClient(httpx_client=self.httpx_client, url=self.endpoint)
122
+ return A2AClient(httpx_client=self.httpx_client, url=self.vefaas_endpoint)
123
+
124
+ def update_self(
125
+ self,
126
+ volcengine_ak: str = getenv("VOLCENGINE_ACCESS_KEY"),
127
+ volcengine_sk: str = getenv("VOLCENGINE_SECRET_KEY"),
128
+ ):
129
+ if not volcengine_ak or not volcengine_sk:
130
+ raise ValueError("Volcengine access key and secret key must be set.")
131
+
132
+ # TODO(floritange): support update cloud app
133
+
134
+ def delete_self(
135
+ self,
136
+ volcengine_ak: str = getenv("VOLCENGINE_ACCESS_KEY"),
137
+ volcengine_sk: str = getenv("VOLCENGINE_SECRET_KEY"),
138
+ ):
139
+ if not volcengine_ak or not volcengine_sk:
140
+ raise ValueError("Volcengine access key and secret key must be set.")
141
+
142
+ if not self.vefaas_application_id:
143
+ self.vefaas_application_id = self._get_vefaas_application_id_by_name()
78
144
 
79
- def delete_self(self, volcengine_ak: str, volcengine_sk: str):
80
- confirm = input(f"Confirm delete cloud app {self.app_id}? (y/N): ")
145
+ confirm = input(
146
+ f"Confirm delete cloud app {self.vefaas_application_id}? (y/N): "
147
+ )
81
148
  if confirm.lower() != "y":
82
149
  print("Delete cancelled.")
83
150
  return
@@ -85,8 +152,8 @@ class CloudApp:
85
152
  from veadk.cli.services.vefaas.vefaas import VeFaaS
86
153
 
87
154
  vefaas_client = VeFaaS(access_key=volcengine_ak, secret_key=volcengine_sk)
88
- vefaas_client.delete(self.app_id)
89
- print(f"Cloud app {self.app_id} is deleting...")
155
+ vefaas_client.delete(self.vefaas_application_id)
156
+ print(f"Cloud app {self.vefaas_application_id} is deleting...")
90
157
 
91
158
  async def message_send(
92
159
  self, message: str, session_id: str, user_id: str, timeout: float = 600.0
@@ -119,5 +186,6 @@ class CloudApp:
119
186
  )
120
187
  return res.root.result
121
188
  except Exception as e:
189
+ # TODO(floritange): show error log on VeFaaS function
122
190
  print(e)
123
191
  return None
@@ -0,0 +1,280 @@
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 re
16
+ import time
17
+ from typing import BinaryIO, TextIO
18
+ from veadk.database.base_database import BaseDatabase
19
+
20
+ from veadk.utils.logger import get_logger
21
+
22
+ logger = get_logger(__name__)
23
+
24
+
25
+ class KVDatabaseAdapter:
26
+ def __init__(self, client):
27
+ from veadk.database.kv.redis_database import RedisDatabase
28
+
29
+ self.client: RedisDatabase = client
30
+
31
+ def add(self, data: list[str], index: str):
32
+ logger.debug(f"Adding documents to Redis database: index={index}")
33
+
34
+ try:
35
+ for _data in data:
36
+ self.client.add(key=index, value=_data)
37
+ logger.debug(f"Added {len(data)} texts to Redis database: index={index}")
38
+ except Exception as e:
39
+ logger.error(
40
+ f"Failed to add data to Redis database: index={index} error={e}"
41
+ )
42
+ raise e
43
+
44
+ def query(self, query: str, index: str, top_k: int = 0) -> list[str]:
45
+ logger.debug(f"Querying Redis database: index={index} query={query}")
46
+
47
+ # ignore top_k, as KV search only return one result
48
+ _ = top_k
49
+
50
+ try:
51
+ result = self.client.query(key=index, query=query)
52
+ return result
53
+ except Exception as e:
54
+ logger.error(f"Failed to search from Redis: index={index} error={e}")
55
+ raise e
56
+
57
+
58
+ class RelationalDatabaseAdapter:
59
+ def __init__(self, client):
60
+ from veadk.database.relational.mysql_database import MysqlDatabase
61
+
62
+ self.client: MysqlDatabase = client
63
+
64
+ def create_table(self, table_name: str):
65
+ logger.debug(f"Creating table for SQL database: table_name={table_name}")
66
+
67
+ sql = f"""
68
+ CREATE TABLE `{table_name}` (
69
+ `id` BIGINT AUTO_INCREMENT PRIMARY KEY,
70
+ `data` TEXT NOT NULL,
71
+ `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
72
+ ) ENGINE=InnoDB DEFAULT CHARSET={self.client.config.charset};
73
+ """
74
+ self.client.add(sql)
75
+
76
+ def add(self, data: list[str], index: str):
77
+ logger.debug(
78
+ f"Adding documents to SQL database: table_name={index} data_len={len(data)}"
79
+ )
80
+
81
+ if not self.client.table_exists(index):
82
+ logger.warning(f"Table {index} does not exist, creating a new table.")
83
+ self.create_table(index)
84
+
85
+ for _data in data:
86
+ sql = f"""
87
+ INSERT INTO `{index}` (`data`)
88
+ VALUES (%s);
89
+ """
90
+ self.client.add(sql, params=(_data,))
91
+ logger.debug(f"Added {len(data)} texts to table {index}.")
92
+
93
+ def query(self, query: str, index: str, top_k: int) -> list[str]:
94
+ logger.debug(
95
+ f"Querying SQL database: table_name={index} query={query} top_k={top_k}"
96
+ )
97
+
98
+ if not self.client.table_exists(index):
99
+ logger.warning(
100
+ f"Querying SQL database, but table `{index}` does not exist, returning empty list."
101
+ )
102
+ return []
103
+
104
+ sql = f"""
105
+ SELECT `data` FROM `{index}` ORDER BY `created_at` DESC LIMIT {top_k};
106
+ """
107
+ results = self.client.query(sql)
108
+
109
+ return [item["data"] for item in results]
110
+
111
+
112
+ class VectorDatabaseAdapter:
113
+ def __init__(self, client):
114
+ from veadk.database.vector.opensearch_vector_database import (
115
+ OpenSearchVectorDatabase,
116
+ )
117
+
118
+ self.client: OpenSearchVectorDatabase = client
119
+
120
+ def _validate_index(self, index: str):
121
+ """
122
+ Verify whether the string conforms to the naming rules of index_name in OpenSearch.
123
+ https://docs.opensearch.org/2.8/api-reference/index-apis/create-index/
124
+ """
125
+ if not (
126
+ isinstance(index, str)
127
+ and not index.startswith(("_", "-"))
128
+ and index.islower()
129
+ and re.match(r"^[a-z0-9_\-.]+$", index)
130
+ ):
131
+ raise ValueError(
132
+ "The index name does not conform to the naming rules of OpenSearch"
133
+ )
134
+
135
+ def add(self, data: list[str], index: str):
136
+ self._validate_index(index)
137
+
138
+ logger.debug(
139
+ f"Adding documents to vector database: index={index} data_len={len(data)}"
140
+ )
141
+
142
+ self.client.add(data, collection_name=index)
143
+
144
+ def query(self, query: str, index: str, top_k: int) -> list[str]:
145
+ logger.debug(
146
+ f"Querying vector database: collection_name={index} query={query} top_k={top_k}"
147
+ )
148
+
149
+ return self.client.query(
150
+ query=query,
151
+ collection_name=index,
152
+ top_k=top_k,
153
+ )
154
+
155
+
156
+ class VikingDatabaseAdapter:
157
+ def __init__(self, client):
158
+ from veadk.database.viking.viking_database import VikingDatabase
159
+
160
+ self.client: VikingDatabase = client
161
+
162
+ def _validate_index(self, index: str):
163
+ """
164
+ Only English letters, numbers, and underscores (_) are allowed.
165
+ It must start with an English letter and cannot be empty. Length requirement: [1, 128].
166
+ For details, please see: https://www.volcengine.com/docs/84313/1254542?lang=zh
167
+ """
168
+ if not (
169
+ isinstance(index, str)
170
+ and 0 < len(index) <= 128
171
+ and re.fullmatch(r"^[a-zA-Z][a-zA-Z0-9_]*$", index)
172
+ ):
173
+ raise ValueError(
174
+ "The index name does not conform to the rules: it must start with an English letter, contain only letters, numbers, and underscores, and have a length of 1-128."
175
+ )
176
+
177
+ def get_or_create_collection(self, collection_name: str):
178
+ if not self.client.collection_exists(collection_name):
179
+ logger.warning(
180
+ f"Collection {collection_name} does not exist, creating a new collection."
181
+ )
182
+ self.client.create_collection(collection_name)
183
+
184
+ # After creation, it is necessary to wait for a while.
185
+ count = 0
186
+ while not self.client.collection_exists(collection_name):
187
+ print("here")
188
+ time.sleep(1)
189
+ count += 1
190
+ if count > 60:
191
+ raise TimeoutError(
192
+ f"Collection {collection_name} not created after 50 seconds"
193
+ )
194
+
195
+ def add(
196
+ self, data: str | list[str] | TextIO | BinaryIO | bytes, index: str, **kwargs
197
+ ):
198
+ self._validate_index(index)
199
+
200
+ logger.debug(f"Adding documents to Viking database: collection_name={index}")
201
+
202
+ self.get_or_create_collection(index)
203
+ self.client.add(data, collection_name=index, **kwargs)
204
+
205
+ def query(self, query: str, index: str, top_k: int) -> list[str]:
206
+ self._validate_index(index)
207
+
208
+ logger.debug(f"Querying Viking database: collection_name={index} query={query}")
209
+
210
+ if not self.client.collection_exists(index):
211
+ return []
212
+
213
+ return self.client.query(query, collection_name=index, top_k=top_k)
214
+
215
+
216
+ class VikingMemoryDatabaseAdapter:
217
+ def __init__(self, client):
218
+ from veadk.database.viking.viking_memory_db import VikingMemoryDatabase
219
+
220
+ self.client: VikingMemoryDatabase = client
221
+
222
+ def _validate_index(self, index: str):
223
+ if not (
224
+ isinstance(index, str)
225
+ and 1 <= len(index) <= 128
226
+ and re.fullmatch(r"^[a-zA-Z][a-zA-Z0-9_]*$", index)
227
+ ):
228
+ raise ValueError(
229
+ "The index name does not conform to the rules: it must start with an English letter, contain only letters, numbers, and underscores, and have a length of 1-128."
230
+ )
231
+
232
+ def add(self, data: list[str], index: str, **kwargs):
233
+ self._validate_index(index)
234
+
235
+ logger.debug(
236
+ f"Adding documents to Viking database memory: collection_name={index} data_len={len(data)}"
237
+ )
238
+
239
+ self.client.add(data, collection_name=index, **kwargs)
240
+
241
+ def query(self, query: str, index: str, top_k: int, **kwargs):
242
+ self._validate_index(index)
243
+
244
+ logger.debug(
245
+ f"Querying Viking database memory: collection_name={index} query={query} top_k={top_k}"
246
+ )
247
+
248
+ result = self.client.query(query, collection_name=index, top_k=top_k, **kwargs)
249
+ return result
250
+
251
+
252
+ class LocalDatabaseAdapter:
253
+ def __init__(self, client):
254
+ from veadk.database.local_database import LocalDataBase
255
+
256
+ self.client: LocalDataBase = client
257
+
258
+ def add(self, data: list[str], **kwargs):
259
+ self.client.add(data)
260
+
261
+ def query(self, query: str, **kwargs):
262
+ return self.client.query(query, **kwargs)
263
+
264
+
265
+ MAPPING = {
266
+ "RedisDatabase": KVDatabaseAdapter,
267
+ "MysqlDatabase": RelationalDatabaseAdapter,
268
+ "LocalDataBase": LocalDatabaseAdapter,
269
+ "VikingDatabase": VikingDatabaseAdapter,
270
+ "OpenSearchVectorDatabase": VectorDatabaseAdapter,
271
+ "VikingMemoryDatabase": VikingMemoryDatabaseAdapter,
272
+ }
273
+
274
+
275
+ def get_knowledgebase_database_adapter(database_client: BaseDatabase):
276
+ return MAPPING[type(database_client).__name__](client=database_client)
277
+
278
+
279
+ def get_long_term_memory_database_adapter(database_client: BaseDatabase):
280
+ return MAPPING[type(database_client).__name__](client=database_client)
@@ -69,12 +69,12 @@ class DatabaseFactory:
69
69
  return VikingDatabase() if config is None else VikingDatabase(config=config)
70
70
 
71
71
  if backend == DatabaseBackend.VIKING_MEM:
72
- from .viking.viking_memory_db import VikingDatabaseMemory
72
+ from .viking.viking_memory_db import VikingMemoryDatabase
73
73
 
74
74
  return (
75
- VikingDatabaseMemory()
75
+ VikingMemoryDatabase()
76
76
  if config is None
77
- else VikingDatabaseMemory(config=config)
77
+ else VikingMemoryDatabase(config=config)
78
78
  )
79
79
  else:
80
80
  raise ValueError(f"Unsupported database type: {backend}")