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
@@ -1,87 +0,0 @@
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 __future__ import absolute_import, division, print_function
16
-
17
- import ast
18
- import json
19
- from collections import defaultdict
20
- from datetime import datetime, timedelta
21
-
22
- from volcengine.tls.tls_requests import SearchLogsRequest
23
- from volcengine.tls.TLSService import TLSService
24
-
25
- from veadk.utils.logger import get_logger
26
-
27
- logger = get_logger(__name__)
28
-
29
-
30
- class VeTLS:
31
- def __init__(
32
- self,
33
- access_key: str,
34
- secret_key: str,
35
- dump_path: str,
36
- endpoint: str = "https://tls-cn-beijing.volces.com",
37
- region: str = "cn-beijing",
38
- ):
39
- self.client = TLSService(endpoint, access_key, secret_key, region)
40
- self.dump_path: str = dump_path
41
-
42
- def query(self, topic_id: str, query: str):
43
- logger.warning("Currently, we only search the logs in the last 24 hours.")
44
- now = datetime.now()
45
- one_day_ago = now - timedelta(days=1)
46
- one_day_ago = int(one_day_ago.timestamp() * 1000)
47
- now = int(now.timestamp() * 1000)
48
-
49
- search_logs_request = SearchLogsRequest(
50
- topic_id=topic_id,
51
- query=query,
52
- limit=100,
53
- start_time=one_day_ago,
54
- end_time=now,
55
- )
56
-
57
- search_logs_response = self.client.search_logs_v2(search_logs_request)
58
- log_str_list = search_logs_response.get_search_result().get_logs()
59
- log_dict_list = []
60
- for log in log_str_list:
61
- # message: str -> dict
62
- message = ast.literal_eval(log["message"])
63
- trace_id = log.get("trace_id")
64
- log_dict_list.append(
65
- {
66
- "trace_id": trace_id,
67
- "message": message,
68
- }
69
- )
70
- log_dict_list = log_dict_list[::-1]
71
-
72
- # 创建一个默认为 list 的字典来聚合
73
- grouped = defaultdict(list)
74
-
75
- # 遍历原始数据,按 key 分组
76
- for item in log_dict_list:
77
- grouped[item["trace_id"]].append(item["message"])
78
- result = [{"trace_id": k, "data": v} for k, v in grouped.items()]
79
-
80
- self.dump_to_file(result)
81
-
82
- def dump_to_file(self, logs: list[dict]):
83
- with open(f"{self.dump_path}/logs.json", "w", encoding="utf-8") as f:
84
- json.dump(logs, f, ensure_ascii=False, indent=4)
85
- logger.info(f"VeTLS dumps log list to {self.dump_path}/logs.json")
86
- logger.info(f"VeTLS dumps log list to {self.dump_path}/logs.json")
87
- logger.info(f"VeTLS dumps log list to {self.dump_path}/logs.json")
@@ -1,392 +0,0 @@
1
- # Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- import json
16
- import os
17
- import uuid
18
-
19
- from fastapi import FastAPI, Request
20
- from fastapi.middleware.cors import CORSMiddleware
21
- from fastapi.responses import FileResponse, StreamingResponse
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
26
-
27
- from veadk.cli.studio.models import (
28
- GetAgentResponse,
29
- GetEventResponse,
30
- GetHistoryMessagesResponse,
31
- GetTracingResponse,
32
- Message,
33
- RunnerConfig,
34
- SpanItem,
35
- TextPart,
36
- ToolPart,
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
45
-
46
- app = FastAPI()
47
-
48
- app.add_middleware(
49
- CORSMiddleware,
50
- allow_origins=["*"],
51
- allow_credentials=True,
52
- allow_methods=["*"],
53
- allow_headers=["*"],
54
- )
55
-
56
- NEXT_STATIC_DIR = os.path.join(os.path.dirname(__file__), "web")
57
- NEXT_HTML_DIR = NEXT_STATIC_DIR
58
-
59
-
60
- @app.get("/")
61
- async def read_root():
62
- index_path = os.path.join(NEXT_HTML_DIR, "index.html")
63
- if os.path.exists(index_path):
64
- return FileResponse(index_path, media_type="text/html")
65
-
66
-
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,
74
- )
75
-
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,
119
- )
120
-
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:
208
- return GetAgentResponse(
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="",
217
- )
218
-
219
-
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
- # ====== ====================== ======
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
- )
301
-
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"}))
310
-
311
- return GetEventResponse(event=json.dumps({"info": "not an event span"}))
312
-
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
- )
321
-
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
- )
335
-
336
-
337
- @app.get("/set_prompt")
338
- async def set_prompt(prompt: str):
339
- processor.runner.agent.instruction = prompt
340
- return {"result": "success"}
341
-
342
-
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
348
- )
349
- return {"prompt": refined_prompt}
350
-
351
-
352
- @app.get("/get_testcases")
353
- async def get_testcases():
354
- test_cases = await processor.get_testcases()
355
- return {"test_cases": test_cases}
356
-
357
-
358
- @app.get("/evaluate")
359
- async def evaluate():
360
- test_cases = await processor.evaluate()
361
- return {"test_cases": test_cases}
362
-
363
-
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"}
368
-
369
-
370
- app.mount(
371
- "/_next",
372
- StaticFiles(directory=os.path.join(NEXT_STATIC_DIR, "_next")),
373
- name="next_static",
374
- )
375
-
376
- app.mount(
377
- "/",
378
- StaticFiles(directory=NEXT_STATIC_DIR, html=True),
379
- name="static",
380
- )
381
-
382
-
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
- )
392
- return app
@@ -1,76 +0,0 @@
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]
@@ -1,127 +0,0 @@
1
- # Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- import os
16
-
17
- from deepeval.metrics import GEval
18
- from deepeval.test_case import LLMTestCaseParams
19
- from google.adk.agents.callback_context import CallbackContext
20
- from google.adk.models.llm_response import LlmResponse
21
-
22
- from veadk import Agent
23
- from veadk.cli.services.agentpilot.agentpilot import AgentPilot
24
- from veadk.config import getenv
25
- from veadk.evaluation.deepeval_evaluator import DeepevalEvaluator
26
- from veadk.evaluation.eval_set_recorder import EvalSetRecorder
27
- from veadk.memory.short_term_memory import ShortTermMemory
28
- from veadk.runner import Runner
29
- from veadk.tracing.telemetry.opentelemetry_tracer import OpentelemetryTracer
30
-
31
-
32
- class StudioProcessor:
33
- def __init__(
34
- self,
35
- app_name: str,
36
- user_id: str,
37
- session_id: str,
38
- agent: Agent,
39
- short_term_memory: ShortTermMemory,
40
- ) -> None:
41
- self.agent = agent
42
- self.short_term_memory = short_term_memory
43
-
44
- self.tracer = None
45
- if self.agent.tracers == []:
46
- self.tracer = OpentelemetryTracer()
47
- self.agent.tracer = [self.tracer]
48
- else:
49
- self.tracer = self.agent.tracers[0]
50
-
51
- if self.agent.after_model_callback:
52
- self.agent.after_model_callback.append(after_model_callback)
53
- else:
54
- self.agent.after_model_callback = [after_model_callback]
55
-
56
- self.runner = Runner(
57
- agent=self.agent,
58
- short_term_memory=self.short_term_memory,
59
- app_name=app_name,
60
- user_id=user_id,
61
- )
62
- self.session_id = session_id
63
- self.agent_pilot = AgentPilot(api_key=getenv("AGENT_PILOT_API_KEY"))
64
-
65
- self.eval_set_recorder = EvalSetRecorder(
66
- session_service=self.short_term_memory.session_service, eval_set_id="studio"
67
- )
68
- self.evaluator = DeepevalEvaluator(agent=self.agent)
69
-
70
- async def get_testcases(self):
71
- session_id = self.session_id
72
- try:
73
- dump_path = await self.eval_set_recorder.dump(
74
- self.runner.app_name, self.runner.user_id, session_id
75
- )
76
- os.remove(dump_path)
77
- except Exception as _:
78
- pass
79
-
80
- dump_path = await self.eval_set_recorder.dump(
81
- self.runner.app_name, self.runner.user_id, session_id
82
- )
83
- self._eval_set_path = dump_path
84
-
85
- # 2. build
86
- self.evaluator = DeepevalEvaluator(self.agent)
87
- self.evaluator.generate_eval_data(dump_path)
88
-
89
- test_cases = self.evaluator.get_data()
90
-
91
- return test_cases
92
-
93
- async def evaluate(self):
94
- metrics = [
95
- GEval(
96
- name="Correctness&MatchDegree",
97
- model=self.evaluator.judge_model,
98
- criteria="Judge the correctness and match degree of the model output with the expected output.",
99
- evaluation_params=[
100
- LLMTestCaseParams.INPUT,
101
- LLMTestCaseParams.ACTUAL_OUTPUT,
102
- LLMTestCaseParams.EXPECTED_OUTPUT,
103
- ],
104
- ),
105
- ]
106
-
107
- await self.evaluator.eval(
108
- eval_set_file_path=self._eval_set_path, metrics=metrics
109
- )
110
- test_cases = self.evaluator.get_data()
111
-
112
- os.remove(self._eval_set_path)
113
- self._eval_set_path = ""
114
-
115
- return test_cases
116
-
117
-
118
- def after_model_callback(callback_context: CallbackContext, llm_response: LlmResponse):
119
- if llm_response.content and llm_response.content.parts:
120
- valid_parts = [
121
- part
122
- for part in llm_response.content.parts
123
- if not (part.function_call and not part.function_call.name)
124
- ]
125
- if len(valid_parts) < len(llm_response.content.parts):
126
- llm_response.content.parts = valid_parts
127
- return llm_response