verifiers 0.3.2.dev36__tar.gz → 0.3.2.dev38__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.dev36 → verifiers-0.3.2.dev38}/PKG-INFO +1 -1
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/rlm/harness.py +77 -15
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/.gitignore +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/LICENSE +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/README.md +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/pyproject.toml +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/conftest.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/fixtures/duet_v1.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/test_configs.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/test_e2e.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/test_envs.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/test_graph.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/test_judges.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/test_scoring.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/test_taskset.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/tests/v1/test_trace.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/acp/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/acp/runner.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/agent.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/debug.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/gepa.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/resume.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/clients/base.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/agent.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/cli/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/cli/debug.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/cli/env.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/cli/eval.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/cli/init.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/cli/replay.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/cli/validate.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/client.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/env.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/judge.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/retries.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/runtime.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/task.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/configs/taskset.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/env.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/envs/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/envs/agentic_judge/env.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/envs/best_of_n/env.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/envs/single_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/envs/single_agent/env.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/envs/user_sim/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/envs/user_sim/env.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/episode.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/errors.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/gepa/dataset.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/graph.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/browser_use/program.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/node.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/pool/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/pool/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/utils/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/utils/compaction.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/utils/core.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/utils/launch.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/utils/mcp.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/interception/tool.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/judge.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/runtimes/docker/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/runtimes/docker/egress.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/semantic.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/serve/encoding.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/session.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/state.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/task.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/harbor/env.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/lean/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/lean/scoring.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/lean/taskset.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/trace.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/types.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/artifacts.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/compile.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/decorators.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/git.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/loaders.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/paths.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/platform.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/prime.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/retries.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/utils/score.py +0 -0
- {verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/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.dev38
|
|
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
|
|
@@ -5,7 +5,14 @@ import logging
|
|
|
5
5
|
import shlex
|
|
6
6
|
from typing import Any, Literal
|
|
7
7
|
|
|
8
|
-
from pydantic import
|
|
8
|
+
from pydantic import (
|
|
9
|
+
BaseModel,
|
|
10
|
+
ConfigDict,
|
|
11
|
+
Field,
|
|
12
|
+
NonNegativeInt,
|
|
13
|
+
PositiveInt,
|
|
14
|
+
model_validator,
|
|
15
|
+
)
|
|
9
16
|
from pydantic_config import BaseConfig
|
|
10
17
|
|
|
11
18
|
from verifiers.v1.acp import ACPConfig, ACPHarness, ACPTurn, JsonObject
|
|
@@ -17,7 +24,7 @@ from verifiers.v1.trace import Trace
|
|
|
17
24
|
|
|
18
25
|
logger = logging.getLogger(__name__)
|
|
19
26
|
|
|
20
|
-
BuiltinSkill = Literal["edit", "search"]
|
|
27
|
+
BuiltinSkill = Literal["bash", "edit", "fetch", "search"]
|
|
21
28
|
|
|
22
29
|
RLM_REPO = "github.com/PrimeIntellect-ai/nano-rlm.git"
|
|
23
30
|
RLM_CACHE_DIR = "/tmp/vf-rlm"
|
|
@@ -40,18 +47,45 @@ class CompactionConfig(BaseConfig):
|
|
|
40
47
|
summarize_at_tokens: PositiveInt | None = None
|
|
41
48
|
"""Compact at this token count. When unset, compact when 16k tokens remain below the
|
|
42
49
|
model context window when the provider advertises it."""
|
|
50
|
+
max_compactions: PositiveInt | None = None
|
|
51
|
+
"""Compactions per session before the engine stops compacting; `None` =
|
|
52
|
+
nano-rlm's default."""
|
|
43
53
|
|
|
44
54
|
|
|
45
55
|
class RLMHarnessConfig(HarnessConfig):
|
|
46
|
-
version: str = Field(default="
|
|
47
|
-
"""Git ref (branch, tag, or commit) of nano-rlm to install.
|
|
48
|
-
|
|
49
|
-
|
|
56
|
+
version: str = Field(default="dd2c04f", min_length=1)
|
|
57
|
+
"""Git ref (branch, tag, or commit) of nano-rlm to install. Must know every
|
|
58
|
+
field this harness puts on the wire, i.e. be at least the default ref."""
|
|
59
|
+
max_depth: NonNegativeInt | None = None
|
|
60
|
+
"""Recursion depth RLM may spawn sub-agents to; `None` = nano-rlm's default (1).
|
|
61
|
+
Set 0 to disable recursion."""
|
|
50
62
|
builtin_skills: list[BuiltinSkill] = Field(default_factory=list)
|
|
51
63
|
"""Built-in rlm skills to enable (RLM_SKILLS), e.g. `["edit"]`; empty enables none.
|
|
52
64
|
The tool set is fixed (ipython); the base `skills` field takes SKILL.md paths."""
|
|
53
|
-
compaction: CompactionConfig | None = None
|
|
54
|
-
"""Context compaction
|
|
65
|
+
compaction: CompactionConfig | bool | None = None
|
|
66
|
+
"""Context compaction: a `[compaction]` section (or `true`) enables it with the
|
|
67
|
+
given settings, `false` disables it (an overflowing session then fails), and
|
|
68
|
+
unset defers to nano-rlm's default (on, automatic thresholds, bounded by its
|
|
69
|
+
default 1M tree-token budget)."""
|
|
70
|
+
max_concurrent_subagents: PositiveInt | None = None
|
|
71
|
+
"""Sub-agents running at once per session tree; `None` = nano-rlm's default (4).
|
|
72
|
+
nano-rlm requires it to be at least `max_depth`."""
|
|
73
|
+
max_total_turns: PositiveInt | None = None
|
|
74
|
+
"""Tree-total turn budget (one turn = one work-loop model call, any engine); every
|
|
75
|
+
engine stops before its next call once spent. `None` = uncapped."""
|
|
76
|
+
max_total_tokens: PositiveInt | None = None
|
|
77
|
+
"""Tree-total budget of NEW tokens (completion + uncached prompt) across the session
|
|
78
|
+
tree; once spent every engine stops and no further sub-agents spawn. `None` = unbounded."""
|
|
79
|
+
max_tool_output_bytes: PositiveInt | None = None
|
|
80
|
+
"""Byte budget for a single tool result entering the conversation (middle truncation);
|
|
81
|
+
overrides rlm's built-in 20KB default in either direction."""
|
|
82
|
+
append_to_system_prompt: str | None = None
|
|
83
|
+
"""Appended to the root engine's system prompt, after the taskset's system prompt."""
|
|
84
|
+
subagent_append_to_system_prompt: str | None = None
|
|
85
|
+
"""Append for sub-agent engines that can still delegate (depth >= 1, below
|
|
86
|
+
`max_depth`); unset falls back to `append_to_system_prompt`."""
|
|
87
|
+
leaf_append_to_system_prompt: str | None = None
|
|
88
|
+
"""Append for depth-capped leaf engines; unset falls back to the sub-agent append."""
|
|
55
89
|
|
|
56
90
|
@model_validator(mode="after")
|
|
57
91
|
def reject_disabled_tools(self) -> "RLMHarnessConfig":
|
|
@@ -60,6 +94,15 @@ class RLMHarnessConfig(HarnessConfig):
|
|
|
60
94
|
"the rlm harness has a fixed tool set (ipython) and does not support "
|
|
61
95
|
"`disabled_tools`; use `builtin_skills` to enable built-in skills instead."
|
|
62
96
|
)
|
|
97
|
+
if (
|
|
98
|
+
self.max_depth is not None
|
|
99
|
+
and self.max_concurrent_subagents is not None
|
|
100
|
+
and self.max_concurrent_subagents < self.max_depth
|
|
101
|
+
):
|
|
102
|
+
raise ValueError(
|
|
103
|
+
"`max_concurrent_subagents` must be at least `max_depth` "
|
|
104
|
+
"(nano-rlm rejects the policy otherwise)."
|
|
105
|
+
)
|
|
63
106
|
return self
|
|
64
107
|
|
|
65
108
|
|
|
@@ -109,6 +152,24 @@ class RLMHarness(ACPHarness[RLMHarnessConfig]):
|
|
|
109
152
|
system_prompt: str | None,
|
|
110
153
|
) -> JsonObject:
|
|
111
154
|
compaction = self.config.compaction
|
|
155
|
+
policy_knobs: dict[str, Any] = {
|
|
156
|
+
"max_depth": self.config.max_depth,
|
|
157
|
+
"max_concurrent_subagents": self.config.max_concurrent_subagents,
|
|
158
|
+
"max_total_turns": self.config.max_total_turns,
|
|
159
|
+
"max_total_tokens": self.config.max_total_tokens,
|
|
160
|
+
"max_tool_output_bytes": self.config.max_tool_output_bytes,
|
|
161
|
+
}
|
|
162
|
+
if isinstance(compaction, bool):
|
|
163
|
+
policy_knobs["compaction"] = compaction
|
|
164
|
+
elif compaction is not None:
|
|
165
|
+
policy_knobs["compaction"] = True
|
|
166
|
+
policy_knobs["summarize_at_tokens"] = compaction.summarize_at_tokens
|
|
167
|
+
policy_knobs["max_compactions"] = compaction.max_compactions
|
|
168
|
+
appends = [
|
|
169
|
+
text
|
|
170
|
+
for text in (system_prompt, self.config.append_to_system_prompt)
|
|
171
|
+
if text
|
|
172
|
+
]
|
|
112
173
|
payload = {
|
|
113
174
|
"session_id": trace.id,
|
|
114
175
|
"model": ctx.model,
|
|
@@ -116,16 +177,17 @@ class RLMHarness(ACPHarness[RLMHarnessConfig]):
|
|
|
116
177
|
"base_url": endpoint,
|
|
117
178
|
"api_key": secret,
|
|
118
179
|
},
|
|
180
|
+
# None = passthrough: the key stays off the wire and nano-rlm's own
|
|
181
|
+
# default applies.
|
|
119
182
|
"policy": {
|
|
120
|
-
|
|
121
|
-
"compaction": compaction is not None,
|
|
122
|
-
"summarize_at_tokens": (
|
|
123
|
-
compaction.summarize_at_tokens if compaction else None
|
|
124
|
-
),
|
|
125
|
-
"max_concurrent_subagents": max(4, self.config.max_depth),
|
|
183
|
+
key: value for key, value in policy_knobs.items() if value is not None
|
|
126
184
|
},
|
|
127
185
|
"system_prompt_path": None,
|
|
128
|
-
"append_to_system_prompt":
|
|
186
|
+
"append_to_system_prompt": "\n\n".join(appends) or None,
|
|
187
|
+
"subagent_append_to_system_prompt": (
|
|
188
|
+
self.config.subagent_append_to_system_prompt
|
|
189
|
+
),
|
|
190
|
+
"leaf_append_to_system_prompt": self.config.leaf_append_to_system_prompt,
|
|
129
191
|
"skills": list(self.config.builtin_skills),
|
|
130
192
|
"kernel_env": runtime.env,
|
|
131
193
|
"search_api_key": self.config.resolved_env.get("SERPER_API_KEY"),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.dev36 → verifiers-0.3.2.dev38}/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.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/browser_use/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/browser_use/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/browser_use/program.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/claude_code/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/claude_code/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/hermes_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/hermes_agent/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/hermes_agent/program.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/kimi_code/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/mini_swe_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/mini_swe_agent/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/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
|
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/prime_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/prime_agent/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/terminus_2/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/verifiers/v1/harnesses/terminus_2/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev36 → verifiers-0.3.2.dev38}/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.dev36 → verifiers-0.3.2.dev38}/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
|