verifiers 0.3.2.dev135__tar.gz → 0.3.2.dev137__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.
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/PKG-INFO +1 -1
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/test_e2e.py +35 -2
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/utils/core.py +35 -5
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/.gitignore +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/LICENSE +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/README.md +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/pyproject.toml +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/conftest.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/fixtures/duet_v1.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/test_configs.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/test_envs.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/test_graph.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/test_judges.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/test_platform_run.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/test_scoring.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/test_serve_delta.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/test_taskset.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/test_trace.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/acp/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/acp/runner.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/agent.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/debug.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/eval/hint.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/gepa.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/resume.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/clients/base.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/agent.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/cli/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/cli/debug.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/cli/env.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/cli/eval.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/cli/init.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/cli/replay.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/cli/validate.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/client.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/env.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/judge.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/retries.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/runtime.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/task.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/configs/taskset.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/env.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/agentic_judge/env.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/best_of_n/env.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/isolated_verifier/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/isolated_verifier/env.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/single_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/single_agent/env.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/user_sim/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/user_sim/env.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/episode.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/errors.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/gepa/dataset.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/graph.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/browser_use/program.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/codex/gate.mjs +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/node.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/pi/gate.mjs +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/utils/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/utils/compaction.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/utils/install.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/utils/launch.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/utils/mcp.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/judge.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/runtimes/apptainer.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/runtimes/container.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/runtimes/docker/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/runtimes/docker/egress.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/semantic.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/serve/delta.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/serve/encoding.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/session.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/state.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/task.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/harbor/env.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/harbor/toolset.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/trace.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/types.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/artifacts.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/compile.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/decorators.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/git.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/loaders.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/paths.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/platform.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/prime.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/retries.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/scope.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/score.py +0 -0
- {verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/utils/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.3.2.
|
|
3
|
+
Version: 0.3.2.dev137
|
|
4
4
|
Summary: Verifiers: Environments for LLM Reinforcement Learning
|
|
5
5
|
Project-URL: Homepage, https://github.com/primeintellect-ai/verifiers
|
|
6
6
|
Project-URL: Documentation, https://github.com/primeintellect-ai/verifiers
|
|
@@ -20,7 +20,8 @@ def pair(a: str, b: str, id: str, *extra_marks):
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
@pytest.mark.asyncio
|
|
23
|
-
|
|
23
|
+
@pytest.mark.parametrize("interruption", [None, "disconnect", "timeout", "eof"])
|
|
24
|
+
async def test_chat_harness_preserves_streamed_reasoning(interruption):
|
|
24
25
|
import json
|
|
25
26
|
|
|
26
27
|
import httpx
|
|
@@ -61,10 +62,36 @@ async def test_chat_harness_preserves_streamed_reasoning():
|
|
|
61
62
|
content = "".join(f"data: {json.dumps(event)}\n\n" for event in events)
|
|
62
63
|
content += "data: [DONE]\n\n"
|
|
63
64
|
|
|
65
|
+
requests = []
|
|
66
|
+
streams = []
|
|
67
|
+
|
|
68
|
+
class CompletionStream(httpx.AsyncByteStream):
|
|
69
|
+
closed = False
|
|
70
|
+
|
|
71
|
+
def __init__(self, request, interrupted):
|
|
72
|
+
self.request = request
|
|
73
|
+
self.interrupted = interrupted
|
|
74
|
+
|
|
75
|
+
async def __aiter__(self):
|
|
76
|
+
if self.interrupted:
|
|
77
|
+
yield f"data: {json.dumps(chunk('discard this attempt'))}\n\n".encode()
|
|
78
|
+
if interruption == "disconnect":
|
|
79
|
+
raise httpx.ReadError("connection reset", request=self.request)
|
|
80
|
+
if interruption == "timeout":
|
|
81
|
+
raise httpx.ReadTimeout("read timed out", request=self.request)
|
|
82
|
+
return
|
|
83
|
+
yield content.encode()
|
|
84
|
+
|
|
85
|
+
async def aclose(self):
|
|
86
|
+
self.closed = True
|
|
87
|
+
|
|
64
88
|
async def respond(request: httpx.Request) -> httpx.Response:
|
|
89
|
+
requests.append(request)
|
|
90
|
+
stream = CompletionStream(request, interruption and len(requests) == 1)
|
|
91
|
+
streams.append(stream)
|
|
65
92
|
return httpx.Response(
|
|
66
93
|
200,
|
|
67
|
-
|
|
94
|
+
stream=stream,
|
|
68
95
|
headers={"content-type": "text/event-stream"},
|
|
69
96
|
request=request,
|
|
70
97
|
)
|
|
@@ -77,6 +104,12 @@ async def test_chat_harness_preserves_streamed_reasoning():
|
|
|
77
104
|
)
|
|
78
105
|
completion = await chat(client, "test-model", [], [])
|
|
79
106
|
|
|
107
|
+
assert len(requests) == (2 if interruption else 1)
|
|
108
|
+
assert [r.headers["x-stainless-retry-count"] for r in requests] == (
|
|
109
|
+
["0", "1"] if interruption else ["0"]
|
|
110
|
+
)
|
|
111
|
+
assert all(r.content == requests[0].content for r in requests)
|
|
112
|
+
assert all(stream.closed for stream in streams)
|
|
80
113
|
message = completion.choices[0].message.model_dump(exclude_none=True)
|
|
81
114
|
assert message["role"] == "assistant"
|
|
82
115
|
assert message["reasoning"] == "Plan: call ls"
|
|
@@ -3,14 +3,22 @@
|
|
|
3
3
|
import argparse
|
|
4
4
|
import asyncio
|
|
5
5
|
import json
|
|
6
|
+
import logging
|
|
6
7
|
import subprocess
|
|
7
8
|
from contextlib import AsyncExitStack
|
|
8
9
|
from pathlib import Path
|
|
9
10
|
from typing import TYPE_CHECKING
|
|
10
11
|
|
|
11
12
|
import httpx
|
|
12
|
-
from openai import APIStatusError, AsyncOpenAI, omit
|
|
13
|
+
from openai import APIConnectionError, APIStatusError, AsyncOpenAI, omit
|
|
13
14
|
from openai.lib.streaming.chat import AsyncChatCompletionStream
|
|
15
|
+
from tenacity import (
|
|
16
|
+
AsyncRetrying,
|
|
17
|
+
before_sleep_log,
|
|
18
|
+
retry_if_exception_type,
|
|
19
|
+
stop_after_attempt,
|
|
20
|
+
wait_random_exponential,
|
|
21
|
+
)
|
|
14
22
|
|
|
15
23
|
if TYPE_CHECKING:
|
|
16
24
|
# The harness bundles this module into the generated script before execution.
|
|
@@ -245,9 +253,28 @@ async def chat(
|
|
|
245
253
|
kwargs["tools"] = tools
|
|
246
254
|
if tools and tool_choice is not None:
|
|
247
255
|
kwargs["tool_choice"] = tool_choice
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
256
|
+
async for attempt in AsyncRetrying(
|
|
257
|
+
retry=retry_if_exception_type((APIConnectionError, httpx.TransportError)),
|
|
258
|
+
stop=stop_after_attempt(client.max_retries + 1),
|
|
259
|
+
wait=wait_random_exponential(multiplier=0.5, max=8.0),
|
|
260
|
+
before_sleep=before_sleep_log(logging.getLogger(__name__), logging.WARNING),
|
|
261
|
+
reraise=True,
|
|
262
|
+
):
|
|
263
|
+
# Reuse the interception server's body-digest replay guard on stream retries.
|
|
264
|
+
retry_count = attempt.retry_state.attempt_number - 1
|
|
265
|
+
headers = {"x-stainless-retry-count": str(retry_count)} if retry_count else omit
|
|
266
|
+
raw_stream = await client.chat.completions.create(
|
|
267
|
+
**kwargs,
|
|
268
|
+
stream=True,
|
|
269
|
+
stream_options={"include_usage": True},
|
|
270
|
+
extra_headers=headers,
|
|
271
|
+
)
|
|
272
|
+
# The SDK retries request setup; only stream consumption is retried here.
|
|
273
|
+
with attempt:
|
|
274
|
+
return await _read_chat_completion(raw_stream)
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
async def _read_chat_completion(raw_stream):
|
|
251
278
|
# Accumulate native deltas without auto-parsing tool arguments or treating
|
|
252
279
|
# finish_reason="length" as an exception: compaction owns that decision.
|
|
253
280
|
async with AsyncChatCompletionStream(
|
|
@@ -271,7 +298,10 @@ async def chat(
|
|
|
271
298
|
or not completion.choices
|
|
272
299
|
or any(choice.finish_reason is None for choice in completion.choices)
|
|
273
300
|
):
|
|
274
|
-
raise
|
|
301
|
+
raise APIConnectionError(
|
|
302
|
+
message="Model stream ended before a completion finished",
|
|
303
|
+
request=raw_stream.response.request,
|
|
304
|
+
)
|
|
275
305
|
for choice in completion.choices:
|
|
276
306
|
overrides = message_overrides.setdefault(choice.index, {})
|
|
277
307
|
overrides.setdefault("role", "assistant")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/tests/v1/fixtures/tool_response_image_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/agentic_judge/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/isolated_verifier/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/isolated_verifier/env.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/shared_agentic_judge/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/envs/single_agent/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/browser_use/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/browser_use/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/browser_use/program.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/claude_code/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/claude_code/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/hermes_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/hermes_agent/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/hermes_agent/program.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/kimi_code/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/kimi_code/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/mini_swe_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/mini_swe_agent/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/mini_swe_agent/program.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/openclaw/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/openclaw/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/prime_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/prime_agent/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/terminus_2/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/terminus_2/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/terminus_2/program.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/harnesses/utils/compaction.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/interception/tunnel/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/interception/tunnel/custom.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/nemo_gym/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/nemo_gym/response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/textarena/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev135 → verifiers-0.3.2.dev137}/verifiers/v1/tasksets/textarena/taskset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|