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

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

Potentially problematic release.


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

Files changed (470) hide show
  1. veadk/__init__.py +9 -3
  2. veadk/__pycache__/__init__.cpython-310.pyc +0 -0
  3. veadk/__pycache__/agent.cpython-310.pyc +0 -0
  4. veadk/__pycache__/runner.cpython-310.pyc +0 -0
  5. veadk/__pycache__/types.cpython-310.pyc +0 -0
  6. veadk/__pycache__/version.cpython-310.pyc +0 -0
  7. veadk/a2a/__pycache__/remote_ve_agent.cpython-310.pyc +0 -0
  8. veadk/a2a/__pycache__/ve_a2a_server.cpython-310.pyc +0 -0
  9. veadk/a2a/__pycache__/ve_agent_executor.cpython-310.pyc +0 -0
  10. veadk/a2a/remote_ve_agent.py +1 -1
  11. veadk/a2a/ve_a2a_server.py +0 -2
  12. veadk/agent.py +10 -7
  13. veadk/cli/__pycache__/__init__.cpython-310.pyc +0 -0
  14. veadk/cli/__pycache__/cli.cpython-310.pyc +0 -0
  15. veadk/cli/__pycache__/cli_deploy.cpython-310.pyc +0 -0
  16. veadk/cli/__pycache__/cli_init.cpython-310.pyc +0 -0
  17. veadk/cli/__pycache__/cli_prompt.cpython-310.pyc +0 -0
  18. veadk/cli/__pycache__/cli_studio.cpython-310.pyc +0 -0
  19. veadk/cli/__pycache__/cli_web.cpython-310.pyc +0 -0
  20. veadk/cli/__pycache__/main.cpython-310.pyc +0 -0
  21. veadk/cli/{services/agentpilot/__init__.py → cli.py} +25 -2
  22. veadk/cli/cli_deploy.py +147 -0
  23. veadk/cli/cli_init.py +106 -0
  24. veadk/cli/cli_prompt.py +64 -0
  25. veadk/cli/cli_web.py +154 -0
  26. veadk/cloud/__pycache__/cloud_agent_engine.cpython-310.pyc +0 -0
  27. veadk/cloud/__pycache__/cloud_app.cpython-310.pyc +0 -0
  28. veadk/cloud/cloud_agent_engine.py +77 -42
  29. veadk/cloud/cloud_app.py +37 -6
  30. veadk/database/__pycache__/__init__.cpython-310.pyc +0 -0
  31. veadk/database/__pycache__/database_adapter.cpython-310.pyc +0 -0
  32. veadk/database/database_adapter.py +2 -2
  33. veadk/database/kv/redis_database.py +12 -9
  34. veadk/database/relational/mysql_database.py +10 -9
  35. veadk/database/vector/opensearch_vector_database.py +14 -7
  36. veadk/database/viking/viking_database.py +23 -17
  37. veadk/database/viking/viking_memory_db.py +9 -9
  38. veadk/evaluation/__pycache__/base_evaluator.cpython-310.pyc +0 -0
  39. veadk/evaluation/adk_evaluator/adk_evaluator.py +12 -17
  40. veadk/evaluation/base_evaluator.py +10 -9
  41. veadk/evaluation/utils/prometheus.py +1 -4
  42. veadk/integrations/ve_apig/__pycache__/__init__.cpython-310.pyc +0 -0
  43. veadk/integrations/ve_apig/__pycache__/ve_apig.cpython-310.pyc +0 -0
  44. veadk/integrations/ve_faas/__pycache__/__init__.cpython-310.pyc +0 -0
  45. veadk/integrations/ve_faas/__pycache__/types.cpython-310.pyc +0 -0
  46. veadk/integrations/ve_faas/__pycache__/ve_faas.cpython-310.pyc +0 -0
  47. veadk/integrations/ve_faas/__pycache__/ve_faas_utils.cpython-310.pyc +0 -0
  48. veadk/{cli/services/vefaas → integrations/ve_faas}/__pycache__/vefaas.cpython-310.pyc +0 -0
  49. veadk/integrations/ve_faas/template/cookiecutter.json +11 -0
  50. veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/config.yaml.example +6 -0
  51. veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/deploy.py +103 -0
  52. veadk/{cli/services/vefaas/template → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/src/__init__.py +0 -1
  53. veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/__pycache__/agent.cpython-310.pyc +0 -0
  54. veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/__pycache__/app.cpython-310.pyc +0 -0
  55. veadk/{cli/services/veapig/__init__.py → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/agent.py} +10 -2
  56. veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/app.py +146 -0
  57. veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/requirements.txt +1 -0
  58. veadk/{cli/services/vefaas/template → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/src/run.sh +10 -19
  59. veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name|replace('-', '_') }}/__init__.py +14 -0
  60. veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name|replace('-', '_') }}/__pycache__/__init__.cpython-310.pyc +0 -0
  61. veadk/integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name|replace('-', '_') }}/__pycache__/agent.cpython-310.pyc +0 -0
  62. veadk/{cli/services/vefaas/template/src/agent.py → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}/src/{{ cookiecutter.app_name|replace('-', '_') }}/agent.py } +8 -6
  63. veadk/{cli/services/vefaas/vefaas.py → integrations/ve_faas/ve_faas.py} +15 -6
  64. veadk/integrations/ve_prompt_pilot/__init__.py +13 -0
  65. veadk/{cli/services/agentpilot → integrations/ve_prompt_pilot}/__pycache__/agentpilot.cpython-310.pyc +0 -0
  66. veadk/{cli/services/agentpilot/agentpilot.py → integrations/ve_prompt_pilot/ve_prompt_pilot.py} +5 -6
  67. veadk/knowledgebase/__pycache__/knowledgebase.cpython-310.pyc +0 -0
  68. veadk/knowledgebase/knowledgebase.py +3 -5
  69. veadk/memory/__pycache__/long_term_memory.cpython-310.pyc +0 -0
  70. veadk/memory/__pycache__/short_term_memory.cpython-310.pyc +0 -0
  71. veadk/memory/__pycache__/short_term_memory_processor.cpython-310.pyc +0 -0
  72. veadk/memory/long_term_memory.py +5 -2
  73. veadk/memory/short_term_memory.py +3 -7
  74. veadk/memory/short_term_memory_processor.py +7 -2
  75. veadk/prompts/prompt_optimization.py +11 -19
  76. veadk/runner.py +85 -68
  77. veadk/tools/__pycache__/load_knowledgebase_tool.cpython-310.pyc +0 -0
  78. veadk/tools/builtin_tools/__pycache__/vesearch.cpython-310.pyc +0 -0
  79. veadk/tools/load_knowledgebase_tool.py +3 -2
  80. veadk/tracing/__pycache__/base_tracer.cpython-310.pyc +0 -0
  81. veadk/tracing/base_tracer.py +27 -15
  82. veadk/tracing/telemetry/__pycache__/opentelemetry_tracer.cpython-310.pyc +0 -0
  83. veadk/tracing/telemetry/exporters/__pycache__/apmplus_exporter.cpython-310.pyc +0 -0
  84. veadk/tracing/telemetry/exporters/__pycache__/base_exporter.cpython-310.pyc +0 -0
  85. veadk/tracing/telemetry/exporters/__pycache__/cozeloop_exporter.cpython-310.pyc +0 -0
  86. veadk/tracing/telemetry/exporters/__pycache__/inmemory_exporter.cpython-310.pyc +0 -0
  87. veadk/tracing/telemetry/exporters/__pycache__/tls_exporter.cpython-310.pyc +0 -0
  88. veadk/tracing/telemetry/exporters/apmplus_exporter.py +0 -3
  89. veadk/tracing/telemetry/exporters/base_exporter.py +3 -0
  90. veadk/tracing/telemetry/exporters/cozeloop_exporter.py +0 -3
  91. veadk/tracing/telemetry/exporters/inmemory_exporter.py +13 -4
  92. veadk/tracing/telemetry/exporters/tls_exporter.py +2 -9
  93. veadk/tracing/telemetry/opentelemetry_tracer.py +14 -30
  94. veadk/types.py +20 -1
  95. veadk/utils/__pycache__/logger.cpython-310.pyc +0 -0
  96. veadk/utils/__pycache__/misc.cpython-310.pyc +0 -0
  97. veadk/utils/__pycache__/patches.cpython-310.pyc +0 -0
  98. veadk/utils/mcp_utils.py +1 -1
  99. veadk/utils/misc.py +31 -2
  100. veadk/utils/patches.py +0 -30
  101. veadk/version.py +1 -1
  102. {veadk_python-0.2.1.dist-info → veadk_python-0.2.2.dist-info}/METADATA +16 -5
  103. veadk_python-0.2.2.dist-info/RECORD +213 -0
  104. veadk_python-0.2.2.dist-info/entry_points.txt +2 -0
  105. veadk/cli/main.py +0 -379
  106. veadk/cli/services/veapig/__pycache__/__init__.cpython-310.pyc +0 -0
  107. veadk/cli/services/vefaas/__init__.py +0 -17
  108. veadk/cli/services/vefaas/__pycache__/__init__.cpython-310.pyc +0 -0
  109. veadk/cli/services/vefaas/template/README.md +0 -37
  110. veadk/cli/services/vefaas/template/config.yaml.example +0 -19
  111. veadk/cli/services/vefaas/template/deploy.py +0 -58
  112. veadk/cli/services/vefaas/template/src/__pycache__/agent.cpython-310.pyc +0 -0
  113. veadk/cli/services/vefaas/template/src/app.py +0 -70
  114. veadk/cli/services/vefaas/template/src/requirements.txt +0 -6
  115. veadk/cli/services/vefaas/template/src/studio_app.py +0 -47
  116. veadk/cli/services/vetls/__init__.py +0 -17
  117. veadk/cli/services/vetls/vetls.py +0 -87
  118. veadk/cli/studio/__pycache__/__init__.cpython-310.pyc +0 -0
  119. veadk/cli/studio/__pycache__/fast_api.cpython-310.pyc +0 -0
  120. veadk/cli/studio/__pycache__/models.cpython-310.pyc +0 -0
  121. veadk/cli/studio/__pycache__/studio_processor.cpython-310.pyc +0 -0
  122. veadk/cli/studio/fast_api.py +0 -392
  123. veadk/cli/studio/models.py +0 -76
  124. veadk/cli/studio/studio_processor.py +0 -127
  125. veadk/cli/studio/web/404.html +0 -1
  126. veadk/cli/studio/web/__pycache__/__init__.cpython-310.pyc +0 -0
  127. veadk/cli/studio/web/_next/static/chunks/1012.1c22f40693022876.js +0 -1
  128. veadk/cli/studio/web/_next/static/chunks/1017.577d2551c3a2b396.js +0 -1
  129. veadk/cli/studio/web/_next/static/chunks/1044.7c49605a0f9b5d5c.js +0 -1
  130. veadk/cli/studio/web/_next/static/chunks/1067.71aee8d185b3a9d7.js +0 -1
  131. veadk/cli/studio/web/_next/static/chunks/1088.8f7f3c71458d301b.js +0 -1
  132. veadk/cli/studio/web/_next/static/chunks/1092.7b553ab1ec1737bf.js +0 -1
  133. veadk/cli/studio/web/_next/static/chunks/1117.8c537e259adccbe2.js +0 -1
  134. veadk/cli/studio/web/_next/static/chunks/1142.1faf8d46ccf4030c.js +0 -1
  135. veadk/cli/studio/web/_next/static/chunks/1146.25bf08c82f4ad1c5.js +0 -1
  136. veadk/cli/studio/web/_next/static/chunks/1192.55e7712b3dc8b6a8.js +0 -1
  137. veadk/cli/studio/web/_next/static/chunks/1200.1038681512a9f69a.js +0 -1
  138. veadk/cli/studio/web/_next/static/chunks/1265.e055670c82b2d131.js +0 -1
  139. veadk/cli/studio/web/_next/static/chunks/1275.322d8bf8a580b859.js +0 -1
  140. veadk/cli/studio/web/_next/static/chunks/140.d7e90f5e12cf288c.js +0 -1
  141. veadk/cli/studio/web/_next/static/chunks/1421.7fff0e9f0677f79b.js +0 -1
  142. veadk/cli/studio/web/_next/static/chunks/1469.16c1e07a7c0f9817.js +0 -1
  143. veadk/cli/studio/web/_next/static/chunks/1480.3c94a6d6d61c4f56.js +0 -1
  144. veadk/cli/studio/web/_next/static/chunks/1507.4c7617217de3bef8.js +0 -1
  145. veadk/cli/studio/web/_next/static/chunks/1523.1740f3d9d913fe76.js +0 -1
  146. veadk/cli/studio/web/_next/static/chunks/1526.5fb34657a70589b5.js +0 -1
  147. veadk/cli/studio/web/_next/static/chunks/1563.6c364e96b33f3328.js +0 -1
  148. veadk/cli/studio/web/_next/static/chunks/157.2e3f508bc115c15c.js +0 -1
  149. veadk/cli/studio/web/_next/static/chunks/1577.b6cebda169ac9c75.js +0 -1
  150. veadk/cli/studio/web/_next/static/chunks/1622.a611b4dab478587d.js +0 -1
  151. veadk/cli/studio/web/_next/static/chunks/1685.db5d4efe2f0e3767.js +0 -1
  152. veadk/cli/studio/web/_next/static/chunks/1687.a10254d4e1dd84c0.js +0 -1
  153. veadk/cli/studio/web/_next/static/chunks/1826.da2ac0fcfb59cfae.js +0 -1
  154. veadk/cli/studio/web/_next/static/chunks/1832.f81112d6166a9563.js +0 -1
  155. veadk/cli/studio/web/_next/static/chunks/1851.1d0bdfdf5fa89313.js +0 -1
  156. veadk/cli/studio/web/_next/static/chunks/189.c602a68aadf321e4.js +0 -1
  157. veadk/cli/studio/web/_next/static/chunks/1899.dd303f08095745bc.js +0 -1
  158. veadk/cli/studio/web/_next/static/chunks/193.1e81c5b253db2ee7.js +0 -1
  159. veadk/cli/studio/web/_next/static/chunks/1936.8fad6d3898c86483.js +0 -1
  160. veadk/cli/studio/web/_next/static/chunks/1942.165056b632c269d4.js +0 -1
  161. veadk/cli/studio/web/_next/static/chunks/1974.ee28ba5ac111af70.js +0 -1
  162. veadk/cli/studio/web/_next/static/chunks/2.c2afe2e24520b5de.js +0 -1
  163. veadk/cli/studio/web/_next/static/chunks/2006.298ac00a777dc313.js +0 -1
  164. veadk/cli/studio/web/_next/static/chunks/2063.69ba443b7901194c.js +0 -1
  165. veadk/cli/studio/web/_next/static/chunks/2067-e02b0bc96d886930.js +0 -91
  166. veadk/cli/studio/web/_next/static/chunks/2119.4595d21bc0340c5b.js +0 -1
  167. veadk/cli/studio/web/_next/static/chunks/212.0a8d6163667d9369.js +0 -1
  168. veadk/cli/studio/web/_next/static/chunks/2190.5549f7a57901bd46.js +0 -1
  169. veadk/cli/studio/web/_next/static/chunks/2193.51ce38cc9e965abd.js +0 -1
  170. veadk/cli/studio/web/_next/static/chunks/2202.a6c08676680e55ad.js +0 -1
  171. veadk/cli/studio/web/_next/static/chunks/2247.af410bd18c38e538.js +0 -1
  172. veadk/cli/studio/web/_next/static/chunks/2313.6932520daf0fa88c.js +0 -1
  173. veadk/cli/studio/web/_next/static/chunks/2316.c9eafa57971eebc8.js +0 -1
  174. veadk/cli/studio/web/_next/static/chunks/2324.766859688506ac0d.js +0 -1
  175. veadk/cli/studio/web/_next/static/chunks/2328.131b0296bc19ba4e.js +0 -1
  176. veadk/cli/studio/web/_next/static/chunks/2332.b9b7ac0b386a4a28.js +0 -1
  177. veadk/cli/studio/web/_next/static/chunks/2344.cc417c70cb6dbc51.js +0 -1
  178. veadk/cli/studio/web/_next/static/chunks/2347.9f442b75b11de668.js +0 -1
  179. veadk/cli/studio/web/_next/static/chunks/2356.f6b4ac7eb50edb44.js +0 -1
  180. veadk/cli/studio/web/_next/static/chunks/2370.044b34646bc58363.js +0 -1
  181. veadk/cli/studio/web/_next/static/chunks/2378.2005af4d2bf100dd.js +0 -1
  182. veadk/cli/studio/web/_next/static/chunks/2437.68534e42d45c5c61.js +0 -1
  183. veadk/cli/studio/web/_next/static/chunks/2449.db460ea54b851bc1.js +0 -1
  184. veadk/cli/studio/web/_next/static/chunks/2455.153b04863d2ae9dc.js +0 -1
  185. veadk/cli/studio/web/_next/static/chunks/2484.139843b3f1cc8ea5.js +0 -1
  186. veadk/cli/studio/web/_next/static/chunks/2500.e2b8da0d1401bd5f.js +0 -1
  187. veadk/cli/studio/web/_next/static/chunks/2513.a7056ff98b04c4cd.js +0 -1
  188. veadk/cli/studio/web/_next/static/chunks/2533.5e35d247414428d0.js +0 -1
  189. veadk/cli/studio/web/_next/static/chunks/2541.3e5a23b461d7a9fd.js +0 -1
  190. veadk/cli/studio/web/_next/static/chunks/2545.0e4e3a784391205b.js +0 -1
  191. veadk/cli/studio/web/_next/static/chunks/2558.17eda1052d7c8c1f.js +0 -1
  192. veadk/cli/studio/web/_next/static/chunks/2559.7432df2540cfff07.js +0 -1
  193. veadk/cli/studio/web/_next/static/chunks/2578.1be0687e71bc7731.js +0 -1
  194. veadk/cli/studio/web/_next/static/chunks/2601.aa7e57bdf472372c.js +0 -1
  195. veadk/cli/studio/web/_next/static/chunks/261-19b52c2c85aefb5d.js +0 -1
  196. veadk/cli/studio/web/_next/static/chunks/2642.9ea0966ca6bd8ace.js +0 -1
  197. veadk/cli/studio/web/_next/static/chunks/2669.e90ab188be48154e.js +0 -1
  198. veadk/cli/studio/web/_next/static/chunks/2737.4f5c7f7b9293ae65.js +0 -1
  199. veadk/cli/studio/web/_next/static/chunks/2804.b801cadc26133d92.js +0 -1
  200. veadk/cli/studio/web/_next/static/chunks/2817.8584109b4bc979e8.js +0 -1
  201. veadk/cli/studio/web/_next/static/chunks/282.cfff86fab979470f.js +0 -1
  202. veadk/cli/studio/web/_next/static/chunks/2822.12cdf0520b2d321a.js +0 -1
  203. veadk/cli/studio/web/_next/static/chunks/288.5c1053dbdc74212b.js +0 -1
  204. veadk/cli/studio/web/_next/static/chunks/2964.a531dbf5eb867f3d.js +0 -1
  205. veadk/cli/studio/web/_next/static/chunks/2f7605f3.0531565b22967bb4.js +0 -1
  206. veadk/cli/studio/web/_next/static/chunks/3080.9aada68cdc9ad5c2.js +0 -1
  207. veadk/cli/studio/web/_next/static/chunks/3090.a9e7f71df818f607.js +0 -1
  208. veadk/cli/studio/web/_next/static/chunks/3103.b7cdb76d87ac0fdd.js +0 -1
  209. veadk/cli/studio/web/_next/static/chunks/311.2737abd09304ba1b.js +0 -1
  210. veadk/cli/studio/web/_next/static/chunks/3110.84511591e516221b.js +0 -1
  211. veadk/cli/studio/web/_next/static/chunks/3126.307ac469edcf6ec9.js +0 -1
  212. veadk/cli/studio/web/_next/static/chunks/320.a3c0085ebf05b7da.js +0 -1
  213. veadk/cli/studio/web/_next/static/chunks/322.668c1a20cc012c68.js +0 -1
  214. veadk/cli/studio/web/_next/static/chunks/3341.a0f06b1edc2332fb.js +0 -1
  215. veadk/cli/studio/web/_next/static/chunks/3357.ced93e6bf8e56762.js +0 -1
  216. veadk/cli/studio/web/_next/static/chunks/3386.53f3aa4ff0dd0170.js +0 -1
  217. veadk/cli/studio/web/_next/static/chunks/3391.402e02fd7c297ff8.js +0 -1
  218. veadk/cli/studio/web/_next/static/chunks/3392.5172b1d190ff0e8c.js +0 -1
  219. veadk/cli/studio/web/_next/static/chunks/33fb68d2.aacf24a5979288bd.js +0 -1
  220. veadk/cli/studio/web/_next/static/chunks/3429.74dcaa985d188e43.js +0 -1
  221. veadk/cli/studio/web/_next/static/chunks/3433.737c3d948bdda1da.js +0 -1
  222. veadk/cli/studio/web/_next/static/chunks/3435.1798454b9a5b69ca.js +0 -1
  223. veadk/cli/studio/web/_next/static/chunks/3481.a916f933c4e534b8.js +0 -1
  224. veadk/cli/studio/web/_next/static/chunks/3602.bdf28129f1569554.js +0 -1
  225. veadk/cli/studio/web/_next/static/chunks/3607.49cec7e9330d1f4d.js +0 -1
  226. veadk/cli/studio/web/_next/static/chunks/3615.3280752d551adf2d.js +0 -1
  227. veadk/cli/studio/web/_next/static/chunks/3721.f660b5b05621f5e4.js +0 -1
  228. veadk/cli/studio/web/_next/static/chunks/3786.ae0824e683556d37.js +0 -1
  229. veadk/cli/studio/web/_next/static/chunks/3805.ec0340f0f6e61bbc.js +0 -1
  230. veadk/cli/studio/web/_next/static/chunks/4045.42a3c9fb7d932ebc.js +0 -1
  231. veadk/cli/studio/web/_next/static/chunks/4052.86cc820c95ad25a8.js +0 -1
  232. veadk/cli/studio/web/_next/static/chunks/4058.3cea468f5370b7c9.js +0 -1
  233. veadk/cli/studio/web/_next/static/chunks/4068.ff830b92579f6b7f.js +0 -1
  234. veadk/cli/studio/web/_next/static/chunks/411.5679da8e6a856022.js +0 -1
  235. veadk/cli/studio/web/_next/static/chunks/4118.e2544434642f6640.js +0 -1
  236. veadk/cli/studio/web/_next/static/chunks/4139.80b0aab26d9a4601.js +0 -1
  237. veadk/cli/studio/web/_next/static/chunks/423.da4e0abf5fd408dc.js +0 -1
  238. veadk/cli/studio/web/_next/static/chunks/4262.9d5532cb76a86371.js +0 -1
  239. veadk/cli/studio/web/_next/static/chunks/431.ef6d705ac627958f.js +0 -1
  240. veadk/cli/studio/web/_next/static/chunks/4337.3c94a6d6d61c4f56.js +0 -1
  241. veadk/cli/studio/web/_next/static/chunks/4357-39eb6b5934ac97db.js +0 -1
  242. veadk/cli/studio/web/_next/static/chunks/4382.64908590e0a18d66.js +0 -1
  243. veadk/cli/studio/web/_next/static/chunks/4489.7a9b45fb6f6bf491.js +0 -1
  244. veadk/cli/studio/web/_next/static/chunks/450.76880cb957b128fa.js +0 -1
  245. veadk/cli/studio/web/_next/static/chunks/452.14fb00ee415ad32b.js +0 -1
  246. veadk/cli/studio/web/_next/static/chunks/4577.d1cbd95a87e2adb2.js +0 -1
  247. veadk/cli/studio/web/_next/static/chunks/4626.0866c7ee38885775.js +0 -1
  248. veadk/cli/studio/web/_next/static/chunks/4627.3d7df52a668a6b57.js +0 -1
  249. veadk/cli/studio/web/_next/static/chunks/4713.3891f7d347513ef5.js +0 -1
  250. veadk/cli/studio/web/_next/static/chunks/4749.25fd94a8ed476b13.js +0 -1
  251. veadk/cli/studio/web/_next/static/chunks/4836.afe027e38fb9a7e8.js +0 -1
  252. veadk/cli/studio/web/_next/static/chunks/483e0093.2a09b17ad5d1b3ed.js +0 -1
  253. veadk/cli/studio/web/_next/static/chunks/4852.cac6e9c5032df796.js +0 -1
  254. veadk/cli/studio/web/_next/static/chunks/4860.94324451a00fadc0.js +0 -1
  255. veadk/cli/studio/web/_next/static/chunks/4869.091903cb36ad77ad.js +0 -1
  256. veadk/cli/studio/web/_next/static/chunks/4888.e248e212b002f5df.js +0 -1
  257. veadk/cli/studio/web/_next/static/chunks/492.ac958937dd36300f.js +0 -1
  258. veadk/cli/studio/web/_next/static/chunks/4958.85e0dbc8b2319776.js +0 -1
  259. veadk/cli/studio/web/_next/static/chunks/4968.1477e29640b2deb8.js +0 -1
  260. veadk/cli/studio/web/_next/static/chunks/4980.1300ab7d9c76e523.js +0 -1
  261. veadk/cli/studio/web/_next/static/chunks/4aa6d3c9.dade76a8ff4112d3.js +0 -1
  262. veadk/cli/studio/web/_next/static/chunks/5006.8ee1d611f529da11.js +0 -1
  263. veadk/cli/studio/web/_next/static/chunks/5018.c34d2a9f82e24c51.js +0 -1
  264. veadk/cli/studio/web/_next/static/chunks/5050.c06b2d8e12720555.js +0 -1
  265. veadk/cli/studio/web/_next/static/chunks/5084.9b554002148843ea.js +0 -1
  266. veadk/cli/studio/web/_next/static/chunks/5097.2e9a097ccfb70707.js +0 -1
  267. veadk/cli/studio/web/_next/static/chunks/5113.fa5291624248676b.js +0 -1
  268. veadk/cli/studio/web/_next/static/chunks/5115.ff49cf5e2be16db4.js +0 -1
  269. veadk/cli/studio/web/_next/static/chunks/521.98b7995e15b59075.js +0 -1
  270. veadk/cli/studio/web/_next/static/chunks/5213.1a7618fcae8c5282.js +0 -1
  271. veadk/cli/studio/web/_next/static/chunks/522.56063fbcf9aa8699.js +0 -1
  272. veadk/cli/studio/web/_next/static/chunks/5247.b304f94eb3132618.js +0 -1
  273. veadk/cli/studio/web/_next/static/chunks/5248.f9faaff2f0d7631f.js +0 -1
  274. veadk/cli/studio/web/_next/static/chunks/527-1c65afbb202752bd.js +0 -1
  275. veadk/cli/studio/web/_next/static/chunks/529.7d231c2076b6d77a.js +0 -1
  276. veadk/cli/studio/web/_next/static/chunks/5305.9323b5f7efaa005e.js +0 -1
  277. veadk/cli/studio/web/_next/static/chunks/5317.fce75000492e9db4.js +0 -1
  278. veadk/cli/studio/web/_next/static/chunks/5326.3be5b04850f0a2f2.js +0 -1
  279. veadk/cli/studio/web/_next/static/chunks/5329.415b43aacdd9a471.js +0 -1
  280. veadk/cli/studio/web/_next/static/chunks/5331.77f0493c99857944.js +0 -1
  281. veadk/cli/studio/web/_next/static/chunks/5341.1fff90ab37947f62.js +0 -1
  282. veadk/cli/studio/web/_next/static/chunks/541.04d938e895b7f678.js +0 -1
  283. veadk/cli/studio/web/_next/static/chunks/5428.fa789e4b0d61cd0d.js +0 -1
  284. veadk/cli/studio/web/_next/static/chunks/5460.cee07b9411c5c5ca.js +0 -1
  285. veadk/cli/studio/web/_next/static/chunks/5472.f645717ad2edd28f.js +0 -1
  286. veadk/cli/studio/web/_next/static/chunks/5503.75093ef3870b655f.js +0 -1
  287. veadk/cli/studio/web/_next/static/chunks/5567.44555d5da6ed19b7.js +0 -1
  288. veadk/cli/studio/web/_next/static/chunks/5572.3c35c26a4867ca56.js +0 -1
  289. veadk/cli/studio/web/_next/static/chunks/5579.b3be6028d1833118.js +0 -1
  290. veadk/cli/studio/web/_next/static/chunks/5631.b8a2c0dc65737269.js +0 -1
  291. veadk/cli/studio/web/_next/static/chunks/5656.b743b6ab9a61eec0.js +0 -1
  292. veadk/cli/studio/web/_next/static/chunks/5677.c063822912e55a25.js +0 -1
  293. veadk/cli/studio/web/_next/static/chunks/5779.0b1a3c7d1c018a1d.js +0 -1
  294. veadk/cli/studio/web/_next/static/chunks/5817.ae1fb69a154fbf4c.js +0 -1
  295. veadk/cli/studio/web/_next/static/chunks/5860.7154866a5d2dd82f.js +0 -1
  296. veadk/cli/studio/web/_next/static/chunks/5865.645e44e8e171ba9f.js +0 -1
  297. veadk/cli/studio/web/_next/static/chunks/5906.30cce16ed88f920a.js +0 -1
  298. veadk/cli/studio/web/_next/static/chunks/5942.cd6dfaad76581849.js +0 -1
  299. veadk/cli/studio/web/_next/static/chunks/5958.e2f981fa3cba5d99.js +0 -1
  300. veadk/cli/studio/web/_next/static/chunks/60f90b65.d526f39688baa769.js +0 -1
  301. veadk/cli/studio/web/_next/static/chunks/6128.3da302fb50769250.js +0 -1
  302. veadk/cli/studio/web/_next/static/chunks/62.5408e55d383a8078.js +0 -1
  303. veadk/cli/studio/web/_next/static/chunks/624.7c7198473a8877d8.js +0 -1
  304. veadk/cli/studio/web/_next/static/chunks/6264.e7bdd878d9e7a249.js +0 -1
  305. veadk/cli/studio/web/_next/static/chunks/6266.97409ca00a3c32d9.js +0 -1
  306. veadk/cli/studio/web/_next/static/chunks/6269.668be917daafccaa.js +0 -1
  307. veadk/cli/studio/web/_next/static/chunks/630.87a6f22ac3e8956b.js +0 -1
  308. veadk/cli/studio/web/_next/static/chunks/6341.35afa02112051be8.js +0 -1
  309. veadk/cli/studio/web/_next/static/chunks/6353.93869a804ffe525b.js +0 -1
  310. veadk/cli/studio/web/_next/static/chunks/6375.46d2897cb2526abd.js +0 -1
  311. veadk/cli/studio/web/_next/static/chunks/6395.f113970ceec6ba91.js +0 -1
  312. veadk/cli/studio/web/_next/static/chunks/63d31579-18fb2181524a9c6f.js +0 -1
  313. veadk/cli/studio/web/_next/static/chunks/6423.d4cf9eb5b2ae6336.js +0 -1
  314. veadk/cli/studio/web/_next/static/chunks/6437.5eeaa7320bce1872.js +0 -1
  315. veadk/cli/studio/web/_next/static/chunks/6438.1c8486cc62da4117.js +0 -1
  316. veadk/cli/studio/web/_next/static/chunks/6451.f56cce0a07138982.js +0 -1
  317. veadk/cli/studio/web/_next/static/chunks/6456.f263b33ea51e4f54.js +0 -1
  318. veadk/cli/studio/web/_next/static/chunks/6504.0e6ae8d5bb987be6.js +0 -1
  319. veadk/cli/studio/web/_next/static/chunks/6560.b08504c0d99d71d4.js +0 -1
  320. veadk/cli/studio/web/_next/static/chunks/6563.e6d3bdba9860590d.js +0 -1
  321. veadk/cli/studio/web/_next/static/chunks/6621.639e4057d9c15bea.js +0 -1
  322. veadk/cli/studio/web/_next/static/chunks/6625.c0233245d2c1ef25.js +0 -1
  323. veadk/cli/studio/web/_next/static/chunks/6641.5487a2d68b0c52f2.js +0 -1
  324. veadk/cli/studio/web/_next/static/chunks/6644.74de9f2de2dc75f5.js +0 -1
  325. veadk/cli/studio/web/_next/static/chunks/6730.aac5bd02aab8258f.js +0 -1
  326. veadk/cli/studio/web/_next/static/chunks/6824.8c40dbd3eb390403.js +0 -1
  327. veadk/cli/studio/web/_next/static/chunks/6831.74b4a9b75f4ff9d1.js +0 -1
  328. veadk/cli/studio/web/_next/static/chunks/688.9a27292bd19bc993.js +0 -1
  329. veadk/cli/studio/web/_next/static/chunks/6899.ac4207b9a778bd0e.js +0 -1
  330. veadk/cli/studio/web/_next/static/chunks/6901.4755ed550912589c.js +0 -1
  331. veadk/cli/studio/web/_next/static/chunks/6910.5d45b17e287dba94.js +0 -1
  332. veadk/cli/studio/web/_next/static/chunks/6928.d0a540480df90930.js +0 -1
  333. veadk/cli/studio/web/_next/static/chunks/6958.c58e8e991b201429.js +0 -1
  334. veadk/cli/studio/web/_next/static/chunks/6d60d248-1bbd761ee88ab2e4.js +0 -1
  335. veadk/cli/studio/web/_next/static/chunks/70207789-862965aac548ab2a.js +0 -1
  336. veadk/cli/studio/web/_next/static/chunks/7046.60a892c1e506cf5f.js +0 -1
  337. veadk/cli/studio/web/_next/static/chunks/7068.6639b51e828de233.js +0 -1
  338. veadk/cli/studio/web/_next/static/chunks/7172.aeda2e49d81fc0fd.js +0 -1
  339. veadk/cli/studio/web/_next/static/chunks/7185.0210768f3918ec41.js +0 -1
  340. veadk/cli/studio/web/_next/static/chunks/7200.86e672d8e2c1a920.js +0 -1
  341. veadk/cli/studio/web/_next/static/chunks/730.2c5e46bf8fd29fcc.js +0 -1
  342. veadk/cli/studio/web/_next/static/chunks/7301.43929cd9c2a5d2ea.js +0 -1
  343. veadk/cli/studio/web/_next/static/chunks/7335.68692b193fa0dff6.js +0 -1
  344. veadk/cli/studio/web/_next/static/chunks/7412.98554f6ee574e288.js +0 -1
  345. veadk/cli/studio/web/_next/static/chunks/7422.e4a69fce6694ba90.js +0 -1
  346. veadk/cli/studio/web/_next/static/chunks/7448.63e7b8d5fd090bd1.js +0 -1
  347. veadk/cli/studio/web/_next/static/chunks/7479.97f696c6ada04b29.js +0 -1
  348. veadk/cli/studio/web/_next/static/chunks/7482.ab6a217c34f6934a.js +0 -1
  349. veadk/cli/studio/web/_next/static/chunks/7484.b91675bd38b250f8.js +0 -1
  350. veadk/cli/studio/web/_next/static/chunks/7522.84dac217ae0701ac.js +0 -1
  351. veadk/cli/studio/web/_next/static/chunks/7540-38c13446d29f43f2.js +0 -1
  352. veadk/cli/studio/web/_next/static/chunks/7556.ae47807e378de233.js +0 -1
  353. veadk/cli/studio/web/_next/static/chunks/761.2ce77249f8d3a1ce.js +0 -1
  354. veadk/cli/studio/web/_next/static/chunks/7678.ceea70830f2dd7ff.js +0 -1
  355. veadk/cli/studio/web/_next/static/chunks/7684.c43e4b5ad1f9b0af.js +0 -1
  356. veadk/cli/studio/web/_next/static/chunks/7698.44201098b212aee8.js +0 -1
  357. veadk/cli/studio/web/_next/static/chunks/76ff44ea.8322bdedaee78e2d.js +0 -1
  358. veadk/cli/studio/web/_next/static/chunks/7725.b15cb8b6e1d15403.js +0 -1
  359. veadk/cli/studio/web/_next/static/chunks/7855.513a507852c649f2.js +0 -1
  360. veadk/cli/studio/web/_next/static/chunks/7910.266df3f992c16215.js +0 -1
  361. veadk/cli/studio/web/_next/static/chunks/7940.f490f3d5e6590e54.js +0 -1
  362. veadk/cli/studio/web/_next/static/chunks/7960.491bd15bef82755c.js +0 -1
  363. veadk/cli/studio/web/_next/static/chunks/8020.795778775ed5c387.js +0 -1
  364. veadk/cli/studio/web/_next/static/chunks/8107.fbb6017b3e909da5.js +0 -1
  365. veadk/cli/studio/web/_next/static/chunks/8169.4d7fd139784eb935.js +0 -1
  366. veadk/cli/studio/web/_next/static/chunks/8196.6c5c3dfe86e1c3ca.js +0 -1
  367. veadk/cli/studio/web/_next/static/chunks/8257.ee682bc2599473cb.js +0 -1
  368. veadk/cli/studio/web/_next/static/chunks/8305.d2c965e56fe9350c.js +0 -1
  369. veadk/cli/studio/web/_next/static/chunks/8324.8c3edcc756f5e2f3.js +0 -1
  370. veadk/cli/studio/web/_next/static/chunks/8388.cc59fb03d62a71cf.js +0 -1
  371. veadk/cli/studio/web/_next/static/chunks/8394.d5ca17ce8f6fffb0.js +0 -1
  372. veadk/cli/studio/web/_next/static/chunks/8419.b11c64d18dc580b5.js +0 -1
  373. veadk/cli/studio/web/_next/static/chunks/8478.5f4272ae9afa4061.js +0 -1
  374. veadk/cli/studio/web/_next/static/chunks/8480.a071150cb4eddc29.js +0 -1
  375. veadk/cli/studio/web/_next/static/chunks/8535.0ab856b7bf0e161b.js +0 -1
  376. veadk/cli/studio/web/_next/static/chunks/8571.8af7983b03c09f86.js +0 -1
  377. veadk/cli/studio/web/_next/static/chunks/8583.4afa8c68cb867b2d.js +0 -1
  378. veadk/cli/studio/web/_next/static/chunks/8601.520cbfc8abbfb5f8.js +0 -1
  379. veadk/cli/studio/web/_next/static/chunks/8656.5f8b6212d2b35257.js +0 -1
  380. veadk/cli/studio/web/_next/static/chunks/8665.7f24febc4a78ff5e.js +0 -1
  381. veadk/cli/studio/web/_next/static/chunks/8687.c94010eb559245b6.js +0 -1
  382. veadk/cli/studio/web/_next/static/chunks/8815.81a5c5700763ca02.js +0 -1
  383. veadk/cli/studio/web/_next/static/chunks/8878.28a43a5fe23f5bd0.js +0 -1
  384. veadk/cli/studio/web/_next/static/chunks/8884.e4e411c7978b2552.js +0 -1
  385. veadk/cli/studio/web/_next/static/chunks/8962.db5c7728bef5ff0b.js +0 -1
  386. veadk/cli/studio/web/_next/static/chunks/8984.dfcb15f115089c4a.js +0 -1
  387. veadk/cli/studio/web/_next/static/chunks/9022.d161e32a6b1bcc61.js +0 -1
  388. veadk/cli/studio/web/_next/static/chunks/9099.8ba5be825d17456a.js +0 -1
  389. veadk/cli/studio/web/_next/static/chunks/914.72991ff6c9332951.js +0 -1
  390. veadk/cli/studio/web/_next/static/chunks/9217.40b78a38cadcd268.js +0 -1
  391. veadk/cli/studio/web/_next/static/chunks/925.0cc74592f03b10e9.js +0 -1
  392. veadk/cli/studio/web/_next/static/chunks/9275.ac60c49c68c86e51.js +0 -1
  393. veadk/cli/studio/web/_next/static/chunks/92a17e6d.da4fba322f70cd46.js +0 -1
  394. veadk/cli/studio/web/_next/static/chunks/92b95f17.39f98387a9867b4a.js +0 -1
  395. veadk/cli/studio/web/_next/static/chunks/9361.d3535e4d87c1c527.js +0 -1
  396. veadk/cli/studio/web/_next/static/chunks/9433.55eb6e4ea7edb262.js +0 -1
  397. veadk/cli/studio/web/_next/static/chunks/9436.5b2462fa3ddebb27.js +0 -1
  398. veadk/cli/studio/web/_next/static/chunks/9445.e29312f685c22eff.js +0 -1
  399. veadk/cli/studio/web/_next/static/chunks/9471.646bdfb962cdd5c2.js +0 -1
  400. veadk/cli/studio/web/_next/static/chunks/9473.efa6db413edc23d1.js +0 -1
  401. veadk/cli/studio/web/_next/static/chunks/9484.e9f1cd4e3f8e75df.js +0 -1
  402. veadk/cli/studio/web/_next/static/chunks/9545.61026f3c11f914f2.js +0 -1
  403. veadk/cli/studio/web/_next/static/chunks/9555.287e4e4a50087d62.js +0 -1
  404. veadk/cli/studio/web/_next/static/chunks/963.da40bca273fb82c6.js +0 -1
  405. veadk/cli/studio/web/_next/static/chunks/9636.4d3678b9a4e0b46e.js +0 -1
  406. veadk/cli/studio/web/_next/static/chunks/9657.459d6300b0bc8ef8.js +0 -1
  407. veadk/cli/studio/web/_next/static/chunks/9676.cef4d87274c64417.js +0 -1
  408. veadk/cli/studio/web/_next/static/chunks/97.15df9ee2f6270421.js +0 -1
  409. veadk/cli/studio/web/_next/static/chunks/9754.76a3ea33dc0e9a07.js +0 -1
  410. veadk/cli/studio/web/_next/static/chunks/9790.7e01549d70279760.js +0 -1
  411. veadk/cli/studio/web/_next/static/chunks/9871.994068e90ef076a5.js +0 -1
  412. veadk/cli/studio/web/_next/static/chunks/9887.0fbd7c3721a3c1d1.js +0 -1
  413. veadk/cli/studio/web/_next/static/chunks/9923.14c88b64d7749eaa.js +0 -1
  414. veadk/cli/studio/web/_next/static/chunks/997.193727d4b2eede68.js +0 -1
  415. veadk/cli/studio/web/_next/static/chunks/9971.36f503837f73d3c2.js +0 -1
  416. veadk/cli/studio/web/_next/static/chunks/9976.ab4ec59ede08f398.js +0 -1
  417. veadk/cli/studio/web/_next/static/chunks/9990.13e025853b0250b6.js +0 -1
  418. veadk/cli/studio/web/_next/static/chunks/9997.a844d058b46bb680.js +0 -1
  419. veadk/cli/studio/web/_next/static/chunks/app/_not-found/page-ce05b36a67c37396.js +0 -1
  420. veadk/cli/studio/web/_next/static/chunks/app/layout-b0d50d105c55fd6d.js +0 -1
  421. veadk/cli/studio/web/_next/static/chunks/app/page-7b51d29c96f44f61.js +0 -1
  422. veadk/cli/studio/web/_next/static/chunks/app/run/page-c2cd4dca690d6d29.js +0 -1
  423. veadk/cli/studio/web/_next/static/chunks/c06218ab.b1da50a91b579a52.js +0 -1
  424. veadk/cli/studio/web/_next/static/chunks/c911d7bd.bcca2e3dda67a7a6.js +0 -1
  425. veadk/cli/studio/web/_next/static/chunks/d386b14e.c746c93eac03a58e.js +0 -1
  426. veadk/cli/studio/web/_next/static/chunks/e925550e.ff706051f5223d26.js +0 -1
  427. veadk/cli/studio/web/_next/static/chunks/fc645be4-662fd2da08676daa.js +0 -1
  428. veadk/cli/studio/web/_next/static/chunks/framework-2b8e4864be10152d.js +0 -1
  429. veadk/cli/studio/web/_next/static/chunks/main-33072985ea766514.js +0 -1
  430. veadk/cli/studio/web/_next/static/chunks/main-app-4a8ccba13aa7606b.js +0 -1
  431. veadk/cli/studio/web/_next/static/chunks/pages/_app-c0ae3ec92f260128.js +0 -1
  432. veadk/cli/studio/web/_next/static/chunks/pages/_error-899a04d491d7df58.js +0 -1
  433. veadk/cli/studio/web/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  434. veadk/cli/studio/web/_next/static/chunks/webpack-14afc8861a1fe293.js +0 -1
  435. veadk/cli/studio/web/_next/static/css/366cfdd7fdd8bcac.css +0 -1
  436. veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_buildManifest.js +0 -1
  437. veadk/cli/studio/web/_next/static/gvLvin_lQcpkhQupQqPu1/_ssgManifest.js +0 -1
  438. veadk/cli/studio/web/_next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
  439. veadk/cli/studio/web/_next/static/media/747892c23ea88013-s.woff2 +0 -0
  440. veadk/cli/studio/web/_next/static/media/8d697b304b401681-s.woff2 +0 -0
  441. veadk/cli/studio/web/_next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
  442. veadk/cli/studio/web/_next/static/media/9610d9e46709d722-s.woff2 +0 -0
  443. veadk/cli/studio/web/_next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
  444. veadk/cli/studio/web/favicon.ico +0 -0
  445. veadk/cli/studio/web/file.svg +0 -1
  446. veadk/cli/studio/web/globe.svg +0 -1
  447. veadk/cli/studio/web/index.html +0 -1
  448. veadk/cli/studio/web/index.txt +0 -43
  449. veadk/cli/studio/web/next.svg +0 -1
  450. veadk/cli/studio/web/run.html +0 -1
  451. veadk/cli/studio/web/run.txt +0 -44
  452. veadk/cli/studio/web/veadk-logo.png +0 -0
  453. veadk/cli/studio/web/vercel.svg +0 -1
  454. veadk/cli/studio/web/window.svg +0 -1
  455. veadk/tracing/telemetry/exporters/apiserver_exporter.py +0 -60
  456. veadk_python-0.2.1.dist-info/RECORD +0 -534
  457. veadk_python-0.2.1.dist-info/entry_points.txt +0 -2
  458. /veadk/{cli/services/vefaas/template → integrations/ve_apig}/__init__.py +0 -0
  459. /veadk/{cli/services/veapig → integrations/ve_apig}/__pycache__/apig.cpython-310.pyc +0 -0
  460. /veadk/{cli/services/veapig/apig.py → integrations/ve_apig/ve_apig.py} +0 -0
  461. /veadk/{cli/services/veapig/apig_utils.py → integrations/ve_apig/ve_apig_utils.py} +0 -0
  462. /veadk/{cli/studio → integrations/ve_faas}/__init__.py +0 -0
  463. /veadk/{cli/services/vefaas → integrations/ve_faas}/__pycache__/vefaas_utils.cpython-310.pyc +0 -0
  464. /veadk/{cli/studio/web → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/__init__.py +0 -0
  465. /veadk/{cli/services/vefaas/template → integrations/ve_faas/template/{{cookiecutter.local_dir_name}}}/src/__pycache__/studio_app.cpython-310.pyc +0 -0
  466. /veadk/{cli/services/vefaas/vefaas_utils.py → integrations/ve_faas/ve_faas_utils.py} +0 -0
  467. /veadk/{cli/services/agentpilot → integrations/ve_prompt_pilot}/__pycache__/__init__.cpython-310.pyc +0 -0
  468. {veadk_python-0.2.1.dist-info → veadk_python-0.2.2.dist-info}/WHEEL +0 -0
  469. {veadk_python-0.2.1.dist-info → veadk_python-0.2.2.dist-info}/licenses/LICENSE +0 -0
  470. {veadk_python-0.2.1.dist-info → veadk_python-0.2.2.dist-info}/top_level.txt +0 -0
@@ -51,13 +51,16 @@ class ShortTermMemoryProcessor:
51
51
  messages = []
52
52
  for event in session.events:
53
53
  content = event.content
54
+ if not content or not content.parts:
55
+ continue
54
56
  message = {
55
57
  "role": content.role,
56
58
  "content": content.parts[0].text,
57
59
  }
58
60
  messages.append(message)
59
61
 
60
- prompt = render_prompt(messages=str(messages))
62
+ prompt = render_prompt(messages=messages)
63
+
61
64
  res = completion(
62
65
  model=getenv("MODEL_AGENT_PROVIDER") + "/" + getenv("MODEL_AGENT_NAME"),
63
66
  base_url=getenv("MODEL_AGENT_API_BASE"),
@@ -69,7 +72,9 @@ class ShortTermMemoryProcessor:
69
72
  }
70
73
  ],
71
74
  )
72
- extracted_messages = json.loads(res.choices[0].message.content)
75
+ logger.debug(f"Response from memory optimization model: {res}")
76
+
77
+ extracted_messages = json.loads(res.choices[0].message.content) # type: ignore
73
78
  logger.debug(f"Abstracted messages: {extracted_messages}")
74
79
 
75
80
  session.events = []
@@ -112,33 +112,26 @@ def render_prompt_with_jinja2(agent: Agent):
112
112
 
113
113
  tools = []
114
114
  for tool in agent.tools:
115
+ _tool_type = ""
116
+ _tools = []
115
117
  if isinstance(tool, Callable):
116
- type = "function"
117
-
118
- _tool = FunctionTool(tool)
119
- tools.append(
120
- {
121
- "name": _tool.name,
122
- "description": _tool.description,
123
- "arguments": str(
124
- _tool._get_declaration().model_dump()["parameters"]
125
- ),
126
- "type": type,
127
- }
128
- )
129
- elif isinstance(tool, MCPToolset):
130
- type = "tool"
118
+ _tool_type = "function"
119
+ _tools = [FunctionTool(tool)]
131
120
 
121
+ elif isinstance(tool, MCPToolset):
122
+ _tool_type = "tool"
132
123
  _tools = asyncio.run(tool.get_tools())
133
- for _tool in _tools:
124
+
125
+ for _tool in _tools:
126
+ if _tool and _tool._get_declaration():
134
127
  tools.append(
135
128
  {
136
129
  "name": _tool.name,
137
130
  "description": _tool.description,
138
131
  "arguments": str(
139
- _tool._get_declaration().model_dump()["parameters"]
132
+ _tool._get_declaration().model_dump()["parameters"] # type: ignore
140
133
  ),
141
- "type": type,
134
+ "type": _tool_type,
142
135
  }
143
136
  )
144
137
 
@@ -148,7 +141,6 @@ def render_prompt_with_jinja2(agent: Agent):
148
141
  "name": agent.name,
149
142
  "model": agent.model_name,
150
143
  "description": agent.description,
151
- # "tools": str(agent.tools),
152
144
  },
153
145
  "tools": tools,
154
146
  }
veadk/runner.py CHANGED
@@ -57,12 +57,14 @@ class Runner:
57
57
  self.short_term_memory = short_term_memory
58
58
  self.session_service = short_term_memory.session_service
59
59
 
60
+ # prevent VeRemoteAgent has no long-term memory attr
60
61
  if isinstance(self.agent, Agent):
61
62
  self.long_term_memory = self.agent.long_term_memory
63
+ for tracer in self.agent.tracers:
64
+ tracer.set_app_name(self.app_name)
62
65
  else:
63
66
  self.long_term_memory = None
64
67
 
65
- # maintain a in-memory runner for fast inference
66
68
  self.runner = ADKRunner(
67
69
  app_name=self.app_name,
68
70
  agent=self.agent,
@@ -70,10 +72,6 @@ class Runner:
70
72
  memory_service=self.long_term_memory,
71
73
  )
72
74
 
73
- if getattr(self.agent, "tracers", None):
74
- for tracers in self.agent.tracers:
75
- tracers.set_app_name(self.app_name)
76
-
77
75
  def _convert_messages(self, messages) -> list:
78
76
  if isinstance(messages, str):
79
77
  messages = [types.Content(role="user", parts=[types.Part(text=messages)])]
@@ -126,6 +124,7 @@ class Runner:
126
124
  logger.debug(f"Function call: {function_call}")
127
125
  elif (
128
126
  event.content is not None
127
+ and event.content.parts
129
128
  and event.content.parts[0].text is not None
130
129
  and len(event.content.parts[0].text.strip()) > 0
131
130
  ):
@@ -146,8 +145,9 @@ class Runner:
146
145
  messages: RunnerMessage,
147
146
  session_id: str,
148
147
  stream: bool = False,
148
+ save_tracing_data: bool = False,
149
149
  ):
150
- messages: list = self._convert_messages(messages)
150
+ converted_messages: list = self._convert_messages(messages)
151
151
 
152
152
  await self.short_term_memory.create_session(
153
153
  app_name=self.app_name, user_id=self.user_id, session_id=session_id
@@ -156,23 +156,32 @@ class Runner:
156
156
  logger.info("Begin to process user messages.")
157
157
 
158
158
  final_output = ""
159
- for message in messages:
160
- final_output = await self._run(session_id, message, stream)
159
+ for converted_message in converted_messages:
160
+ final_output = await self._run(session_id, converted_message, stream)
161
161
 
162
162
  # try to save tracing file
163
- if isinstance(self.agent, Agent):
163
+ if save_tracing_data:
164
164
  self.save_tracing_file(session_id)
165
165
 
166
166
  return final_output
167
167
 
168
168
  def save_tracing_file(self, session_id: str) -> str:
169
+ if not isinstance(self.agent, Agent):
170
+ logger.warning(
171
+ (
172
+ "The agent is not an instance of VeADK Agent, cannot save tracing file."
173
+ )
174
+ )
175
+ return ""
176
+
169
177
  if not self.agent.tracers:
170
- return
178
+ logger.warning("No tracer is configured in the agent.")
179
+ return ""
171
180
 
172
181
  try:
173
182
  dump_path = ""
174
183
  for tracer in self.agent.tracers:
175
- dump_path = tracer.dump(self.user_id, session_id)
184
+ dump_path = tracer.dump(user_id=self.user_id, session_id=session_id)
176
185
 
177
186
  return dump_path
178
187
  except Exception as e:
@@ -196,61 +205,69 @@ class Runner:
196
205
  user_id=self.user_id,
197
206
  session_id=session_id,
198
207
  )
199
- await self.long_term_memory.add_session_to_memory(session)
200
- logger.info(f"Add session `{session.id}` to long-term memory.")
201
-
202
- async def run_with_final_event(
203
- self,
204
- messages: RunnerMessage,
205
- session_id: str,
206
- ):
207
- """non-streaming run with final event"""
208
- messages: list = self._convert_messages(messages)
209
-
210
- await self.short_term_memory.create_session(
211
- app_name=self.app_name, user_id=self.user_id, session_id=session_id
212
- )
213
-
214
- logger.info("Begin to process user messages.")
215
-
216
- final_event = ""
217
- async for event in self.runner.run_async(
218
- user_id=self.user_id, session_id=session_id, new_message=messages[0]
219
- ):
220
- if event.get_function_calls():
221
- for function_call in event.get_function_calls():
222
- logger.debug(f"Function call: {function_call}")
223
- elif (
224
- not event.partial
225
- and event.content.parts[0].text is not None
226
- and len(event.content.parts[0].text.strip()) > 0
227
- ):
228
- final_event = event.model_dump_json(exclude_none=True, by_alias=True)
229
-
230
- return final_event
231
-
232
- async def run_sse(
233
- self,
234
- session_id: str,
235
- prompt: str,
236
- ):
237
- message = types.Content(role="user", parts=[types.Part(text=prompt)])
238
-
239
- await self.short_term_memory.create_session(
240
- app_name=self.app_name, user_id=self.user_id, session_id=session_id
241
- )
242
-
243
- logger.info("Begin to process user messages under SSE method.")
208
+ if not session:
209
+ logger.error(
210
+ f"Session {session_id} not found in session service, cannot save to long-term memory."
211
+ )
212
+ return
244
213
 
245
- async for event in self.runner.run_async(
246
- user_id=self.user_id,
247
- session_id=session_id,
248
- new_message=message,
249
- run_config=RunConfig(streaming_mode=StreamingMode.SSE),
250
- ):
251
- # Format as SSE data
252
- sse_event = event.model_dump_json(exclude_none=True, by_alias=True)
253
- if event.get_function_calls():
254
- for function_call in event.get_function_calls():
255
- logger.debug(f"SSE function call event: {sse_event}")
256
- yield f"data: {sse_event}\n\n"
214
+ await self.long_term_memory.add_session_to_memory(session)
215
+ logger.info(f"Add session `{session.id}` to long term memory.")
216
+
217
+ # [deprecated] we will not host a chat-service in VeADK, so the following two methods are deprecated
218
+
219
+ # async def run_with_final_event(
220
+ # self,
221
+ # messages: RunnerMessage,
222
+ # session_id: str,
223
+ # ):
224
+ # """non-streaming run with final event"""
225
+ # messages: list = self._convert_messages(messages)
226
+
227
+ # await self.short_term_memory.create_session(
228
+ # app_name=self.app_name, user_id=self.user_id, session_id=session_id
229
+ # )
230
+
231
+ # logger.info("Begin to process user messages.")
232
+
233
+ # final_event = ""
234
+ # async for event in self.runner.run_async(
235
+ # user_id=self.user_id, session_id=session_id, new_message=messages[0]
236
+ # ):
237
+ # if event.get_function_calls():
238
+ # for function_call in event.get_function_calls():
239
+ # logger.debug(f"Function call: {function_call}")
240
+ # elif (
241
+ # not event.partial
242
+ # and event.content.parts[0].text is not None
243
+ # and len(event.content.parts[0].text.strip()) > 0
244
+ # ):
245
+ # final_event = event.model_dump_json(exclude_none=True, by_alias=True)
246
+
247
+ # return final_event
248
+
249
+ # async def run_sse(
250
+ # self,
251
+ # session_id: str,
252
+ # prompt: str,
253
+ # ):
254
+ # message = types.Content(role="user", parts=[types.Part(text=prompt)])
255
+
256
+ # await self.short_term_memory.create_session(
257
+ # app_name=self.app_name, user_id=self.user_id, session_id=session_id
258
+ # )
259
+
260
+ # logger.info("Begin to process user messages under SSE method.")
261
+
262
+ # async for event in self.runner.run_async(
263
+ # user_id=self.user_id,
264
+ # session_id=session_id,
265
+ # new_message=message,
266
+ # run_config=RunConfig(streaming_mode=StreamingMode.SSE),
267
+ # ):
268
+ # # Format as SSE data
269
+ # sse_event = event.model_dump_json(exclude_none=True, by_alias=True)
270
+ # if event.get_function_calls():
271
+ # for function_call in event.get_function_calls():
272
+ # logger.debug(f"SSE function call event: {sse_event}")
273
+ # yield f"data: {sse_event}\n\n"
@@ -26,7 +26,7 @@ from typing_extensions import override
26
26
  from veadk.knowledgebase import KnowledgeBase
27
27
 
28
28
  if TYPE_CHECKING:
29
- from google.adk.models import LlmRequest
29
+ from google.adk.models.llm_request import LlmRequest
30
30
 
31
31
 
32
32
  knowledgebase: KnowledgeBase | None = None
@@ -85,7 +85,8 @@ async def load_knowledgebase(
85
85
  Returns:
86
86
  A list of knowledgebase results.
87
87
  """
88
- search_knowledgebase_response = await tool_context.search_knowledgebase(
88
+
89
+ search_knowledgebase_response = await tool_context.search_knowledgebase( # type: ignore[attr-defined]
89
90
  query, tool_context._invocation_context.app_name
90
91
  )
91
92
  return LoadKnowledgebaseResponse(
@@ -14,10 +14,11 @@
14
14
 
15
15
  import json
16
16
  from abc import ABC, abstractmethod
17
- from typing import Optional, Any
17
+ from typing import Any, Optional
18
18
 
19
19
  from google.adk.agents.callback_context import CallbackContext
20
- from google.adk.models import LlmRequest, LlmResponse
20
+ from google.adk.models.llm_request import LlmRequest
21
+ from google.adk.models.llm_response import LlmResponse
21
22
  from google.adk.tools import BaseTool, ToolContext
22
23
  from opentelemetry import trace
23
24
 
@@ -32,7 +33,7 @@ class BaseTracer(ABC):
32
33
  pass
33
34
 
34
35
  @abstractmethod
35
- def dump(self) -> str: ...
36
+ def dump(self, user_id: str, session_id: str, path: str = "/tmp") -> str: ...
36
37
 
37
38
  def tracer_hook_before_model(
38
39
  self, callback_context: CallbackContext, llm_request: LlmRequest
@@ -107,22 +108,18 @@ class BaseTracer(ABC):
107
108
  agent_name = callback_context.agent_name
108
109
  attributes["agent.name"] = agent_name
109
110
  attributes["app.name"] = app_name
111
+
110
112
  # prompt
111
113
  user_content = callback_context.user_content
114
+ role = None
115
+ content = None
112
116
  if getattr(user_content, "role", None):
113
117
  role = getattr(user_content, "role", None)
114
- else:
115
- role = None
116
- if getattr(user_content, "parts", None):
117
- content = callback_context.user_content.model_dump(exclude_none=True).get(
118
- "parts", None
119
- )
120
- if content:
121
- content = json.dumps(content)
122
- else:
123
- content = None
124
- else:
125
- content = None
118
+
119
+ if user_content and getattr(user_content, "parts", None):
120
+ content = user_content.model_dump(exclude_none=True).get("parts", None)
121
+ content = json.dumps(content) if content else None
122
+
126
123
  if role and content:
127
124
  attributes["gen_ai.prompt.0.role"] = role
128
125
  attributes["gen_ai.prompt.0.content"] = content
@@ -211,3 +208,18 @@ class BaseTracer(ABC):
211
208
 
212
209
  def set_app_name(self, app_name):
213
210
  self.app_name = app_name
211
+
212
+ def do_hooks(self, agent) -> None:
213
+ if not getattr(agent, "before_model_callback", None):
214
+ agent.before_model_callback = []
215
+ if not getattr(agent, "after_model_callback", None):
216
+ agent.after_model_callback = []
217
+ if not getattr(agent, "after_tool_callback", None):
218
+ agent.after_tool_callback = []
219
+
220
+ if self.tracer_hook_before_model not in agent.before_model_callback:
221
+ agent.before_model_callback.append(self.tracer_hook_before_model)
222
+ if self.tracer_hook_after_model not in agent.after_model_callback:
223
+ agent.after_model_callback.append(self.tracer_hook_after_model)
224
+ if self.tracer_hook_after_tool not in agent.after_tool_callback:
225
+ agent.after_tool_callback.append(self.tracer_hook_after_tool)
@@ -32,18 +32,15 @@ logger = get_logger(__name__)
32
32
 
33
33
  class APMPlusExporterConfig(BaseModel):
34
34
  endpoint: str = Field(
35
- ...,
36
35
  default_factory=lambda: getenv(
37
36
  "OBSERVABILITY_OPENTELEMETRY_APMPLUS_ENDPOINT",
38
37
  "http://apmplus-cn-beijing.volces.com:4317",
39
38
  ),
40
39
  )
41
40
  app_key: str = Field(
42
- ...,
43
41
  default_factory=lambda: getenv("OBSERVABILITY_OPENTELEMETRY_APMPLUS_API_KEY"),
44
42
  )
45
43
  service_name: str = Field(
46
- ...,
47
44
  default_factory=lambda: getenv(
48
45
  "OBSERVABILITY_OPENTELEMETRY_APMPLUS_SERVICE_NAME",
49
46
  "veadk_tracing_service",
@@ -26,3 +26,6 @@ class BaseExporter(ABC):
26
26
 
27
27
  def get_meter_context(self) -> Any:
28
28
  pass
29
+
30
+ def export(self) -> None:
31
+ pass
@@ -26,20 +26,17 @@ logger = get_logger(__name__)
26
26
 
27
27
  class CozeloopExporterConfig(BaseModel):
28
28
  endpoint: str = Field(
29
- ...,
30
29
  default_factory=lambda: getenv(
31
30
  "OBSERVABILITY_OPENTELEMETRY_COZELOOP_ENDPOINT",
32
31
  "https://api.coze.cn/v1/loop/opentelemetry/v1/traces",
33
32
  ),
34
33
  )
35
34
  space_id: str = Field(
36
- ...,
37
35
  default_factory=lambda: getenv(
38
36
  "OBSERVABILITY_OPENTELEMETRY_COZELOOP_SERVICE_NAME"
39
37
  ),
40
38
  )
41
39
  token: str = Field(
42
- ...,
43
40
  default_factory=lambda: getenv("OBSERVABILITY_OPENTELEMETRY_COZELOOP_API_KEY"),
44
41
  )
45
42
 
@@ -20,6 +20,9 @@ from pydantic import BaseModel
20
20
  from typing_extensions import override
21
21
 
22
22
  from veadk.tracing.telemetry.exporters.base_exporter import BaseExporter
23
+ from veadk.utils.logger import get_logger
24
+
25
+ logger = get_logger(__name__)
23
26
 
24
27
 
25
28
  # ======== Adapted from Google ADK ========
@@ -35,10 +38,16 @@ class _InMemoryExporter(export.SpanExporter):
35
38
  @override
36
39
  def export(self, spans: typing.Sequence[ReadableSpan]) -> export.SpanExportResult:
37
40
  for span in spans:
38
- trace_id = span.context.trace_id
39
- self.trace_id = trace_id
41
+ if span.context:
42
+ trace_id = span.context.trace_id
43
+ self.trace_id = trace_id
44
+ else:
45
+ logger.warning(
46
+ f"Span context is missing, failed to get `trace_id`. span: {span}"
47
+ )
48
+
40
49
  if span.name == "call_llm":
41
- attributes = dict(span.attributes)
50
+ attributes = dict(span.attributes or {})
42
51
  prompt_token = attributes.get("gen_ai.usage.prompt_tokens", None)
43
52
  completion_token = attributes.get(
44
53
  "gen_ai.usage.completion_tokens", None
@@ -48,7 +57,7 @@ class _InMemoryExporter(export.SpanExporter):
48
57
  if completion_token:
49
58
  self.completion_tokens.append(completion_token)
50
59
  if span.name == "call_llm":
51
- attributes = dict(span.attributes)
60
+ attributes = dict(span.attributes or {})
52
61
  session_id = attributes.get("gcp.vertex.agent.session_id", None)
53
62
  if session_id:
54
63
  if session_id not in self.session_trace_dict:
@@ -26,29 +26,22 @@ logger = get_logger(__name__)
26
26
 
27
27
  class TLSExporterConfig(BaseModel):
28
28
  endpoint: str = Field(
29
- ...,
30
29
  default_factory=lambda: getenv(
31
30
  "OBSERVABILITY_OPENTELEMETRY_TLS_ENDPOINT",
32
31
  "https://tls-cn-beijing.volces.com:4318/v1/traces",
33
32
  ),
34
33
  )
35
34
  region: str = Field(
36
- ...,
37
35
  default_factory=lambda: getenv(
38
36
  "OBSERVABILITY_OPENTELEMETRY_TLS_REGION",
39
37
  "cn-beijing",
40
38
  ),
41
39
  )
42
40
  topic_id: str = Field(
43
- ...,
44
41
  default_factory=lambda: getenv("OBSERVABILITY_OPENTELEMETRY_TLS_SERVICE_NAME"),
45
42
  )
46
- access_key: str = Field(
47
- ..., default_factory=lambda: getenv("VOLCENGINE_ACCESS_KEY")
48
- )
49
- secret_key: str = Field(
50
- ..., default_factory=lambda: getenv("VOLCENGINE_SECRET_KEY")
51
- )
43
+ access_key: str = Field(default_factory=lambda: getenv("VOLCENGINE_ACCESS_KEY"))
44
+ secret_key: str = Field(default_factory=lambda: getenv("VOLCENGINE_SECRET_KEY"))
52
45
 
53
46
 
54
47
  class TLSExporter(BaseModel, BaseExporter):
@@ -20,6 +20,7 @@ from typing import Any
20
20
 
21
21
  from openinference.instrumentation.google_adk import GoogleADKInstrumentor
22
22
  from opentelemetry import trace as trace_api
23
+ from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
23
24
  from opentelemetry.sdk import trace as trace_sdk
24
25
  from opentelemetry.sdk.resources import Resource
25
26
  from opentelemetry.sdk.trace import TracerProvider
@@ -28,7 +29,6 @@ from pydantic import BaseModel, ConfigDict, Field
28
29
  from typing_extensions import override
29
30
 
30
31
  from veadk.tracing.base_tracer import BaseTracer
31
- from veadk.tracing.telemetry.exporters.apiserver_exporter import ApiServerExporter
32
32
  from veadk.tracing.telemetry.exporters.apmplus_exporter import APMPlusExporter
33
33
  from veadk.tracing.telemetry.exporters.base_exporter import BaseExporter
34
34
  from veadk.tracing.telemetry.exporters.inmemory_exporter import InMemoryExporter
@@ -96,48 +96,34 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
96
96
  GoogleADKInstrumentor().instrument()
97
97
 
98
98
  def _init_tracer_provider(self) -> None:
99
- # 1. get global trace provider
100
- global_tracer_provider = trace_api.get_tracer_provider()
101
-
102
- if not isinstance(global_tracer_provider, TracerProvider):
103
- logger.info(
104
- "Global tracer provider has not been set. Create tracer provider and set it now."
105
- )
106
- # 1.1 init tracer provider
107
- tracer_provider = trace_sdk.TracerProvider()
108
- trace_api.set_tracer_provider(tracer_provider)
109
- global_tracer_provider = trace_api.get_tracer_provider()
99
+ # set provider anyway
100
+ # finally, get global provider
101
+ tracer_provider = trace_sdk.TracerProvider()
102
+ trace_api.set_tracer_provider(tracer_provider)
103
+ global_tracer_provider: TracerProvider = trace_api.get_tracer_provider() # type: ignore
110
104
 
111
105
  have_apmplus_exporter = False
112
- # 2. check if apmplus exporter is already exist
113
106
  for processor in global_tracer_provider._active_span_processor._span_processors:
114
107
  if isinstance(processor, (BatchSpanProcessor, SimpleSpanProcessor)):
115
- # try to get endpoint, in case of exporter has no _endpoint attribute
116
- try:
117
- exporter_endpoint = processor.span_exporter._endpoint
118
- if "apmplus" in exporter_endpoint:
108
+ if isinstance(processor.span_exporter, OTLPSpanExporter):
109
+ if "apmplus" in processor.span_exporter._endpoint:
119
110
  have_apmplus_exporter = True
120
- except AttributeError:
121
- # log a warning and pass this exporter
122
- logger.warning(
123
- f"Exporter {processor.span_exporter} has no endpoint."
124
- )
125
-
126
- # 3. add exporters to global tracer_provider
127
- # range over a copy of exporters to avoid index issues
111
+
128
112
  if have_apmplus_exporter:
129
113
  self.exporters = [
130
114
  e for e in self.exporters if not isinstance(e, APMPlusExporter)
131
115
  ]
132
116
 
133
- for exporter in self.exporters[:]:
117
+ for exporter in self.exporters:
134
118
  processor, resource_attributes = exporter.get_processor()
135
119
  if resource_attributes is not None:
136
120
  update_resource_attributions(
137
121
  global_tracer_provider, resource_attributes
138
122
  )
139
123
  global_tracer_provider.add_span_processor(processor)
140
- logger.debug(f"Add exporter `{exporter.__class__.__name__}` to tracing.")
124
+ logger.debug(
125
+ f"Add exporter `{exporter.__class__.__name__}` to OpentelemetryTracer."
126
+ )
141
127
  self._processors.append(processor)
142
128
  logger.debug(f"Init OpentelemetryTracer with {len(self.exporters)} exporters.")
143
129
 
@@ -198,9 +184,7 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
198
184
  self._trace_file_path = file_path
199
185
 
200
186
  for exporter in self.exporters:
201
- if not isinstance(exporter, InMemoryExporter) and not isinstance(
202
- exporter, ApiServerExporter
203
- ):
187
+ if not isinstance(exporter, InMemoryExporter):
204
188
  exporter.export()
205
189
  logger.info(
206
190
  f"OpenTelemetryTracer tracing done, trace id: {self._trace_id} (hex)"
veadk/types.py CHANGED
@@ -12,7 +12,10 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from pydantic import BaseModel
15
+ from pydantic import BaseModel, Field
16
+
17
+ from veadk.agent import Agent
18
+ from veadk.memory.short_term_memory import ShortTermMemory
16
19
 
17
20
 
18
21
  class MediaMessage(BaseModel):
@@ -21,3 +24,19 @@ class MediaMessage(BaseModel):
21
24
 
22
25
  media: str
23
26
  """Media file (e.g., `.pdf`, `.docx`, `.png`, `.jpg`, `.jpeg`, `.mp4`, `.mp3`, `.wav`, `.txt`) path"""
27
+
28
+
29
+ class AgentRunConfig(BaseModel):
30
+ """Configuration for running an agent on VeFaaS platform."""
31
+
32
+ model_config = {"arbitrary_types_allowed": True}
33
+
34
+ app_name: str = Field(
35
+ default="veadk_vefaas_app", description="The name of the application"
36
+ )
37
+
38
+ agent: Agent = Field(..., description="The root agent instance")
39
+
40
+ short_term_memory: ShortTermMemory = Field(
41
+ default_factory=ShortTermMemory, description="The short-term memory instance"
42
+ )
veadk/utils/mcp_utils.py CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  from typing import Any
16
16
 
17
- from google.adk.tools.mcp_tool.mcp_toolset import (
17
+ from google.adk.tools.mcp_tool.mcp_session_manager import (
18
18
  SseConnectionParams,
19
19
  StreamableHTTPConnectionParams,
20
20
  )