agentevals-cli 0.9.7__tar.gz → 0.9.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. agentevals_cli-0.9.9/.github/dependabot.yml +101 -0
  2. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/.github/workflows/ci.yml +24 -6
  3. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/.github/workflows/publish-evaluator-sdk.yml +2 -2
  4. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/.github/workflows/release.yml +15 -15
  5. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/Dockerfile +6 -0
  6. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/PKG-INFO +18 -7
  7. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/docs/custom-evaluators.md +5 -1
  8. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/README.md +2 -0
  9. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/dice_agent/README.md +2 -7
  10. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/langchain_agent/README.md +3 -1
  11. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/packages/evaluator-sdk-py/README.md +2 -0
  12. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/pyproject.toml +20 -6
  13. agentevals_cli-0.9.9/src/agentevals/_static/assets/index-ClNj3OAl.js +349 -0
  14. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/_static/index.html +1 -1
  15. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/streaming/incremental_processor.py +9 -5
  16. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/trace_attrs.py +3 -0
  17. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/utils/log_enrichment.py +20 -15
  18. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_cli.py +27 -4
  19. agentevals_cli-0.9.9/tests/test_incremental_processor.py +26 -0
  20. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_log_enrichment.py +21 -4
  21. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_mcp_server.py +2 -0
  22. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/package-lock.json +490 -679
  23. agentevals_cli-0.9.9/ui/package.json +38 -0
  24. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/uv.lock +537 -420
  25. agentevals_cli-0.9.7/src/agentevals/_static/assets/index-4Q_gYF8x.js +0 -341
  26. agentevals_cli-0.9.7/ui/package.json +0 -38
  27. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/.claude/skills/eval/SKILL.md +0 -0
  28. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/.claude/skills/eval/evals/evals.json +0 -0
  29. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/.claude/skills/inspect/SKILL.md +0 -0
  30. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/.claude/skills/inspect/evals/evals.json +0 -0
  31. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/.dockerignore +0 -0
  32. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  33. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  34. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  35. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/.gitignore +0 -0
  36. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/.mcp.json +0 -0
  37. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/CONTRIBUTING.md +0 -0
  38. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/DEVELOPMENT.md +0 -0
  39. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/LICENSE +0 -0
  40. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/Makefile +0 -0
  41. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/README.md +0 -0
  42. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/charts/agentevals/Chart.yaml +0 -0
  43. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/charts/agentevals/templates/NOTES.txt +0 -0
  44. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/charts/agentevals/templates/_helpers.tpl +0 -0
  45. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/charts/agentevals/templates/deployment.yaml +0 -0
  46. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/charts/agentevals/templates/postgresql-secret.yaml +0 -0
  47. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/charts/agentevals/templates/postgresql.yaml +0 -0
  48. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/charts/agentevals/templates/rbac.yaml +0 -0
  49. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/charts/agentevals/templates/service.yaml +0 -0
  50. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/charts/agentevals/templates/serviceaccount.yaml +0 -0
  51. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/charts/agentevals/values.yaml +0 -0
  52. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/docs/assets/logo-color-on-transparent.svg +0 -0
  53. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/docs/assets/logo-color.png +0 -0
  54. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/docs/assets/logo-dark-on-transparent.svg +0 -0
  55. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/docs/eval-set-format.md +0 -0
  56. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/docs/otel-compatibility.md +0 -0
  57. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/docs/run-history.md +0 -0
  58. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/docs/streaming.md +0 -0
  59. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/custom_evaluators/eval_config.yaml +0 -0
  60. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/custom_evaluators/eval_config_openai_eval.yaml +0 -0
  61. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/custom_evaluators/response_quality.py +0 -0
  62. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/custom_evaluators/tool_call_checker.py +0 -0
  63. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/custom_sink/README.md +0 -0
  64. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/custom_sink/agentevals_example_custom_sink/__init__.py +0 -0
  65. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/custom_sink/agentevals_example_custom_sink/sink.py +0 -0
  66. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/custom_sink/pyproject.toml +0 -0
  67. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/dice_agent/agent.py +0 -0
  68. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/dice_agent/eval_set.json +0 -0
  69. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/dice_agent/main.py +0 -0
  70. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/dice_agent/test_streaming.py +0 -0
  71. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/kubernetes/README.md +0 -0
  72. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/langchain_agent/agent.py +0 -0
  73. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/langchain_agent/eval_set.json +0 -0
  74. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/langchain_agent/main.py +0 -0
  75. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/langchain_agent/requirements.txt +0 -0
  76. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/langchain_agent/test_streaming.py +0 -0
  77. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/sdk_example/async_example.py +0 -0
  78. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/sdk_example/context_manager_example.py +0 -0
  79. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/sdk_example/decorator_example.py +0 -0
  80. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/sdk_example/requirements.txt +0 -0
  81. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/strands_agent/agent.py +0 -0
  82. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/strands_agent/eval_set.json +0 -0
  83. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/strands_agent/main.py +0 -0
  84. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/strands_agent/requirements.txt +0 -0
  85. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/zero-code-examples/adk/requirements.txt +0 -0
  86. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/zero-code-examples/adk/run.py +0 -0
  87. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/zero-code-examples/langchain/requirements.txt +0 -0
  88. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/zero-code-examples/langchain/run.py +0 -0
  89. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/zero-code-examples/ollama/requirements.txt +0 -0
  90. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/zero-code-examples/ollama/run.py +0 -0
  91. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/zero-code-examples/openai-agents/requirements.txt +0 -0
  92. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/zero-code-examples/openai-agents/run.py +0 -0
  93. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/zero-code-examples/pydantic-ai/requirements.txt +0 -0
  94. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/zero-code-examples/pydantic-ai/run.py +0 -0
  95. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/zero-code-examples/strands/requirements.txt +0 -0
  96. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/examples/zero-code-examples/strands/run.py +0 -0
  97. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/flake.lock +0 -0
  98. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/flake.nix +0 -0
  99. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/packages/evaluator-sdk-py/pyproject.toml +0 -0
  100. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/packages/evaluator-sdk-py/src/agentevals_evaluator_sdk/__init__.py +0 -0
  101. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/packages/evaluator-sdk-py/src/agentevals_evaluator_sdk/decorator.py +0 -0
  102. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/packages/evaluator-sdk-py/src/agentevals_evaluator_sdk/types.py +0 -0
  103. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/samples/eval_set_helm.json +0 -0
  104. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/samples/evalset_helm_3_2026-02-23.json +0 -0
  105. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/samples/evalset_k8s_2026-02-20.json +0 -0
  106. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/samples/helm.json +0 -0
  107. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/samples/helm_2.json +0 -0
  108. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/samples/helm_3.json +0 -0
  109. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/samples/k8s.json +0 -0
  110. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/samples/tempo_export_with_batches.json +0 -0
  111. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/__init__.py +0 -0
  112. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/_protocol.py +0 -0
  113. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/_static/assets/index-BqibLiHO.css +0 -0
  114. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/_static/logo.svg +0 -0
  115. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/_static/vite.svg +0 -0
  116. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/api/__init__.py +0 -0
  117. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/api/app.py +0 -0
  118. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/api/debug_routes.py +0 -0
  119. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/api/dependencies.py +0 -0
  120. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/api/models.py +0 -0
  121. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/api/otlp_app.py +0 -0
  122. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/api/otlp_grpc.py +0 -0
  123. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/api/otlp_processing.py +0 -0
  124. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/api/otlp_routes.py +0 -0
  125. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/api/routes.py +0 -0
  126. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/api/runs_routes.py +0 -0
  127. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/api/streaming_routes.py +0 -0
  128. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/builtin_metrics.py +0 -0
  129. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/cli.py +0 -0
  130. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/config.py +0 -0
  131. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/converter.py +0 -0
  132. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/custom_evaluators.py +0 -0
  133. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/eval_config_loader.py +0 -0
  134. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/evaluator/__init__.py +0 -0
  135. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/evaluator/resolver.py +0 -0
  136. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/evaluator/sources.py +0 -0
  137. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/evaluator/templates.py +0 -0
  138. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/evaluator/venv.py +0 -0
  139. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/extraction.py +0 -0
  140. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/genai_converter.py +0 -0
  141. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/loader/__init__.py +0 -0
  142. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/loader/auto.py +0 -0
  143. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/loader/base.py +0 -0
  144. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/loader/jaeger.py +0 -0
  145. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/loader/otlp.py +0 -0
  146. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/mcp_server.py +0 -0
  147. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/openai_eval_backend.py +0 -0
  148. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/output.py +0 -0
  149. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/resolvers/__init__.py +0 -0
  150. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/resolvers/kubernetes.py +0 -0
  151. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/run/__init__.py +0 -0
  152. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/run/fetcher.py +0 -0
  153. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/run/result_builder.py +0 -0
  154. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/run/service.py +0 -0
  155. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/run/sinks.py +0 -0
  156. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/run/worker.py +0 -0
  157. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/runner.py +0 -0
  158. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/sdk.py +0 -0
  159. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/storage/__init__.py +0 -0
  160. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/storage/config.py +0 -0
  161. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/storage/models.py +0 -0
  162. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/storage/postgres/__init__.py +0 -0
  163. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/storage/postgres/migrations/000001_init.down.sql +0 -0
  164. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/storage/postgres/migrations/000001_init.up.sql +0 -0
  165. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/storage/postgres/migrator.py +0 -0
  166. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/storage/postgres/pool.py +0 -0
  167. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/storage/repos/__init__.py +0 -0
  168. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/storage/repos/memory.py +0 -0
  169. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/storage/repos/postgres.py +0 -0
  170. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/streaming/__init__.py +0 -0
  171. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/streaming/exports.py +0 -0
  172. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/streaming/processor.py +0 -0
  173. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/streaming/session.py +0 -0
  174. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/streaming/ws_server.py +0 -0
  175. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/trace_metrics.py +0 -0
  176. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/utils/__init__.py +0 -0
  177. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/utils/genai_messages.py +0 -0
  178. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/src/agentevals/utils/log_buffer.py +0 -0
  179. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/api/__init__.py +0 -0
  180. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/api/test_evaluate_persistence.py +0 -0
  181. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/api/test_runs_routes.py +0 -0
  182. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/integration/__init__.py +0 -0
  183. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/integration/conftest.py +0 -0
  184. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/integration/test_evaluation_pipeline.py +0 -0
  185. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/integration/test_live_agents.py +0 -0
  186. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/integration/test_otlp_grpc_receiver.py +0 -0
  187. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/integration/test_session_grouping.py +0 -0
  188. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/integration/test_timing_stress.py +0 -0
  189. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/resolvers/__init__.py +0 -0
  190. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/resolvers/test_kubernetes.py +0 -0
  191. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/resolvers/test_registry.py +0 -0
  192. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/run/__init__.py +0 -0
  193. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/run/test_fetcher.py +0 -0
  194. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/run/test_result_builder.py +0 -0
  195. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/run/test_service.py +0 -0
  196. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/run/test_sinks.py +0 -0
  197. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/storage/__init__.py +0 -0
  198. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/storage/test_config.py +0 -0
  199. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/storage/test_memory_repos.py +0 -0
  200. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/storage/test_migrator.py +0 -0
  201. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/storage/test_models.py +0 -0
  202. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_api.py +0 -0
  203. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_converter.py +0 -0
  204. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_credential_injection.py +0 -0
  205. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_eval_config_loader.py +0 -0
  206. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_extraction.py +0 -0
  207. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_genai_converter.py +0 -0
  208. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_jaeger_loader.py +0 -0
  209. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_loader_auto.py +0 -0
  210. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_openai_eval_backend.py +0 -0
  211. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_otlp_loader.py +0 -0
  212. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_otlp_receiver.py +0 -0
  213. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_output.py +0 -0
  214. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_protocol.py +0 -0
  215. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_runner.py +0 -0
  216. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_sdk.py +0 -0
  217. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/tests/test_trace_metrics.py +0 -0
  218. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/.gitignore +0 -0
  219. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/README.md +0 -0
  220. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/eslint.config.js +0 -0
  221. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/index.html +0 -0
  222. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/public/logo.svg +0 -0
  223. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/public/vite.svg +0 -0
  224. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/App.css +0 -0
  225. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/App.tsx +0 -0
  226. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/api/client.ts +0 -0
  227. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/assets/react.svg +0 -0
  228. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/annotation-queue/AnnotationDetailPanel.tsx +0 -0
  229. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/annotation-queue/AnnotationQueueView.tsx +0 -0
  230. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/annotation-queue/AnnotationTable.tsx +0 -0
  231. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/bug-report/BugReportModal.tsx +0 -0
  232. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/builder/BuilderHeader.tsx +0 -0
  233. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/builder/BuilderView.tsx +0 -0
  234. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/builder/EvalCaseCard.tsx +0 -0
  235. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/builder/EvalCasesList.tsx +0 -0
  236. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/builder/InvocationEditor.tsx +0 -0
  237. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/builder/JsonPreview.tsx +0 -0
  238. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/builder/MetadataEditor.tsx +0 -0
  239. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/builder/TraceUploadZone.tsx +0 -0
  240. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/builder/index.ts +0 -0
  241. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/dashboard/DashboardView.tsx +0 -0
  242. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/dashboard/MetricScoreCard.tsx +0 -0
  243. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/dashboard/PerformanceCard.tsx +0 -0
  244. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/dashboard/PerformanceCharts.tsx +0 -0
  245. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/dashboard/SummaryStats.tsx +0 -0
  246. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/dashboard/TraceCard.tsx +0 -0
  247. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/dashboard/TraceTable.tsx +0 -0
  248. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/inspector/ComparisonPanel.tsx +0 -0
  249. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/inspector/DataSection.tsx +0 -0
  250. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/inspector/InspectorHeader.tsx +0 -0
  251. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/inspector/InspectorLayout.tsx +0 -0
  252. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/inspector/InspectorView.tsx +0 -0
  253. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/inspector/InvocationCard.tsx +0 -0
  254. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/inspector/InvocationSummaryPanel.tsx +0 -0
  255. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/inspector/MetricResultsSection.tsx +0 -0
  256. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/inspector/MetricsComparisonSection.tsx +0 -0
  257. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/inspector/PerformanceSection.tsx +0 -0
  258. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/inspector/ToolCallList.tsx +0 -0
  259. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/inspector/TrajectoryComparisonDetails.tsx +0 -0
  260. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/runs/PassRateTrendChart.tsx +0 -0
  261. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/runs/PerMetricTrendChart.tsx +0 -0
  262. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/runs/RunDetailView.tsx +0 -0
  263. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/runs/RunsHistoryTable.tsx +0 -0
  264. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/runs/RunsView.tsx +0 -0
  265. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/runs/runHistory.ts +0 -0
  266. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/sidebar/Sidebar.tsx +0 -0
  267. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/streaming/LiveConversationPanel.tsx +0 -0
  268. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/streaming/LiveMessage.tsx +0 -0
  269. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/streaming/LiveStreamingView.tsx +0 -0
  270. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/streaming/SessionCard.tsx +0 -0
  271. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/streaming/SessionMetadata.tsx +0 -0
  272. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/upload/EvalSetEditorDrawer.tsx +0 -0
  273. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/upload/FileDropZone.tsx +0 -0
  274. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/upload/MetricSelector.tsx +0 -0
  275. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/upload/RawJsonPreview.tsx +0 -0
  276. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/upload/TraceEditorDrawer.tsx +0 -0
  277. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/upload/UploadView.tsx +0 -0
  278. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/components/welcome/WelcomeView.tsx +0 -0
  279. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/config.ts +0 -0
  280. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/context/TraceContext.tsx +0 -0
  281. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/context/TraceProvider.tsx +0 -0
  282. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/index.css +0 -0
  283. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/lib/console-capture.ts +0 -0
  284. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/lib/eval-config.ts +0 -0
  285. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/lib/evalset-builder.ts +0 -0
  286. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/lib/network-capture.ts +0 -0
  287. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/lib/trace-helpers.ts +0 -0
  288. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/lib/trace-loader.ts +0 -0
  289. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/lib/trace-metadata.ts +0 -0
  290. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/lib/trace-patcher.ts +0 -0
  291. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/lib/types.ts +0 -0
  292. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/lib/utils.ts +0 -0
  293. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/src/main.tsx +0 -0
  294. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/tsconfig.app.json +0 -0
  295. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/tsconfig.json +0 -0
  296. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/tsconfig.node.json +0 -0
  297. {agentevals_cli-0.9.7 → agentevals_cli-0.9.9}/ui/vite.config.ts +0 -0
@@ -0,0 +1,101 @@
1
+ version: 2
2
+
3
+ updates:
4
+ - package-ecosystem: "github-actions"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "weekly"
8
+ day: "monday"
9
+ open-pull-requests-limit: 2
10
+ labels: ["dependencies", "CI"]
11
+ commit-message:
12
+ prefix: "chore(deps):"
13
+ cooldown:
14
+ default-days: 5
15
+ groups:
16
+ github-actions:
17
+ applies-to: version-updates
18
+ patterns: ["*"]
19
+ github-actions-security:
20
+ applies-to: security-updates
21
+ patterns: ["*"]
22
+
23
+ - package-ecosystem: "uv"
24
+ directory: "/"
25
+ schedule:
26
+ interval: "weekly"
27
+ day: "monday"
28
+ open-pull-requests-limit: 3
29
+ labels: ["dependencies", "CLI"]
30
+ commit-message:
31
+ prefix: "chore(deps):"
32
+ prefix-development: "chore(deps-dev):"
33
+ cooldown:
34
+ default-days: 5
35
+ semver-major-days: 14
36
+ groups:
37
+ python-google-ai:
38
+ applies-to: version-updates
39
+ patterns:
40
+ - "google-adk"
41
+ - "google-genai"
42
+ - "google-auth*"
43
+ python:
44
+ applies-to: version-updates
45
+ patterns: ["*"]
46
+ python-security:
47
+ applies-to: security-updates
48
+ patterns: ["*"]
49
+
50
+ - package-ecosystem: "npm"
51
+ directory: "/ui"
52
+ schedule:
53
+ interval: "weekly"
54
+ day: "monday"
55
+ open-pull-requests-limit: 2
56
+ labels: ["dependencies", "UI"]
57
+ commit-message:
58
+ prefix: "chore(deps):"
59
+ prefix-development: "chore(deps-dev):"
60
+ cooldown:
61
+ default-days: 5
62
+ semver-major-days: 14
63
+ ignore:
64
+ # Majors need a migration pass; bump these by hand.
65
+ - dependency-name: "react"
66
+ update-types: ["version-update:semver-major"]
67
+ - dependency-name: "react-dom"
68
+ update-types: ["version-update:semver-major"]
69
+ - dependency-name: "antd"
70
+ update-types: ["version-update:semver-major"]
71
+ - dependency-name: "vite"
72
+ update-types: ["version-update:semver-major"]
73
+ # Plugin majors track vite majors: @vitejs/plugin-react 6 peers on vite 8.
74
+ - dependency-name: "@vitejs/*"
75
+ update-types: ["version-update:semver-major"]
76
+ # typescript-eslint declares a typescript upper bound, so TS majors move with it.
77
+ - dependency-name: "typescript"
78
+ update-types: ["version-update:semver-major"]
79
+ groups:
80
+ npm:
81
+ applies-to: version-updates
82
+ patterns: ["*"]
83
+ npm-security:
84
+ applies-to: security-updates
85
+ patterns: ["*"]
86
+
87
+ - package-ecosystem: "docker"
88
+ directory: "/"
89
+ schedule:
90
+ interval: "weekly"
91
+ day: "monday"
92
+ open-pull-requests-limit: 1
93
+ labels: ["dependencies"]
94
+ commit-message:
95
+ prefix: "chore(deps):"
96
+ cooldown:
97
+ default-days: 5
98
+ groups:
99
+ docker-base-images:
100
+ applies-to: version-updates
101
+ patterns: ["*"]
@@ -13,7 +13,7 @@ jobs:
13
13
  helm-chart:
14
14
  runs-on: ubuntu-latest
15
15
  steps:
16
- - uses: actions/checkout@v6
16
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
17
17
 
18
18
  - name: Lint + template
19
19
  run: make helm-test
@@ -21,14 +21,17 @@ jobs:
21
21
  lint:
22
22
  runs-on: ubuntu-latest
23
23
  steps:
24
- - uses: actions/checkout@v6
24
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
25
25
  with:
26
26
  fetch-depth: 0
27
27
 
28
- - uses: astral-sh/setup-uv@v7
28
+ - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
29
29
  with:
30
30
  enable-cache: true
31
31
 
32
+ - name: Verify uv.lock matches pyproject.toml
33
+ run: uv lock --check
34
+
32
35
  - name: Install dependencies
33
36
  run: |
34
37
  uv venv
@@ -41,17 +44,32 @@ jobs:
41
44
  - name: Ruff format check
42
45
  run: uv run ruff format --check .
43
46
 
47
+ ui:
48
+ runs-on: ubuntu-latest
49
+ steps:
50
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
51
+
52
+ - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
53
+ with:
54
+ node-version: '22'
55
+ cache: npm
56
+ cache-dependency-path: ui/package-lock.json
57
+
58
+ # tsc -b && vite build, same as the release workflow bundles.
59
+ - name: Build UI
60
+ run: make build-ui
61
+
44
62
  test:
45
63
  runs-on: ubuntu-latest
46
64
  strategy:
47
65
  matrix:
48
66
  python-version: ["3.11", "3.12", "3.13"]
49
67
  steps:
50
- - uses: actions/checkout@v6
68
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
51
69
  with:
52
70
  fetch-depth: 0
53
71
 
54
- - uses: astral-sh/setup-uv@v7
72
+ - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
55
73
  with:
56
74
  enable-cache: true
57
75
 
@@ -62,7 +80,7 @@ jobs:
62
80
  run: |
63
81
  uv venv --python ${{ matrix.python-version }}
64
82
  uv pip install setuptools
65
- uv sync --dev --python ${{ matrix.python-version }}
83
+ uv sync --dev --all-extras --frozen --python ${{ matrix.python-version }}
66
84
 
67
85
  - name: Run tests
68
86
  run: uv run pytest -m "not integration and not e2e" --tb=short -q
@@ -18,12 +18,12 @@ jobs:
18
18
  runs-on: ubuntu-latest
19
19
  steps:
20
20
  - name: 'Checkout GitHub Action'
21
- uses: actions/checkout@v6
21
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
22
22
  with:
23
23
  fetch-depth: 0
24
24
 
25
25
  - name: Install uv
26
- uses: astral-sh/setup-uv@v6
26
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
27
27
 
28
28
  # Repo root cwd: uv build puts artifacts in ./dist; uv publish looks for dist/* relative to cwd.
29
29
  - name: 'Release Python Packages'
@@ -17,16 +17,16 @@ jobs:
17
17
  build:
18
18
  runs-on: ubuntu-latest
19
19
  steps:
20
- - uses: actions/checkout@v6
20
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
21
21
  with:
22
22
  ref: ${{ github.event.inputs.tag || github.ref_name }}
23
23
  fetch-depth: 0
24
24
 
25
- - uses: astral-sh/setup-uv@v7
25
+ - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
26
26
  with:
27
27
  enable-cache: true
28
28
 
29
- - uses: actions/setup-node@v6
29
+ - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
30
30
  with:
31
31
  node-version: '22'
32
32
  cache: npm
@@ -35,7 +35,7 @@ jobs:
35
35
  - name: Build core and bundled wheels
36
36
  run: make release
37
37
 
38
- - uses: actions/upload-artifact@v7
38
+ - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
39
39
  with:
40
40
  name: wheels
41
41
  path: |
@@ -46,16 +46,16 @@ jobs:
46
46
  needs: build
47
47
  runs-on: ubuntu-latest
48
48
  steps:
49
- - uses: actions/checkout@v6
49
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
50
50
  with:
51
51
  ref: ${{ github.event.inputs.tag || github.ref_name }}
52
52
  fetch-depth: 0
53
53
 
54
- - uses: astral-sh/setup-uv@v7
54
+ - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
55
55
  with:
56
56
  enable-cache: true
57
57
 
58
- - uses: actions/setup-node@v6
58
+ - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
59
59
  with:
60
60
  node-version: '22'
61
61
  cache: npm
@@ -82,12 +82,12 @@ jobs:
82
82
  contents: write
83
83
 
84
84
  steps:
85
- - uses: actions/download-artifact@v8
85
+ - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
86
86
  with:
87
87
  name: wheels
88
88
  path: dist/
89
89
 
90
- - uses: softprops/action-gh-release@v2.5.0
90
+ - uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
91
91
  with:
92
92
  tag_name: ${{ github.event.inputs.tag || github.ref_name }}
93
93
  files: dist/**/*.whl
@@ -100,22 +100,22 @@ jobs:
100
100
  contents: read
101
101
  packages: write
102
102
  steps:
103
- - uses: actions/checkout@v6
103
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
104
104
  with:
105
105
  ref: ${{ github.event.inputs.tag || github.ref_name }}
106
106
 
107
107
  - name: Login to GitHub Container Registry
108
- uses: docker/login-action@v4
108
+ uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
109
109
  with:
110
110
  registry: ghcr.io
111
111
  username: ${{ github.actor }}
112
112
  password: ${{ secrets.GITHUB_TOKEN }}
113
113
 
114
114
  - name: Set up QEMU
115
- uses: docker/setup-qemu-action@v4
115
+ uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
116
116
 
117
117
  - name: Set up Docker Buildx
118
- uses: docker/setup-buildx-action@v4
118
+ uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
119
119
 
120
120
  - name: Build and push
121
121
  run: |
@@ -134,12 +134,12 @@ jobs:
134
134
  contents: read
135
135
  packages: write
136
136
  steps:
137
- - uses: actions/checkout@v6
137
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
138
138
  with:
139
139
  ref: ${{ github.event.inputs.tag || github.ref_name }}
140
140
 
141
141
  - name: Login to GitHub Container Registry
142
- uses: docker/login-action@v4
142
+ uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
143
143
  with:
144
144
  registry: ghcr.io
145
145
  username: ${{ github.actor }}
@@ -32,6 +32,12 @@ ARG VERSION
32
32
  ENV SETUPTOOLS_SCM_PRETEND_VERSION=${VERSION}
33
33
 
34
34
  RUN uv sync --frozen --no-dev --extra live --extra postgres --extra kubernetes \
35
+ # The runtime only uses the uv-managed venv; drop the base image's bundled
36
+ # pip so its vendored packages (msgpack, pkg_resources) don't ship unused.
37
+ && rm -rf /usr/local/lib/python*/site-packages/pip \
38
+ /usr/local/lib/python*/site-packages/pip-*.dist-info \
39
+ /usr/local/bin/pip* \
40
+ && ! /usr/local/bin/python -c "import pip" 2>/dev/null \
35
41
  && groupadd --gid 1000 app \
36
42
  && useradd --uid 1000 --gid app --home-dir /app --no-log-init app \
37
43
  && chown -R app:app /app
@@ -1,24 +1,35 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: agentevals-cli
3
- Version: 0.9.7
3
+ Version: 0.9.9
4
4
  Summary: Standalone framework to evaluate agent correctness based on portable OpenTelemetry traces
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.11
7
- Requires-Dist: click>=8.0
7
+ Requires-Dist: aiohttp>=3.14.3
8
+ Requires-Dist: authlib>=1.7.2
9
+ Requires-Dist: click>=8.3.3
8
10
  Requires-Dist: fastapi>=0.115.0
9
- Requires-Dist: google-adk[eval]<2.2,>=2.1.0
11
+ Requires-Dist: google-adk[eval]<3,>=2.5.0
10
12
  Requires-Dist: httpx>=0.27.0
13
+ Requires-Dist: idna>=3.18
14
+ Requires-Dist: litellm>=1.85.7
15
+ Requires-Dist: nltk>=3.10.2
11
16
  Requires-Dist: opentelemetry-proto>=1.36.0
12
- Requires-Dist: python-dotenv>=1.0.0
13
- Requires-Dist: python-multipart>=0.0.12
17
+ Requires-Dist: pyasn1>=0.6.4
18
+ Requires-Dist: pygments>=2.20.0
19
+ Requires-Dist: python-dotenv>=1.2.2
20
+ Requires-Dist: python-multipart>=0.0.32
14
21
  Requires-Dist: pyyaml>=6.0
22
+ Requires-Dist: requests>=2.34.2
15
23
  Requires-Dist: tabulate>=0.9.0
24
+ Requires-Dist: urllib3>=2.7.0
16
25
  Requires-Dist: uvicorn[standard]>=0.32.0
17
26
  Provides-Extra: kubernetes
18
27
  Requires-Dist: kubernetes>=36.0.0; extra == 'kubernetes'
19
28
  Provides-Extra: live
20
29
  Requires-Dist: httpx>=0.27.0; extra == 'live'
21
- Requires-Dist: mcp>=1.26.0; extra == 'live'
30
+ Requires-Dist: mcp<2,>=1.28.1; extra == 'live'
31
+ Requires-Dist: pydantic-settings>=2.15.0; extra == 'live'
32
+ Requires-Dist: pyjwt>=2.13.0; extra == 'live'
22
33
  Provides-Extra: openai
23
34
  Requires-Dist: openai>=2.0; extra == 'openai'
24
35
  Provides-Extra: postgres
@@ -37,6 +37,7 @@ pip install agentevals-evaluator-sdk
37
37
  # evaluators/response_quality.py
38
38
  from agentevals_evaluator_sdk import evaluator, EvalInput, EvalResult
39
39
 
40
+
40
41
  @evaluator
41
42
  def response_quality(input: EvalInput) -> EvalResult:
42
43
  scores = []
@@ -53,6 +54,7 @@ def response_quality(input: EvalInput) -> EvalResult:
53
54
  per_invocation_scores=scores,
54
55
  )
55
56
 
57
+
56
58
  if __name__ == "__main__":
57
59
  response_quality.run()
58
60
  ```
@@ -436,7 +438,7 @@ Then register it:
436
438
  _RUNTIMES: list[Runtime] = [
437
439
  PythonRuntime(),
438
440
  NodeRuntime(),
439
- GoRuntime(), # new
441
+ GoRuntime(), # new
440
442
  ]
441
443
  ```
442
444
 
@@ -484,6 +486,7 @@ To support a different evaluator registry (e.g., a custom API), implement `Evalu
484
486
  ```python
485
487
  from agentevals.evaluator.sources import EvaluatorSource, EvaluatorInfo, register_source
486
488
 
489
+
487
490
  class MyRegistrySource(EvaluatorSource):
488
491
  @property
489
492
  def source_name(self) -> str:
@@ -492,6 +495,7 @@ class MyRegistrySource(EvaluatorSource):
492
495
  async def list_evaluators(self) -> list[EvaluatorInfo]: ...
493
496
  async def fetch_evaluator(self, ref: str, dest: Path) -> Path: ...
494
497
 
498
+
495
499
  register_source(MyRegistrySource())
496
500
  ```
497
501
 
@@ -69,10 +69,12 @@ For simple prompt-to-response agents, there's also a decorator shorthand:
69
69
  ```python
70
70
  app = AgentEvals(eval_set_id="my-eval")
71
71
 
72
+
72
73
  @app.agent
73
74
  def my_agent(prompt):
74
75
  return llm.invoke(prompt).content
75
76
 
77
+
76
78
  app.run(["Hello!", "Tell me a joke"])
77
79
  ```
78
80
 
@@ -89,13 +89,8 @@ Add a new tool in `agent.py`:
89
89
  def roll_multiple(count: int, sides: int = 6) -> dict:
90
90
  """Roll multiple dice at once."""
91
91
  results = [random.randint(1, sides) for _ in range(count)]
92
- return {
93
- "count": count,
94
- "sides": sides,
95
- "results": results,
96
- "total": sum(results),
97
- "average": sum(results) / count
98
- }
92
+ return {"count": count, "sides": sides, "results": results, "total": sum(results), "average": sum(results) / count}
93
+
99
94
 
100
95
  dice_agent = Agent(
101
96
  name="dice_agent",
@@ -145,7 +145,7 @@ os.environ["OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT"] = "true"
145
145
 
146
146
  ```python
147
147
  tracer_provider = TracerProvider() # For spans
148
- logger_provider = LoggerProvider() # For logs
148
+ logger_provider = LoggerProvider() # For logs
149
149
  ```
150
150
 
151
151
  **Both are required** - spans provide metadata, logs provide message content.
@@ -164,10 +164,12 @@ The log processor shares the WebSocket connection from the span processor.
164
164
  ```python
165
165
  loop = asyncio.new_event_loop()
166
166
 
167
+
167
168
  def run_loop_in_background():
168
169
  asyncio.set_event_loop(loop)
169
170
  loop.run_forever()
170
171
 
172
+
171
173
  thread = threading.Thread(target=run_loop_in_background, daemon=True)
172
174
  thread.start()
173
175
  ```
@@ -15,6 +15,7 @@ pip install agentevals-evaluator-sdk
15
15
  ```python
16
16
  from agentevals_evaluator_sdk import evaluator, EvalInput, EvalResult
17
17
 
18
+
18
19
  @evaluator
19
20
  def my_evaluator(input: EvalInput) -> EvalResult:
20
21
  scores = []
@@ -27,6 +28,7 @@ def my_evaluator(input: EvalInput) -> EvalResult:
27
28
  per_invocation_scores=scores,
28
29
  )
29
30
 
31
+
30
32
  if __name__ == "__main__":
31
33
  my_evaluator.run()
32
34
  ```
@@ -9,22 +9,36 @@ description = "Standalone framework to evaluate agent correctness based on porta
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
11
11
  dependencies = [
12
- "google-adk[eval]>=2.1.0,<2.2",
13
- "click>=8.0",
12
+ "google-adk[eval]>=2.5.0,<3",
13
+ "click>=8.3.3",
14
14
  "tabulate>=0.9.0",
15
15
  "fastapi>=0.115.0",
16
16
  "uvicorn[standard]>=0.32.0",
17
- "python-multipart>=0.0.12",
18
- "python-dotenv>=1.0.0",
17
+ "python-multipart>=0.0.32",
18
+ "python-dotenv>=1.2.2",
19
19
  "opentelemetry-proto>=1.36.0",
20
20
  "pyyaml>=6.0",
21
21
  "httpx>=0.27.0",
22
+ # Security floors for CVE-affected transitive dependencies of the default install.
23
+ # None are imported directly, do not "clean up" as unused. pip does not read
24
+ # lockfiles, so installs from PyPI resolve from these floors alone.
25
+ "aiohttp>=3.14.3",
26
+ "authlib>=1.7.2",
27
+ "idna>=3.18",
28
+ "litellm>=1.85.7",
29
+ "nltk>=3.10.2",
30
+ "pyasn1>=0.6.4",
31
+ "pygments>=2.20.0",
32
+ "requests>=2.34.2",
33
+ "urllib3>=2.7.0",
22
34
  ]
23
35
 
24
36
  [project.optional-dependencies]
25
37
  live = [
26
- "mcp>=1.26.0",
38
+ "mcp>=1.28.1,<2",
27
39
  "httpx>=0.27.0",
40
+ "pyjwt>=2.13.0",
41
+ "pydantic-settings>=2.15.0",
28
42
  ]
29
43
  streaming = [
30
44
  "opentelemetry-sdk>=1.20.0",
@@ -70,7 +84,7 @@ asyncio_mode = "auto"
70
84
 
71
85
  [dependency-groups]
72
86
  dev = [
73
- "pytest>=9.0.2",
87
+ "pytest>=9.0.3",
74
88
  "pytest-asyncio>=0.24.0",
75
89
  "httpx>=0.27.0",
76
90
  "ruff>=0.11.0",