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
@@ -11,30 +11,37 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+
15
+ import json
14
16
  import os
17
+ import uuid
15
18
 
16
- from fastapi import FastAPI
19
+ from fastapi import FastAPI, Request
17
20
  from fastapi.middleware.cors import CORSMiddleware
18
21
  from fastapi.responses import FileResponse, StreamingResponse
19
22
  from fastapi.staticfiles import StaticFiles
23
+ from google.adk.agents.run_config import RunConfig, StreamingMode
24
+ from google.genai import types
25
+ from pydantic import BaseModel
20
26
 
21
- from veadk.cli.studio.agent_processor import AgentProcessor
22
- from veadk.cli.studio.model import (
27
+ from veadk.cli.studio.models import (
23
28
  GetAgentResponse,
24
- GetAgentsResponse,
25
29
  GetEventResponse,
26
- GetHistorySessionsResponse,
27
- GetMemoryResponse,
28
- OptimizePromptRequest,
29
- OptimizePromptResponse,
30
- ReplacePromptRequest,
31
- RunAgentRequest,
32
- RunAgentResponse,
33
- SetAgentRequest,
34
- SetAgentResponse,
35
- SetRunnerRequest,
36
- TraceAgentResponse,
30
+ GetHistoryMessagesResponse,
31
+ GetTracingResponse,
32
+ Message,
33
+ RunnerConfig,
34
+ SpanItem,
35
+ TextPart,
36
+ ToolPart,
37
37
  )
38
+ from veadk.cli.studio.studio_processor import StudioProcessor
39
+ from veadk.utils.logger import get_logger
40
+
41
+ logger = get_logger(__name__)
42
+
43
+
44
+ processor = None
38
45
 
39
46
  app = FastAPI()
40
47
 
@@ -44,9 +51,6 @@ app.add_middleware(
44
51
  allow_credentials=True,
45
52
  allow_methods=["*"],
46
53
  allow_headers=["*"],
47
- allow_origin_regex=None,
48
- expose_headers=[],
49
- max_age=600,
50
54
  )
51
55
 
52
56
  NEXT_STATIC_DIR = os.path.join(os.path.dirname(__file__), "web")
@@ -60,158 +64,307 @@ async def read_root():
60
64
  return FileResponse(index_path, media_type="text/html")
61
65
 
62
66
 
63
- agent_processor = AgentProcessor()
64
-
65
-
66
- # health check
67
- @app.get("/ping")
68
- async def root():
69
- return {"message": "pong"}
70
-
71
-
72
- # get all agents
73
- @app.get("/agents")
74
- async def get_agents() -> GetAgentsResponse:
75
- agents_dir = agent_processor.agents_dir
76
- agents = agent_processor.get_agent_names()
77
- return GetAgentsResponse(agents_dir=agents_dir, agents=agents)
78
-
79
-
80
- # set current agent
81
- @app.post("/set_agent")
82
- async def set_agent(request: SetAgentRequest) -> SetAgentResponse:
83
- agent_processor.set_agent(
84
- agent_name=request.agent_name,
85
- )
86
- return SetAgentResponse(
87
- name=agent_processor.agent.name,
88
- description=agent_processor.agent.description,
89
- model_name=agent_processor.agent.model_name,
90
- instruction=agent_processor.agent.instruction,
91
- long_term_memory_backend=agent_processor.agent.long_term_memory.backend
92
- if agent_processor.agent.long_term_memory
93
- else "",
94
- knowledgebase_backend=agent_processor.agent.knowledgebase.backend
95
- if agent_processor.agent.knowledgebase
96
- else "",
97
- )
98
-
99
-
100
- @app.post("/set_runner")
101
- async def set_runner(request: SetRunnerRequest):
102
- await agent_processor.set_runner(
103
- app_name=request.app_name,
104
- user_id=request.user_id,
105
- session_id=request.session_id,
106
- short_term_memory_backend=request.short_term_memory_backend,
107
- short_term_memory_db_url=request.short_term_memory_db_url,
67
+ @app.get("/get_history_messages")
68
+ async def get_history_messages() -> GetHistoryMessagesResponse:
69
+ session_service = processor.short_term_memory.session_service
70
+ session = await session_service.get_session(
71
+ app_name=processor.runner.app_name,
72
+ user_id=processor.runner.user_id,
73
+ session_id=processor.session_id,
108
74
  )
109
- # TODO: return long & short term memory state
110
- return {"message": f"Runner set to {request.app_name}"}
111
75
 
112
-
113
- @app.get("/memory")
114
- async def get_memory() -> GetMemoryResponse:
115
- memory_status = agent_processor.get_memory_status()
116
- return GetMemoryResponse(
117
- **memory_status,
76
+ # prevent no session created
77
+ if session:
78
+ messages = []
79
+ tool_mapping = {}
80
+ for event in session.events:
81
+ formatted_parts = []
82
+ for part in event.content.parts:
83
+ if part.text:
84
+ formatted_part = TextPart(text=part.text)
85
+ formatted_parts.append(formatted_part)
86
+ if part.function_call:
87
+ formatted_part = ToolPart(
88
+ type="tool-" + part.function_call.name,
89
+ state="input-available",
90
+ toolCallId=part.function_call.id,
91
+ input=part.function_call.args,
92
+ )
93
+ tool_mapping[part.function_call.id] = formatted_part
94
+ formatted_parts.append(formatted_part)
95
+ if part.function_response:
96
+ formatted_part = tool_mapping[part.function_response.id]
97
+ formatted_part.output = part.function_response.response
98
+ formatted_part.state = "output-available"
99
+
100
+ if formatted_parts: # prevent only function_response in event
101
+ session_message = Message(
102
+ id=event.id,
103
+ role=event.author if event.author == "user" else "assistant",
104
+ parts=formatted_parts,
105
+ )
106
+ messages.append(session_message)
107
+ return GetHistoryMessagesResponse(messages=messages)
108
+ else:
109
+ return GetHistoryMessagesResponse(messages=[])
110
+
111
+
112
+ async def runner_run_sse(user_text: str):
113
+ message = types.Content(role="user", parts=[types.Part(text=user_text)])
114
+
115
+ await processor.runner.short_term_memory.create_session(
116
+ app_name=processor.runner.app_name,
117
+ user_id=processor.runner.user_id,
118
+ session_id=processor.session_id,
118
119
  )
119
120
 
120
-
121
- # get current agent
122
- @app.get("/agent")
123
- async def get_agent() -> GetAgentResponse:
121
+ logger.info("Begin to process user message under SSE method.")
122
+
123
+ # message begin
124
+ msg_id = f"msg-{str(uuid.uuid4())}"
125
+ MESSAGE_START = {"type": "start", "messageId": msg_id}
126
+ yield f"data: {json.dumps(MESSAGE_START)}\n\n"
127
+
128
+ text_id = f"text-{str(uuid.uuid4())}"
129
+ TEXT_START = {"type": "text-start", "id": text_id}
130
+ yield f"data: {json.dumps(TEXT_START)}\n\n"
131
+
132
+ async for event in processor.runner.runner.run_async(
133
+ user_id=processor.runner.user_id,
134
+ session_id=processor.session_id,
135
+ new_message=message,
136
+ run_config=RunConfig(streaming_mode=StreamingMode.SSE),
137
+ ):
138
+ for function_call in event.get_function_calls():
139
+ TOOL_INPUT_START = {
140
+ "type": "tool-input-start",
141
+ "toolCallId": function_call.id,
142
+ "toolName": function_call.name,
143
+ }
144
+ yield f"data: {json.dumps(TOOL_INPUT_START)}\n\n"
145
+
146
+ TOOL_INPUT_AVAILABLE = {
147
+ "type": "tool-input-available",
148
+ "toolCallId": function_call.id,
149
+ "toolName": function_call.name,
150
+ "input": function_call.args,
151
+ }
152
+ yield f"data: {json.dumps(TOOL_INPUT_AVAILABLE)}\n\n"
153
+
154
+ for function_response in event.get_function_responses():
155
+ # for load_memory and load_knowledgebase tools, the output is based BaseModel
156
+ # we have to convert it
157
+ for key, value in function_response.response.items():
158
+ if isinstance(value, BaseModel):
159
+ function_response.response[key] = value.model_dump(
160
+ exclude_none=False
161
+ )
162
+
163
+ TOOL_OUTPUT_AVAILABLE = {
164
+ "type": "tool-output-available",
165
+ "toolCallId": function_response.id,
166
+ "output": function_response.response,
167
+ }
168
+ yield f"data: {json.dumps(TOOL_OUTPUT_AVAILABLE)}\n\n"
169
+
170
+ if (
171
+ not event.is_final_response()
172
+ and len(event.content.parts) > 0
173
+ and event.content.parts[0].text
174
+ ):
175
+ TEXT_DELTA = {
176
+ "type": "text-delta",
177
+ "delta": event.content.parts[0].text,
178
+ "id": text_id,
179
+ }
180
+ yield f"data: {json.dumps(TEXT_DELTA)}\n\n"
181
+
182
+ if event.is_final_response():
183
+ TEXT_END = {"type": "text-end", "id": text_id}
184
+ yield f"data: {json.dumps(TEXT_END)}\n\n"
185
+
186
+ TEXT_FINISH = {"type": "finish", "finishReason": "stop"}
187
+ yield f"data: {json.dumps(TEXT_FINISH)}\n\n"
188
+
189
+ DONE = "[DONE]"
190
+ yield f"data: {DONE}\n\n"
191
+
192
+ logger.info("SSE Stream Completed.")
193
+
194
+
195
+ @app.post("/run_sse")
196
+ async def run_sse(request: Request):
197
+ data = await request.json()
198
+ user_text = data["messages"][-1]["parts"][0]["text"]
199
+
200
+ response = StreamingResponse(runner_run_sse(user_text=user_text))
201
+ response.headers["x-vercel-ai-ui-message-stream"] = "v1"
202
+ response.headers["Content-Type"] = "text/event-stream"
203
+ return response
204
+
205
+
206
+ @app.get("/get_agent")
207
+ def get_agent() -> GetAgentResponse:
124
208
  return GetAgentResponse(
125
- name=agent_processor.agent.name,
126
- description=agent_processor.agent.description,
127
- model_name=agent_processor.agent.model_name,
128
- instruction=agent_processor.agent.instruction,
209
+ name=processor.agent.name,
210
+ description=processor.agent.description,
211
+ instruction=processor.agent.instruction,
212
+ model_name=processor.agent.model_name,
213
+ short_term_memory_backend="",
214
+ short_term_memory_db_url="",
215
+ long_term_memory_backend="",
216
+ knowledgebase_backend="",
129
217
  )
130
218
 
131
219
 
132
- @app.post("/optimize_prompt")
133
- async def optimize_prompt(request: OptimizePromptRequest) -> OptimizePromptResponse:
134
- current_prompt = request.prompt
135
- feedback = request.feedback
136
- prompt = agent_processor.optimize_prompt(current_prompt, feedback)
137
- return OptimizePromptResponse(prompt=prompt)
220
+ def parse_tracing_file(filepath: str):
221
+ with open(filepath, "r") as f:
222
+ spans = json.load(f)
223
+
224
+ max_latency = -1
225
+ # 1. generate span mapping
226
+ store: dict[str, SpanItem] = {}
227
+ for span in spans:
228
+ event_id = ""
229
+ # in case of root node
230
+ if "gcp.vertex.agent.event_id" in span["attributes"]:
231
+ event_id = str(span["attributes"]["gcp.vertex.agent.event_id"])
232
+
233
+ latency = (span["end_time"] - span["start_time"]) / 1000000
234
+ max_latency = max(max_latency, latency)
235
+ span_item = SpanItem(
236
+ name=span["name"],
237
+ span_id=str(span["span_id"]),
238
+ trace_id=str(span["trace_id"]),
239
+ event_id=event_id,
240
+ parent_span_id=str(span["parent_span_id"])
241
+ if span["parent_span_id"]
242
+ else "",
243
+ latency=f"{latency:.2f}",
244
+ latency_proportion="0",
245
+ attributes=span["attributes"],
246
+ childs=[],
247
+ )
248
+ store[str(span["span_id"])] = span_item
249
+
250
+ # normalize latency
251
+ for span_item in store.values():
252
+ span_item.latency_proportion = (
253
+ f"{float(span_item.latency) / max_latency * 100:.2f}"
254
+ )
255
+
256
+ # 2. build sequencial spans
257
+ root_items = []
258
+ for span_item in store.values():
259
+ if span_item.parent_span_id == "":
260
+ root_items.append(span_item)
261
+ else:
262
+ parent_span = store[span_item.parent_span_id]
263
+ parent_span.childs.append(span_item)
264
+
265
+ return root_items
266
+
267
+
268
+ @app.get("/get_tracing")
269
+ async def get_tracing() -> GetTracingResponse:
270
+ session_service = processor.short_term_memory.session_service
271
+ session = await session_service.get_session(
272
+ app_name=processor.runner.app_name,
273
+ user_id=processor.runner.user_id,
274
+ session_id=processor.session_id,
275
+ )
276
+ if not session:
277
+ return GetTracingResponse(root_spans=[])
278
+ # ====== prevent existing file ======
279
+ tracing_file_path = processor.tracer.dump(
280
+ processor.runner.user_id, processor.session_id
281
+ )
282
+ os.remove(tracing_file_path)
283
+ # ====== ====================== ======
138
284
 
285
+ tracing_file_path = processor.tracer.dump(
286
+ processor.runner.user_id, processor.session_id
287
+ )
288
+ root_spans = parse_tracing_file(filepath=tracing_file_path)
289
+ os.remove(tracing_file_path)
290
+ return GetTracingResponse(root_spans=root_spans)
291
+
292
+
293
+ @app.get("/get_event")
294
+ async def get_event(event_id: str) -> GetEventResponse:
295
+ session_service = processor.short_term_memory.session_service
296
+ session = await session_service.get_session(
297
+ app_name=processor.runner.app_name,
298
+ user_id=processor.runner.user_id,
299
+ session_id=processor.session_id,
300
+ )
139
301
 
140
- @app.post("/replace_prompt")
141
- async def replace_prompt(request: ReplacePromptRequest):
142
- agent_processor.agent.instruction = request.prompt
143
- return {"message": "Prompt replaced"}
302
+ # prevent no session created
303
+ if session:
304
+ for event in session.events:
305
+ if event.id == event_id:
306
+ return GetEventResponse(
307
+ event=event.model_dump_json(exclude_none=True, by_alias=True)
308
+ )
309
+ return GetEventResponse(event=json.dumps({"info": "not an event span"}))
144
310
 
311
+ return GetEventResponse(event=json.dumps({"info": "not an event span"}))
145
312
 
146
- @app.get("/save_session")
147
- async def save_session(session_id: str):
148
- """Save session to long term memory"""
149
- await agent_processor.save_session_to_long_term_memory(session_id)
150
- return {"message": "Session saved"}
151
313
 
314
+ @app.get("/get_runner_config")
315
+ async def get_runner_config() -> RunnerConfig:
316
+ return RunnerConfig(
317
+ app_name=processor.runner.app_name,
318
+ user_id=processor.runner.user_id,
319
+ session_id=processor.session_id,
320
+ )
152
321
 
153
- @app.post("/update_prompt")
154
- async def update_prompt(request: ReplacePromptRequest):
155
- agent_processor.agent.instruction = request.prompt
156
- return {"message": "Prompt replaced"}
157
322
 
323
+ @app.get("/set_runner_config")
324
+ async def set_runner_config(
325
+ app_name: str, user_id: str, session_id: str
326
+ ) -> RunnerConfig:
327
+ processor.runner.app_name = app_name
328
+ processor.runner.user_id = user_id
329
+ processor.session_id = session_id
330
+ return RunnerConfig(
331
+ app_name=processor.runner.app_name,
332
+ user_id=processor.runner.user_id,
333
+ session_id=processor.session_id,
334
+ )
158
335
 
159
- @app.get("/history_sessions")
160
- async def get_history_sessions(session_id: str) -> GetHistorySessionsResponse:
161
- events = await agent_processor.get_history_sessions(session_id)
162
- return GetHistorySessionsResponse(events=events)
163
336
 
337
+ @app.get("/set_prompt")
338
+ async def set_prompt(prompt: str):
339
+ processor.runner.agent.instruction = prompt
340
+ return {"result": "success"}
164
341
 
165
- # run agent with user ID
166
- @app.post("/run")
167
- async def run(request: RunAgentRequest) -> RunAgentResponse:
168
- agent_processor.agent.model._additional_args["stream"] = False
169
- agent_processor.agent.model._additional_args["stream_options"] = {}
170
342
 
171
- session_id = request.session_id
172
- message = request.message
173
- response = await agent_processor.runner.run_with_final_event(
174
- messages=message,
175
- session_id=session_id,
343
+ @app.get("/refine_prompt")
344
+ async def refine_prompt(feedback: str):
345
+ refined_prompt = "" # prevent error processing
346
+ refined_prompt = processor.agent_pilot.optimize(
347
+ agents=[processor.agent], feedback=feedback
176
348
  )
177
- return RunAgentResponse(event=response)
349
+ return {"prompt": refined_prompt}
178
350
 
179
351
 
180
- @app.get("/testcases")
181
- async def get_testcases(session_id: str):
182
- testcases = await agent_processor.get_testcases(session_id)
183
- return {"data": testcases}
352
+ @app.get("/get_testcases")
353
+ async def get_testcases():
354
+ test_cases = await processor.get_testcases()
355
+ return {"test_cases": test_cases}
184
356
 
185
357
 
186
- @app.post("/evaluate")
358
+ @app.get("/evaluate")
187
359
  async def evaluate():
188
- agent_processor.agent.model._additional_args["stream"] = False
189
- agent_processor.agent.model._additional_args["stream_options"] = {}
190
-
191
- test_cases = await agent_processor.evaluate()
192
- return {"data": test_cases}
360
+ test_cases = await processor.evaluate()
361
+ return {"test_cases": test_cases}
193
362
 
194
363
 
195
- @app.get("/run_sse")
196
- async def run_sse(session_id: str, message: str):
197
- return StreamingResponse(
198
- agent_processor.run_sse(session_id, message),
199
- media_type="text/event-stream",
200
- )
201
-
202
-
203
- @app.get("/trace")
204
- def trace(session_id: str) -> TraceAgentResponse:
205
- content = agent_processor.trace(
206
- session_id=session_id,
207
- )
208
- return TraceAgentResponse(content=content)
209
-
210
-
211
- @app.get("/get/event")
212
- async def get_event(session_id: str, invocation_id: str) -> GetEventResponse:
213
- event_str = await agent_processor.get_event(session_id, invocation_id)
214
- return GetEventResponse(event=event_str)
364
+ @app.get("/save_session")
365
+ async def save_session():
366
+ await processor.runner.save_session_to_long_term_memory(processor.session_id)
367
+ return {"result": "success"}
215
368
 
216
369
 
217
370
  app.mount(
@@ -227,6 +380,13 @@ app.mount(
227
380
  )
228
381
 
229
382
 
230
- def get_fast_api_app(agents_dir: str) -> FastAPI:
231
- agent_processor.agents_dir = agents_dir
383
+ def get_fast_api_app(agent, short_term_memory):
384
+ global processor
385
+ processor = StudioProcessor(
386
+ app_name="veadk_studio",
387
+ user_id="studio_user",
388
+ session_id="studio_session",
389
+ agent=agent,
390
+ short_term_memory=short_term_memory,
391
+ )
232
392
  return app
@@ -0,0 +1,76 @@
1
+ # Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from pydantic import BaseModel
16
+
17
+
18
+ class GetAgentResponse(BaseModel):
19
+ name: str
20
+ description: str
21
+ instruction: str
22
+ model_name: str
23
+ short_term_memory_backend: str
24
+ short_term_memory_db_url: str
25
+ long_term_memory_backend: str
26
+ knowledgebase_backend: str
27
+
28
+
29
+ class SpanItem(BaseModel):
30
+ name: str
31
+ span_id: str
32
+ trace_id: str
33
+ event_id: str
34
+ parent_span_id: str
35
+ latency: str
36
+ latency_proportion: str
37
+ attributes: dict
38
+ childs: list["SpanItem"]
39
+
40
+
41
+ class GetTracingResponse(BaseModel):
42
+ root_spans: list[SpanItem]
43
+
44
+
45
+ class GetEventResponse(BaseModel):
46
+ event: str
47
+
48
+
49
+ class RunnerConfig(BaseModel):
50
+ app_name: str
51
+ user_id: str
52
+ session_id: str
53
+
54
+
55
+ class TextPart(BaseModel):
56
+ type: str = "text"
57
+ state: str = "done"
58
+ text: str
59
+
60
+
61
+ class ToolPart(BaseModel):
62
+ type: str
63
+ toolCallId: str
64
+ state: str = ""
65
+ input: dict = {}
66
+ output: dict = {}
67
+
68
+
69
+ class Message(BaseModel):
70
+ id: str
71
+ role: str
72
+ parts: list[TextPart | ToolPart]
73
+
74
+
75
+ class GetHistoryMessagesResponse(BaseModel):
76
+ messages: list[Message]