verifiers 0.3.2.dev40__tar.gz → 0.3.2.dev42__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.dev40 → verifiers-0.3.2.dev42}/PKG-INFO +1 -1
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/openclaw/harness.py +59 -15
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/rlm/harness.py +6 -3
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/.gitignore +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/LICENSE +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/README.md +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/pyproject.toml +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/conftest.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/fixtures/duet_v1.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/test_configs.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/test_e2e.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/test_envs.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/test_graph.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/test_judges.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/test_scoring.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/test_taskset.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/tests/v1/test_trace.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/acp/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/acp/runner.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/agent.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/debug.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/gepa.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/resume.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/clients/base.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/agent.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/cli/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/cli/debug.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/cli/env.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/cli/eval.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/cli/init.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/cli/replay.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/cli/validate.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/client.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/env.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/judge.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/retries.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/runtime.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/task.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/configs/taskset.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/env.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/envs/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/envs/agentic_judge/env.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/envs/best_of_n/env.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/envs/single_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/envs/single_agent/env.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/envs/user_sim/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/envs/user_sim/env.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/episode.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/errors.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/gepa/dataset.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/graph.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/browser_use/program.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/node.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/pool/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/pool/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/utils/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/utils/compaction.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/utils/core.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/utils/launch.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/utils/mcp.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/interception/tool.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/judge.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/runtimes/docker/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/runtimes/docker/egress.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/semantic.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/serve/encoding.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/session.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/state.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/task.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/harbor/env.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/lean/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/lean/scoring.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/lean/taskset.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/trace.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/types.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/artifacts.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/compile.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/decorators.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/git.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/loaders.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/paths.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/platform.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/prime.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/retries.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/utils/score.py +0 -0
- {verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/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.dev42
|
|
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,10 +20,48 @@ logger = logging.getLogger(__name__)
|
|
|
20
20
|
# OpenClaw and its bundled Node runtime exceed the small /tmp tmpfs in some VMs.
|
|
21
21
|
OPENCLAW_DIR = "/var/tmp/vf-openclaw-{version}"
|
|
22
22
|
OPENCLAW_BIN = f"{OPENCLAW_DIR}/bin/openclaw"
|
|
23
|
-
|
|
23
|
+
SETUP = r"""
|
|
24
24
|
set -e
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
if [ ! -x "$VF_OPENCLAW_BIN" ]; then
|
|
26
|
+
command -v curl >/dev/null || (apt-get update -qq && apt-get install -y -qq curl ca-certificates >/dev/null)
|
|
27
|
+
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh \
|
|
28
|
+
| bash -s -- --prefix "$VF_OPENCLAW_DIR" --version "$VF_OPENCLAW_VERSION" --no-onboard
|
|
29
|
+
fi
|
|
30
|
+
set -- $(find "$VF_OPENCLAW_DIR/tools" -type f -path '*/openclaw/dist/session-accessor.sqlite-transcript-store-*.js')
|
|
31
|
+
[ "$#" -eq 1 ] || { echo "could not locate OpenClaw's transcript sanitizer for replay patch" >&2; exit 1; }
|
|
32
|
+
"$VF_OPENCLAW_DIR/tools/node/bin/node" - "$1" <<'NODE'
|
|
33
|
+
const fs = require("node:fs");
|
|
34
|
+
const file = process.argv[2];
|
|
35
|
+
const stat = fs.statSync(file);
|
|
36
|
+
if (stat.size > 1_000_000) {
|
|
37
|
+
throw new Error("OpenClaw's transcript sanitizer exceeds the replay patch size limit");
|
|
38
|
+
}
|
|
39
|
+
const source = fs.readFileSync(file, "utf8");
|
|
40
|
+
const patches = [
|
|
41
|
+
[
|
|
42
|
+
"const OPAQUE_REPLAY_TOKEN_RE = /^[A-Za-z0-9+/_-]+={0,2}$/;",
|
|
43
|
+
"const OPAQUE_REPLAY_TOKEN_RE = /^[A-Za-z0-9+/_-]+={0,2}(?:[.][A-Za-z0-9+/_-]+={0,2})*$/;",
|
|
44
|
+
],
|
|
45
|
+
["\t\tsummary: [],", "\t\tsummary: parsed.summary ?? [],"],
|
|
46
|
+
];
|
|
47
|
+
let patched = source;
|
|
48
|
+
for (const [before, after] of patches) {
|
|
49
|
+
patched = patched.replaceAll(before, after);
|
|
50
|
+
}
|
|
51
|
+
if (!patches.every(([, after]) => patched.includes(after))) {
|
|
52
|
+
throw new Error("OpenClaw's transcript sanitizer does not match the replay patch");
|
|
53
|
+
}
|
|
54
|
+
if (patched !== source) {
|
|
55
|
+
const temporary = `${file}.${process.pid}.tmp`;
|
|
56
|
+
try {
|
|
57
|
+
// Publish complete bytes at once so live and concurrent setups never see a partial bundle.
|
|
58
|
+
fs.writeFileSync(temporary, patched, { mode: stat.mode });
|
|
59
|
+
fs.renameSync(temporary, file);
|
|
60
|
+
} finally {
|
|
61
|
+
fs.rmSync(temporary, { force: true });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
NODE
|
|
27
65
|
"""
|
|
28
66
|
|
|
29
67
|
OPENCLAW_COMMAND = [
|
|
@@ -82,7 +120,7 @@ wait "$acp_pid"
|
|
|
82
120
|
|
|
83
121
|
|
|
84
122
|
class OpenClawHarnessConfig(HarnessConfig):
|
|
85
|
-
version: str = Field(default="2026.
|
|
123
|
+
version: str = Field(default="2026.8.1", pattern=r"^[A-Za-z0-9._+-]+$")
|
|
86
124
|
"""OpenClaw release to install, pinned for reproducibility."""
|
|
87
125
|
use_bundled_skill: bool = True
|
|
88
126
|
"""Enable OpenClaw's bundled skill catalog in addition to uploaded harness skills."""
|
|
@@ -117,20 +155,27 @@ class OpenClawHarness(ACPHarness[OpenClawHarnessConfig]):
|
|
|
117
155
|
await runtime.write(ready_path, b"")
|
|
118
156
|
directory = OPENCLAW_DIR.format(version=self.config.version)
|
|
119
157
|
binary = OPENCLAW_BIN.format(version=self.config.version)
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
)
|
|
123
|
-
ensure = shlex.quote(f"[ -x {binary} ] || ({script})")
|
|
158
|
+
# Borrowed runtimes can share this cache, so one filesystem lock owns both
|
|
159
|
+
# installation and the transcript adjustment.
|
|
124
160
|
guarded = (
|
|
125
|
-
f"mkdir -p {directory} && "
|
|
126
|
-
f'"$(command -v flock || command -v lockf)"
|
|
127
|
-
f"
|
|
161
|
+
f"mkdir -p {shlex.quote(directory)} && "
|
|
162
|
+
f'"$(command -v flock || command -v lockf)" '
|
|
163
|
+
f"{shlex.quote(f'{directory}/install.lock')} "
|
|
164
|
+
f"bash -o pipefail -c {shlex.quote(SETUP)}"
|
|
128
165
|
)
|
|
129
166
|
logger.info("openclaw: ensuring OpenClaw %s is installed", self.config.version)
|
|
130
|
-
result = await runtime.run(
|
|
167
|
+
result = await runtime.run(
|
|
168
|
+
["sh", "-c", guarded],
|
|
169
|
+
{
|
|
170
|
+
**self.config.resolved_env,
|
|
171
|
+
"VF_OPENCLAW_BIN": binary,
|
|
172
|
+
"VF_OPENCLAW_DIR": directory,
|
|
173
|
+
"VF_OPENCLAW_VERSION": self.config.version,
|
|
174
|
+
},
|
|
175
|
+
)
|
|
131
176
|
if result.exit_code != 0:
|
|
132
177
|
detail = (result.stderr or result.stdout).strip()[-500:]
|
|
133
|
-
raise RuntimeError(f"OpenClaw
|
|
178
|
+
raise RuntimeError(f"OpenClaw setup failed: {detail}")
|
|
134
179
|
await super().setup(runtime)
|
|
135
180
|
|
|
136
181
|
async def prepare_acp(
|
|
@@ -149,8 +194,6 @@ class OpenClawHarness(ACPHarness[OpenClawHarnessConfig]):
|
|
|
149
194
|
config_path = f"{state_dir}/openclaw.json"
|
|
150
195
|
skills_dir = f"{state_dir}/skills"
|
|
151
196
|
config = {
|
|
152
|
-
# Provider state must remain byte-exact within this isolated rollout.
|
|
153
|
-
"logging": {"redactSensitive": "off"},
|
|
154
197
|
"gateway": {
|
|
155
198
|
"mode": "local",
|
|
156
199
|
"bind": "loopback",
|
|
@@ -180,6 +223,7 @@ class OpenClawHarness(ACPHarness[OpenClawHarnessConfig]):
|
|
|
180
223
|
provider: {
|
|
181
224
|
"baseUrl": endpoint,
|
|
182
225
|
"apiKey": "${OPENCLAW_INTERCEPT_KEY}",
|
|
226
|
+
"request": {"allowPrivateNetwork": True},
|
|
183
227
|
}
|
|
184
228
|
},
|
|
185
229
|
},
|
|
@@ -68,8 +68,8 @@ class RLMHarnessConfig(HarnessConfig):
|
|
|
68
68
|
unset defers to nano-rlm's default (on, automatic thresholds, bounded by its
|
|
69
69
|
default 1M tree-token budget)."""
|
|
70
70
|
max_concurrent_subagents: PositiveInt | None = None
|
|
71
|
-
"""Sub-agents running at once per session tree; `None` = nano-rlm's default (4)
|
|
72
|
-
|
|
71
|
+
"""Sub-agents running at once per session tree; `None` = nano-rlm's default (4),
|
|
72
|
+
raised to an explicit `max_depth` when needed to keep the policy valid."""
|
|
73
73
|
max_total_turns: PositiveInt | None = None
|
|
74
74
|
"""Tree-total turn budget (one turn = one work-loop model call, any engine); every
|
|
75
75
|
engine stops before its next call once spent. `None` = uncapped."""
|
|
@@ -152,9 +152,12 @@ class RLMHarness(ACPHarness[RLMHarnessConfig]):
|
|
|
152
152
|
system_prompt: str | None,
|
|
153
153
|
) -> JsonObject:
|
|
154
154
|
compaction = self.config.compaction
|
|
155
|
+
max_concurrent_subagents = self.config.max_concurrent_subagents
|
|
156
|
+
if max_concurrent_subagents is None and self.config.max_depth is not None:
|
|
157
|
+
max_concurrent_subagents = max(4, self.config.max_depth)
|
|
155
158
|
policy_knobs: dict[str, Any] = {
|
|
156
159
|
"max_depth": self.config.max_depth,
|
|
157
|
-
"max_concurrent_subagents":
|
|
160
|
+
"max_concurrent_subagents": max_concurrent_subagents,
|
|
158
161
|
"max_total_turns": self.config.max_total_turns,
|
|
159
162
|
"max_total_tokens": self.config.max_total_tokens,
|
|
160
163
|
"max_tool_output_bytes": self.config.max_tool_output_bytes,
|
|
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
|
|
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.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/envs/shared_agentic_judge/__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
|
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/browser_use/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/browser_use/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/browser_use/program.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/claude_code/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/claude_code/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/hermes_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/hermes_agent/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/hermes_agent/program.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/kimi_code/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/mini_swe_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/mini_swe_agent/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/mini_swe_agent/program.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.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/prime_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/prime_agent/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/terminus_2/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/terminus_2/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/harnesses/terminus_2/program.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
|
{verifiers-0.3.2.dev40 → verifiers-0.3.2.dev42}/verifiers/v1/interception/tunnel/__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
|
|
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
|