verifiers 0.3.2.dev156__tar.gz → 0.3.2.dev157__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.dev156 → verifiers-0.3.2.dev157}/PKG-INFO +1 -1
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/artifacts.py +61 -2
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/.gitignore +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/LICENSE +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/README.md +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/pyproject.toml +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/conftest.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/fixtures/duet_v1.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/test_configs.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/test_e2e.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/test_envs.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/test_graph.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/test_judges.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/test_platform_run.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/test_scoring.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/test_serve_delta.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/test_taskset.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/tests/v1/test_trace.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/acp/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/acp/runner.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/agent.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/debug.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/eval/hint.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/gepa.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/resume.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/clients/base.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/agent.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/cli/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/cli/debug.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/cli/env.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/cli/eval.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/cli/init.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/cli/replay.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/cli/validate.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/client.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/env.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/judge.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/retries.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/runtime.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/select.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/task.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/configs/taskset.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/env.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/agentic_judge/env.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/best_of_n/env.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/isolated_verifier/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/isolated_verifier/env.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/single_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/single_agent/env.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/user_sim/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/user_sim/env.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/episode.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/errors.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/gepa/dataset.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/graph.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/browser_use/program.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/codex/gate.mjs +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/node.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/pi/gate.mjs +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/utils/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/utils/compaction.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/utils/core.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/utils/install.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/utils/launch.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/utils/mcp.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/judge.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/runtimes/apptainer.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/runtimes/container.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/runtimes/docker/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/runtimes/docker/egress.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/semantic.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/serve/delta.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/serve/encoding.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/session.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/state.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/task.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/harbor/compose.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/harbor/env.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/harbor/toolset.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/trace.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/types.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/compile.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/decorators.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/git.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/loaders.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/paths.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/platform.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/prime.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/retries.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/scope.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/score.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/utils/trace_store.py +0 -0
- {verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/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.dev157
|
|
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
|
|
@@ -141,7 +141,8 @@ async def restore(runtime: Runtime, collected: dict[str, bytes | None]) -> None:
|
|
|
141
141
|
|
|
142
142
|
Archive bytes are untrusted: the agent controls both their source files and the
|
|
143
143
|
runtime tooling that creates them. Every archive is therefore validated on the host
|
|
144
|
-
before the grading runtime is changed.
|
|
144
|
+
before the grading runtime is changed. Regular files, directories, and confined links
|
|
145
|
+
can travel; link chains and extraction through symlinks cannot.
|
|
145
146
|
"""
|
|
146
147
|
if not collected:
|
|
147
148
|
return
|
|
@@ -214,6 +215,9 @@ def _validate_restore(root: str, archive: bytes | None) -> None:
|
|
|
214
215
|
|
|
215
216
|
try:
|
|
216
217
|
with tarfile.open(fileobj=io.BytesIO(archive), mode="r:") as tar:
|
|
218
|
+
regular_files: set[PurePosixPath] = set()
|
|
219
|
+
members: set[PurePosixPath] = set()
|
|
220
|
+
symlinks: dict[PurePosixPath, str] = {}
|
|
217
221
|
for member in tar:
|
|
218
222
|
member_path = PurePosixPath(member.name)
|
|
219
223
|
destination = PurePosixPath("/") / member_path
|
|
@@ -227,10 +231,65 @@ def _validate_restore(root: str, archive: bytes | None) -> None:
|
|
|
227
231
|
f"artifact member {member.name!r} is outside declared root "
|
|
228
232
|
f"{root!r}"
|
|
229
233
|
)
|
|
230
|
-
if
|
|
234
|
+
if member_path in members:
|
|
235
|
+
raise RuntimeError(f"duplicate artifact member {member.name!r}")
|
|
236
|
+
members.add(member_path)
|
|
237
|
+
if member.issym():
|
|
238
|
+
symlinks[member_path] = member.linkname
|
|
239
|
+
elif member.islnk():
|
|
240
|
+
# Tar deduplicates hard-linked build outputs (e.g. Cargo's build
|
|
241
|
+
# scripts). A target must already be a regular member of this
|
|
242
|
+
# archive, never a path supplied by the verifier image.
|
|
243
|
+
target = PurePosixPath(member.linkname)
|
|
244
|
+
if (
|
|
245
|
+
not member.linkname
|
|
246
|
+
or target.is_absolute()
|
|
247
|
+
or ".." in target.parts
|
|
248
|
+
or target not in regular_files
|
|
249
|
+
or target == member_path
|
|
250
|
+
):
|
|
251
|
+
raise RuntimeError(
|
|
252
|
+
f"artifact hard link {member.name!r} has unsafe target "
|
|
253
|
+
f"{member.linkname!r}"
|
|
254
|
+
)
|
|
255
|
+
elif not (member.isfile() or member.isdir()):
|
|
231
256
|
raise RuntimeError(
|
|
232
257
|
f"artifact member {member.name!r} is a link or special file"
|
|
233
258
|
)
|
|
259
|
+
if member.isfile():
|
|
260
|
+
regular_files.add(member_path)
|
|
261
|
+
# Check after reading the whole archive, so a later symlink cannot
|
|
262
|
+
# turn an earlier member's parent or a link target into a redirection.
|
|
263
|
+
for member_path in members:
|
|
264
|
+
if any(parent in symlinks for parent in member_path.parents):
|
|
265
|
+
raise RuntimeError(
|
|
266
|
+
f"artifact member {str(member_path)!r} traverses a symlink"
|
|
267
|
+
)
|
|
268
|
+
relative_root = root_path.relative_to("/")
|
|
269
|
+
for member_path, linkname in symlinks.items():
|
|
270
|
+
target = PurePosixPath(linkname)
|
|
271
|
+
if not linkname or target.is_absolute():
|
|
272
|
+
raise RuntimeError(
|
|
273
|
+
f"artifact symlink {str(member_path)!r} has unsafe target "
|
|
274
|
+
f"{linkname!r}"
|
|
275
|
+
)
|
|
276
|
+
resolved = member_path.parent
|
|
277
|
+
if not resolved.is_relative_to(relative_root):
|
|
278
|
+
raise RuntimeError(
|
|
279
|
+
f"artifact symlink {str(member_path)!r} has unsafe target "
|
|
280
|
+
f"{linkname!r}"
|
|
281
|
+
)
|
|
282
|
+
# Walk before normalizing '..': a/../b is unsafe if a is itself
|
|
283
|
+
# a symlink. Missing internal targets are safe (e.g. build outputs).
|
|
284
|
+
for part in target.parts:
|
|
285
|
+
resolved = resolved.parent if part == ".." else resolved / part
|
|
286
|
+
if not resolved.is_relative_to(relative_root) or any(
|
|
287
|
+
path in symlinks for path in (resolved, *resolved.parents)
|
|
288
|
+
):
|
|
289
|
+
raise RuntimeError(
|
|
290
|
+
f"artifact symlink {str(member_path)!r} has unsafe target "
|
|
291
|
+
f"{linkname!r}"
|
|
292
|
+
)
|
|
234
293
|
except tarfile.TarError as exc:
|
|
235
294
|
raise RuntimeError(f"unreadable artifact archive for {root!r}: {exc}") from exc
|
|
236
295
|
|
|
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.dev156 → verifiers-0.3.2.dev157}/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
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/agentic_judge/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/isolated_verifier/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/isolated_verifier/env.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/envs/shared_agentic_judge/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/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.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/browser_use/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/browser_use/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/browser_use/program.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/claude_code/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/claude_code/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/hermes_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/hermes_agent/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/hermes_agent/program.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/kimi_code/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/kimi_code/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/mini_swe_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/mini_swe_agent/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/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.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/openclaw/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/openclaw/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/prime_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/prime_agent/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/terminus_2/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/terminus_2/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/harnesses/terminus_2/program.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/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
|
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/interception/tunnel/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/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
|
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/nemo_gym/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/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.dev156 → verifiers-0.3.2.dev157}/verifiers/v1/tasksets/textarena/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev156 → verifiers-0.3.2.dev157}/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
|