verifiers 0.4.1.dev4__tar.gz → 0.4.1.dev5__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.4.1.dev4 → verifiers-0.4.1.dev5}/PKG-INFO +1 -1
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/pyproject.toml +0 -1
- verifiers-0.4.1.dev4/verifiers/v1/cli/init.py +0 -252
- verifiers-0.4.1.dev4/verifiers/v1/configs/cli/init.py +0 -17
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/.gitignore +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/LICENSE +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/README.md +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/conftest.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/agent_user_harness_v1.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/agent_user_v1.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/duet_v1.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/echo_acp_resume_v1.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/echo_v1.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/network_policy_v1.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/pyproject.toml +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/skill_codeword_v1.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/skills/project-codeword/SKILL.md +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/grid.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_agent_user.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_agentic_judge.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_examples.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_limits.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_multi_agent.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_multi_turn.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_multi_turn_tool.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_multimodal_tool.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_network_policy.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_resume_tool.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_rubric_judge.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_shared_tool.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_single_turn.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_skills.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_stateful_tool.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_user_echo.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/test_user_sim.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/cli/test_replay.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/configs/test_eval.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/conftest.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/harnesses/test_core.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/harnesses/test_rlm.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/interception/test_tunnel.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/judges/conftest.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/judges/test_judge.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/judges/test_reference.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/judges/test_rubric.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/runtimes/test_e2b.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/serve/test_client.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/serve/test_delta.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/serve/test_pool.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/test_agent.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/test_graph.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/test_semantic.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/test_task.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/test_taskset.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/test_trace.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/utils/test_compile.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/utils/test_loaders.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/utils/test_platform.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/unit/utils/test_score.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/acp/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/acp/runner.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/agent.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/debug.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/eval/hint.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/gepa.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/resume.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/clients/base.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/agent.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/cli/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/cli/debug.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/cli/env.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/cli/eval.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/cli/replay.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/cli/validate.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/client.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/env.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/judge.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/retries.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/runtime.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/select.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/task.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/configs/taskset.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/env.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/envs/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/envs/agentic_judge/env.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/envs/best_of_n/env.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/envs/isolated_verifier/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/envs/isolated_verifier/env.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/envs/single_agent/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/envs/single_agent/env.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/envs/user_sim/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/envs/user_sim/env.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/episode.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/errors.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/gepa/dataset.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/graph.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/browser_use/program.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/codex/gate.mjs +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/node.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/pi/gate.mjs +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/utils/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/utils/compaction.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/utils/core.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/utils/install.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/utils/launch.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/harnesses/utils/mcp.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/judge.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/judges/decision.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/runtimes/apptainer.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/runtimes/container.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/runtimes/docker/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/runtimes/docker/egress.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/runtimes/e2b.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/semantic.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/serve/delta.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/serve/encoding.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/session.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/state.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/task.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/harbor/compose.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/harbor/env.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/harbor/toolset.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/trace.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/types.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/artifacts.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/compile.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/decorators.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/eval.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/git.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/loaders.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/paths.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/platform.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/prime.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/retries.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/scope.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/score.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/trace_store.py +0 -0
- {verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/utils/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.4.1.
|
|
3
|
+
Version: 0.4.1.dev5
|
|
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
|
|
@@ -157,7 +157,6 @@ vf-eval = "verifiers.v1.cli.eval.main:main"
|
|
|
157
157
|
vf-validate = "verifiers.v1.cli.validate:main"
|
|
158
158
|
vf-debug = "verifiers.v1.cli.debug:main"
|
|
159
159
|
vf-replay = "verifiers.v1.cli.replay:main"
|
|
160
|
-
vf-init = "verifiers.v1.cli.init:main"
|
|
161
160
|
vf-gepa = "verifiers.v1.cli.gepa:main"
|
|
162
161
|
|
|
163
162
|
# hatchling configuration
|
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
"""Scaffold v1 environment packages."""
|
|
2
|
-
|
|
3
|
-
import sys
|
|
4
|
-
from pathlib import Path
|
|
5
|
-
|
|
6
|
-
from pydantic_config import cli
|
|
7
|
-
|
|
8
|
-
from verifiers.v1.configs.cli.init import InitConfig
|
|
9
|
-
|
|
10
|
-
USAGE = (
|
|
11
|
-
"usage: uv run vf-init <name> [--path ./environments] [-T/--add-tool] "
|
|
12
|
-
"[-H/--add-harness]\n"
|
|
13
|
-
" scaffold a new environment package"
|
|
14
|
-
)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def _names(name: str) -> tuple[str, str, str, str]:
|
|
18
|
-
dash = name.strip().strip("/").replace("_", "-").lower()
|
|
19
|
-
pkg = dash.replace("-", "_")
|
|
20
|
-
stem = pkg.removesuffix("_v1")
|
|
21
|
-
prefix = "".join(part[:1].upper() + part[1:] for part in stem.split("_") if part)
|
|
22
|
-
if not prefix or not prefix[0].isalpha():
|
|
23
|
-
prefix = f"Env{prefix}"
|
|
24
|
-
return dash, pkg, stem, prefix
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def _write(path: Path, content: str) -> None:
|
|
28
|
-
path.parent.mkdir(parents=True, exist_ok=True)
|
|
29
|
-
path.write_text(content)
|
|
30
|
-
print(f" write {path}")
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
def _pyproject(dash: str, pkg: str) -> str:
|
|
34
|
-
return f"""\
|
|
35
|
-
[project]
|
|
36
|
-
name = "{dash}"
|
|
37
|
-
version = "0.1.0"
|
|
38
|
-
description = "{dash} — <one-line description>."
|
|
39
|
-
requires-python = ">=3.11"
|
|
40
|
-
dependencies = ["verifiers"]
|
|
41
|
-
|
|
42
|
-
[build-system]
|
|
43
|
-
requires = ["hatchling"]
|
|
44
|
-
build-backend = "hatchling.build"
|
|
45
|
-
|
|
46
|
-
[tool.hatch.build.targets.wheel]
|
|
47
|
-
packages = ["{pkg}"]
|
|
48
|
-
"""
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
def _init_py(pkg: str, prefix: str, add_harness: bool) -> str:
|
|
52
|
-
lines = [f"from {pkg}.taskset import {prefix}Taskset"]
|
|
53
|
-
exports = [f"{prefix}Taskset"]
|
|
54
|
-
if add_harness:
|
|
55
|
-
lines.append(f"from {pkg}.harness import {prefix}Harness")
|
|
56
|
-
exports.append(f"{prefix}Harness")
|
|
57
|
-
exports_repr = ", ".join(f'"{e}"' for e in exports)
|
|
58
|
-
return "\n".join(lines) + f"\n\n__all__ = [{exports_repr}]\n"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
def _taskset_py(pkg: str, prefix: str, *, add_tool: bool) -> str:
|
|
62
|
-
imports = "import verifiers.v1 as vf"
|
|
63
|
-
local_imports: list[str] = []
|
|
64
|
-
task_config_fields = ""
|
|
65
|
-
task_decls = ""
|
|
66
|
-
if add_tool:
|
|
67
|
-
local_imports.append(f"from {pkg}.servers.tool import {prefix}Toolset")
|
|
68
|
-
task_config_fields += "\n tools: vf.ToolsetConfig = vf.ToolsetConfig()"
|
|
69
|
-
task_decls += (
|
|
70
|
-
"\n\n @classmethod"
|
|
71
|
-
f"\n def toolsets(cls, config: {prefix}TaskConfig) -> list[vf.Toolset]:"
|
|
72
|
-
f"\n return [{prefix}Toolset(config.tools)]"
|
|
73
|
-
"\n"
|
|
74
|
-
)
|
|
75
|
-
if local_imports:
|
|
76
|
-
imports += "\n\n" + "\n".join(local_imports)
|
|
77
|
-
task_config = (
|
|
78
|
-
f"\n\nclass {prefix}TaskConfig(vf.TaskConfig):\n"
|
|
79
|
-
' """Knobs the task reads from ``self.config``; configure them under '
|
|
80
|
-
f'``--env.taskset.task.*``."""{task_config_fields}\n'
|
|
81
|
-
if add_tool
|
|
82
|
-
else ""
|
|
83
|
-
)
|
|
84
|
-
task_generic = (
|
|
85
|
-
f"{prefix}Data, vf.State, {prefix}TaskConfig" if add_tool else f"{prefix}Data"
|
|
86
|
-
)
|
|
87
|
-
config_body = ' num_tasks: int = 5\n """How many tasks to build."""\n' + (
|
|
88
|
-
f" task: {prefix}TaskConfig = {prefix}TaskConfig()\n" if add_tool else ""
|
|
89
|
-
)
|
|
90
|
-
return f'''\
|
|
91
|
-
{imports}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
class {prefix}Data(vf.TaskData):
|
|
95
|
-
"""One row's data. Add task-specific fields here, such as a reference answer."""
|
|
96
|
-
{task_config}
|
|
97
|
-
|
|
98
|
-
class {prefix}Task(vf.Task[{task_generic}]):
|
|
99
|
-
"""Rewards, hooks, and servers, with row data available on ``self.data``."""{task_decls}
|
|
100
|
-
@vf.reward(weight=1.0)
|
|
101
|
-
async def reward(self, trace: vf.Trace) -> float:
|
|
102
|
-
raise NotImplementedError("Score the rollout and return a float (e.g. in [0, 1]).")
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
class {prefix}Config(vf.TasksetConfig):
|
|
106
|
-
{config_body}
|
|
107
|
-
|
|
108
|
-
class {prefix}Taskset(vf.Taskset[{prefix}Task, {prefix}Config]):
|
|
109
|
-
def load(self) -> list[{prefix}Task]:
|
|
110
|
-
raise NotImplementedError(
|
|
111
|
-
"Return this taskset's tasks, e.g. "
|
|
112
|
-
"[{prefix}Task({prefix}Data(prompt=...), self.config.task) "
|
|
113
|
-
"for i in range(self.config.num_tasks)]."
|
|
114
|
-
)
|
|
115
|
-
'''
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
def _tool_py(stem: str, prefix: str) -> str:
|
|
119
|
-
return f'''\
|
|
120
|
-
import verifiers.v1 as vf
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
class {prefix}Toolset(vf.Toolset[vf.ToolsetConfig]):
|
|
124
|
-
TOOL_PREFIX = "{stem}"
|
|
125
|
-
|
|
126
|
-
@vf.tool
|
|
127
|
-
def echo(self, text: str) -> str:
|
|
128
|
-
"""Return the given text unchanged (replace with a real tool)."""
|
|
129
|
-
return text
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
if __name__ == "__main__":
|
|
133
|
-
{prefix}Toolset.run()
|
|
134
|
-
'''
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
def _harness_py(prefix: str) -> str:
|
|
138
|
-
return f'''\
|
|
139
|
-
import verifiers.v1 as vf
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
class {prefix}HarnessConfig(vf.HarnessConfig):
|
|
143
|
-
"""Run knobs for this harness. Add fields here (e.g. a CLI version to install)."""
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
class {prefix}Harness(vf.Harness[{prefix}HarnessConfig]):
|
|
147
|
-
APPENDS_SYSTEM_PROMPT = True
|
|
148
|
-
|
|
149
|
-
async def launch(
|
|
150
|
-
self,
|
|
151
|
-
ctx: vf.ModelContext,
|
|
152
|
-
trace: vf.Trace,
|
|
153
|
-
runtime: vf.Runtime,
|
|
154
|
-
endpoint: str,
|
|
155
|
-
secret: str,
|
|
156
|
-
mcp_urls: dict[str, str],
|
|
157
|
-
data: vf.TaskData,
|
|
158
|
-
) -> vf.ProgramResult:
|
|
159
|
-
raise NotImplementedError(
|
|
160
|
-
"Implement launch: run your agent in `runtime`, pointing its model calls at "
|
|
161
|
-
"`endpoint` with bearer token `secret`."
|
|
162
|
-
)
|
|
163
|
-
'''
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
def _readme(dash: str, pkg: str, *, add_tool: bool, add_harness: bool) -> str:
|
|
167
|
-
layout = [
|
|
168
|
-
(
|
|
169
|
-
f"- `{pkg}/taskset.py` — the task (`@reward` scoring + behavior) and the taskset: "
|
|
170
|
-
"`load` (data + prompts)."
|
|
171
|
-
)
|
|
172
|
-
]
|
|
173
|
-
if add_tool:
|
|
174
|
-
layout.append(
|
|
175
|
-
f"- `{pkg}/servers/tool.py` — a `vf.Toolset` tool server, constructed in `Task.toolsets`."
|
|
176
|
-
)
|
|
177
|
-
if add_harness:
|
|
178
|
-
layout.append(
|
|
179
|
-
f"- `{pkg}/harness.py` — a custom harness, selectable with `--env.agent.harness.id {dash}`."
|
|
180
|
-
)
|
|
181
|
-
layout_block = "\n".join(layout)
|
|
182
|
-
return f"""\
|
|
183
|
-
# {dash}
|
|
184
|
-
|
|
185
|
-
A v1 verifiers environment, scaffolded with `init`.
|
|
186
|
-
|
|
187
|
-
## Develop
|
|
188
|
-
|
|
189
|
-
1. Implement `load` and the `@reward` in `{pkg}/taskset.py` (see `environments/`).
|
|
190
|
-
2. Install + run:
|
|
191
|
-
|
|
192
|
-
```bash
|
|
193
|
-
uv pip install -e . # install this package (or register it in your project)
|
|
194
|
-
uv run vf-eval {dash} -n 3 # evaluate a few tasks with the bash harness
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
## Layout
|
|
198
|
-
|
|
199
|
-
{layout_block}
|
|
200
|
-
|
|
201
|
-
Tune knobs from the CLI: `--env.taskset.num-tasks 10`, `--model <id>`, `-n`, and `-r`.
|
|
202
|
-
"""
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
def scaffold(config: InitConfig) -> Path:
|
|
206
|
-
dash, pkg, stem, prefix = _names(config.name)
|
|
207
|
-
env_dir = Path(config.path) / pkg
|
|
208
|
-
pkg_dir = env_dir / pkg
|
|
209
|
-
if env_dir.exists() and not config.force:
|
|
210
|
-
raise SystemExit(
|
|
211
|
-
f"error: {env_dir} already exists - refusing to overwrite (pass --force to overwrite)"
|
|
212
|
-
)
|
|
213
|
-
print(f"scaffolding v1 environment {dash!r} in {env_dir}")
|
|
214
|
-
|
|
215
|
-
_write(env_dir / "pyproject.toml", _pyproject(dash, pkg))
|
|
216
|
-
_write(
|
|
217
|
-
env_dir / "README.md",
|
|
218
|
-
_readme(dash, pkg, add_tool=config.add_tool, add_harness=config.add_harness),
|
|
219
|
-
)
|
|
220
|
-
_write(pkg_dir / "__init__.py", _init_py(pkg, prefix, config.add_harness))
|
|
221
|
-
_write(
|
|
222
|
-
pkg_dir / "taskset.py",
|
|
223
|
-
_taskset_py(pkg, prefix, add_tool=config.add_tool),
|
|
224
|
-
)
|
|
225
|
-
if config.add_harness:
|
|
226
|
-
_write(pkg_dir / "harness.py", _harness_py(prefix))
|
|
227
|
-
if config.add_tool:
|
|
228
|
-
_write(pkg_dir / "servers" / "__init__.py", "")
|
|
229
|
-
_write(pkg_dir / "servers" / "tool.py", _tool_py(stem, prefix))
|
|
230
|
-
|
|
231
|
-
print(f"\ndone. next:\n uv pip install -e {env_dir}\n uv run vf-eval {dash} -n 3")
|
|
232
|
-
return env_dir
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
def main(argv: list[str] | None = None) -> None:
|
|
236
|
-
argv = list(sys.argv[1:]) if argv is None else list(argv)
|
|
237
|
-
if argv and not argv[0].startswith(("-", "@")):
|
|
238
|
-
argv = ["--name", argv[0], *argv[1:]]
|
|
239
|
-
|
|
240
|
-
if not argv or any(arg in ("-h", "--help") for arg in argv):
|
|
241
|
-
print(USAGE)
|
|
242
|
-
sys.argv = [sys.argv[0], "--help"]
|
|
243
|
-
cli(InitConfig)
|
|
244
|
-
return
|
|
245
|
-
|
|
246
|
-
sys.argv = [sys.argv[0], *argv]
|
|
247
|
-
config = cli(InitConfig)
|
|
248
|
-
scaffold(config)
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
if __name__ == "__main__":
|
|
252
|
-
main()
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"""Environment-scaffold CLI configuration."""
|
|
2
|
-
|
|
3
|
-
from pydantic import AliasChoices, Field
|
|
4
|
-
from pydantic_config import BaseConfig
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class InitConfig(BaseConfig):
|
|
8
|
-
name: str = Field(min_length=1)
|
|
9
|
-
"""The new environment id, e.g. `my-task-v1` (positional: `init my-task-v1`)."""
|
|
10
|
-
path: str = Field("./environments", validation_alias=AliasChoices("path", "p"))
|
|
11
|
-
"""Parent directory the package is created in (default `./environments`)."""
|
|
12
|
-
add_tool: bool = Field(False, validation_alias=AliasChoices("add_tool", "T"))
|
|
13
|
-
"""Also scaffold a `vf.Toolset` declared on the task (`-T`)."""
|
|
14
|
-
add_harness: bool = Field(False, validation_alias=AliasChoices("add_harness", "H"))
|
|
15
|
-
"""Also scaffold a custom `vf.Harness` (`harness.py`), selectable via `--env.agent.harness.id <name>` (`-H`)."""
|
|
16
|
-
force: bool = False
|
|
17
|
-
"""Overwrite an existing environment package (default: refuse if it already exists)."""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/agent_user_harness_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/echo_acp_resume_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/echo_user_sim_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/network_policy_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/fixtures/skill_codeword_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/tests/integration/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.4.1.dev4 → verifiers-0.4.1.dev5}/verifiers/v1/envs/isolated_verifier/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev4 → verifiers-0.4.1.dev5}/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
|