verifiers 0.4.1.dev42__tar.gz → 0.4.1.dev45__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.dev42 → verifiers-0.4.1.dev45}/PKG-INFO +1 -1
- verifiers-0.4.1.dev45/tests/integration/fixtures/parallel_v1.py +84 -0
- verifiers-0.4.1.dev45/tests/integration/test_parallel.py +36 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/clients/train.py +4 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/graph.py +6 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/types.py +11 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/.gitignore +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/LICENSE +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/README.md +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/pyproject.toml +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/conftest.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/agent_user_harness_v1.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/agent_user_v1.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/duet_v1.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/echo_acp_resume_v1.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/echo_tool_compose/docker-compose.yaml +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/echo_v1.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/fetch_tool_v1.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/network_policy_v1.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/pyproject.toml +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/skill_codeword_v1.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/skills/project-codeword/SKILL.md +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/grid.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_agent_user.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_agentic_judge.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_compose_scoring.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_examples.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_limits.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_multi_agent.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_multi_turn.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_multi_turn_tool.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_multimodal_tool.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_network_policy.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_resume_tool.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_rubric_judge.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_sampling.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_shared_tool.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_single_turn.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_skills.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_stateful_tool.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_tool_vms.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_user_echo.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/test_user_sim.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/cli/test_replay.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/conftest.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/harnesses/test_core.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/harnesses/test_rlm.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/interception/test_tunnel.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/judges/conftest.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/judges/test_judge.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/judges/test_reference.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/judges/test_rubric.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/runtimes/test_e2b.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/runtimes/test_private_network.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/serve/test_client.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/serve/test_delta.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/serve/test_pool.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/test_agent.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/test_dialects.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/test_graph.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/test_semantic.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/test_task.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/test_taskset.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/test_trace.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/utils/test_compile.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/utils/test_loaders.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/utils/test_platform.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/unit/utils/test_score.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/acp/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/acp/runner.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/agent.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/debug.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/eval/hint.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/gepa.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/resume.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/clients/base.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/agent.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/cli/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/cli/debug.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/cli/env.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/cli/eval.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/cli/replay.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/cli/validate.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/client.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/env.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/judge.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/retries.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/runtime.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/scoring.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/select.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/task.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/configs/taskset.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/env.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/envs/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/envs/agentic_judge/env.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/envs/best_of_n/env.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/envs/single_agent/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/envs/single_agent/env.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/envs/user_sim/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/envs/user_sim/env.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/episode.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/errors.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/gepa/dataset.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/grading.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/browser_use/program.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/codex/gate.mjs +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/deepseek/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/deepseek/gate.mjs +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/deepseek/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/deepseek/usage.mjs +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/node.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/opencode/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/opencode/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/opencode/mcp-ready.js +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/pi/gate.mjs +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/utils/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/utils/compaction.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/utils/core.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/utils/install.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/utils/launch.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/utils/mcp.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/utils/replay.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/judge.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/judges/decision.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/apptainer.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/compose.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/container.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/deployment.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/docker/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/docker/egress.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/e2b.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/private_network.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/runtime.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/strategies.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/semantic.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/serve/delta.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/serve/encoding.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/session.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/state.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/task.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/tasksets/harbor/toolset.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/trace.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/artifacts.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/compile.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/decorators.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/env.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/eval.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/git.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/loaders.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/paths.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/platform.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/prime.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/retries.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/scope.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/score.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/utils/trace_store.py +0 -0
- {verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/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.dev45
|
|
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
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"""parallel-v1: one rollout whose harness sends `n` chat programs at the model at once,
|
|
2
|
+
so their requests overlap on one trace. With `same_prompt`, every copy sends the task
|
|
3
|
+
prompt; otherwise copy `i` appends its index, so the copies diverge after the system
|
|
4
|
+
prompt."""
|
|
5
|
+
|
|
6
|
+
import asyncio
|
|
7
|
+
|
|
8
|
+
from pydantic import PositiveInt
|
|
9
|
+
|
|
10
|
+
import verifiers.v1 as vf
|
|
11
|
+
from verifiers.v1.clients import ModelContext
|
|
12
|
+
from verifiers.v1.configs.harness import HarnessConfig
|
|
13
|
+
from verifiers.v1.harness import Harness
|
|
14
|
+
from verifiers.v1.harnesses.utils.launch import (
|
|
15
|
+
CHAT_PROGRAM_SOURCE,
|
|
16
|
+
launch_chat_program,
|
|
17
|
+
)
|
|
18
|
+
from verifiers.v1.runtimes import ProgramResult, Runtime
|
|
19
|
+
|
|
20
|
+
__all__ = ["ParallelHarness", "ParallelTaskset"]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ParallelHarnessConfig(HarnessConfig):
|
|
24
|
+
n: PositiveInt = 4
|
|
25
|
+
same_prompt: bool = True
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class ParallelHarness(Harness[ParallelHarnessConfig]):
|
|
29
|
+
APPENDS_SYSTEM_PROMPT = True
|
|
30
|
+
EXECUTES_CODE = False
|
|
31
|
+
NEEDS_CONTAINER = False
|
|
32
|
+
|
|
33
|
+
async def setup(self, runtime: Runtime) -> None:
|
|
34
|
+
await runtime.prepare_uv_script(CHAT_PROGRAM_SOURCE, self.config.resolved_env)
|
|
35
|
+
|
|
36
|
+
async def launch(
|
|
37
|
+
self,
|
|
38
|
+
ctx: ModelContext,
|
|
39
|
+
trace: vf.Trace,
|
|
40
|
+
runtime: Runtime,
|
|
41
|
+
endpoint: str,
|
|
42
|
+
secret: str,
|
|
43
|
+
mcp_urls: dict[str, str],
|
|
44
|
+
data: vf.TaskData,
|
|
45
|
+
tool_interception_url: str | None = None,
|
|
46
|
+
) -> ProgramResult:
|
|
47
|
+
system_prompt, prompt = self.resolve_prompt(data)
|
|
48
|
+
|
|
49
|
+
def copy_prompt(i: int) -> str:
|
|
50
|
+
return prompt if self.config.same_prompt else f"{prompt} ({i})"
|
|
51
|
+
|
|
52
|
+
results = await asyncio.gather(
|
|
53
|
+
*(
|
|
54
|
+
launch_chat_program(
|
|
55
|
+
CHAT_PROGRAM_SOURCE,
|
|
56
|
+
self.config,
|
|
57
|
+
ctx,
|
|
58
|
+
trace,
|
|
59
|
+
runtime,
|
|
60
|
+
endpoint,
|
|
61
|
+
secret,
|
|
62
|
+
mcp_urls,
|
|
63
|
+
system_prompt,
|
|
64
|
+
copy_prompt(i),
|
|
65
|
+
)
|
|
66
|
+
for i in range(self.config.n)
|
|
67
|
+
)
|
|
68
|
+
)
|
|
69
|
+
return next((r for r in results if r.exit_code != 0), results[0])
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class ParallelTask(vf.Task):
|
|
73
|
+
@vf.reward(weight=1.0)
|
|
74
|
+
async def answered(self, trace: vf.Trace) -> float:
|
|
75
|
+
return float(trace.num_turns >= 1)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
class ParallelTaskset(vf.Taskset[ParallelTask, vf.TasksetConfig]):
|
|
79
|
+
def load(self) -> list[ParallelTask]:
|
|
80
|
+
return [
|
|
81
|
+
ParallelTask(
|
|
82
|
+
vf.TaskData(idx=0, system_prompt="Be brief.", prompt="Reply with OK.")
|
|
83
|
+
)
|
|
84
|
+
]
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""Overlapping requests on one trace: a harness sends `n` chat programs at a scripted
|
|
2
|
+
upstream at once, and the trace graph keeps one branch per copy that shares exactly the
|
|
3
|
+
prefix the copies have in common."""
|
|
4
|
+
|
|
5
|
+
import pytest
|
|
6
|
+
from parallel_v1 import ParallelHarnessConfig
|
|
7
|
+
|
|
8
|
+
N = 4
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@pytest.mark.parametrize("harness_runtime", ["subprocess"], indirect=True)
|
|
12
|
+
@pytest.mark.parametrize("same_prompt", [True, False], ids=["same", "distinct"])
|
|
13
|
+
async def test_parallel_requests(run, harness_runtime, scripted_model, same_prompt):
|
|
14
|
+
(episode,) = await run(
|
|
15
|
+
"parallel-v1",
|
|
16
|
+
harness=ParallelHarnessConfig(id="parallel-v1", n=N, same_prompt=same_prompt),
|
|
17
|
+
runtime=harness_runtime,
|
|
18
|
+
client=scripted_model,
|
|
19
|
+
)
|
|
20
|
+
(trace,) = episode.traces
|
|
21
|
+
assert trace.ok, [error.message for error in trace.errors]
|
|
22
|
+
assert trace.num_turns == trace.num_branches == len(trace.calls) == N
|
|
23
|
+
assert len({call.node for call in trace.calls}) == N
|
|
24
|
+
|
|
25
|
+
roles = [node.message.role for node in trace.nodes]
|
|
26
|
+
assert roles.count("system") == 1
|
|
27
|
+
users = [i for i, role in enumerate(roles) if role == "user"]
|
|
28
|
+
replies = [node for node in trace.nodes if node.message.role == "assistant"]
|
|
29
|
+
# The same prompt shares the system and user nodes; distinct prompts share only
|
|
30
|
+
# the system node.
|
|
31
|
+
assert len(users) == (1 if same_prompt else N)
|
|
32
|
+
assert len(trace.nodes) == 1 + len(users) + N
|
|
33
|
+
assert {trace.nodes[i].parent for i in users} == {0}
|
|
34
|
+
assert sorted(reply.parent for reply in replies) == sorted(
|
|
35
|
+
users * N if same_prompt else users
|
|
36
|
+
)
|
|
@@ -30,6 +30,7 @@ from verifiers.v1.types import (
|
|
|
30
30
|
ToolCall,
|
|
31
31
|
TurnTokens,
|
|
32
32
|
Usage,
|
|
33
|
+
WeightVersionSpan,
|
|
33
34
|
)
|
|
34
35
|
|
|
35
36
|
logger = logging.getLogger(__name__)
|
|
@@ -181,6 +182,9 @@ def response_from_generate(
|
|
|
181
182
|
sampling_mask=SamplingMask.from_sampling_mask(mask)
|
|
182
183
|
if (mask := result.get("sampling_mask"))
|
|
183
184
|
else None,
|
|
185
|
+
weight_versions=[WeightVersionSpan(**span) for span in spans]
|
|
186
|
+
if (spans := result.get("weight_versions"))
|
|
187
|
+
else None,
|
|
184
188
|
),
|
|
185
189
|
)
|
|
186
190
|
|
|
@@ -49,6 +49,7 @@ from verifiers.v1.types import (
|
|
|
49
49
|
TextContentPart,
|
|
50
50
|
Tool,
|
|
51
51
|
ToolMessage,
|
|
52
|
+
WeightVersionSpan,
|
|
52
53
|
)
|
|
53
54
|
|
|
54
55
|
if TYPE_CHECKING:
|
|
@@ -164,6 +165,10 @@ class MessageNode(BaseModel):
|
|
|
164
165
|
`ids` stores the flat token ids and `counts` stores each token's row size. Assistant
|
|
165
166
|
nodes only. The arrays serialize as raw-byte `__nd__` dictionaries.
|
|
166
167
|
"""
|
|
168
|
+
weight_versions: list[WeightVersionSpan] | None = None
|
|
169
|
+
"""Engine weight-version spans over this node's sampled tokens (indexes into the
|
|
170
|
+
completion, as vLLM returns them). Assistant nodes only; None when the engine labels
|
|
171
|
+
none."""
|
|
167
172
|
|
|
168
173
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
|
169
174
|
|
|
@@ -997,6 +1002,7 @@ def _commit_turn(turn: PendingTurn, response: Response) -> int:
|
|
|
997
1002
|
else [],
|
|
998
1003
|
# TurnTokens is discarded after commit, so transfer its logprobs without copying.
|
|
999
1004
|
logprobs=tokens.completion_logprobs if tokens else [],
|
|
1005
|
+
weight_versions=tokens.weight_versions if tokens else None,
|
|
1000
1006
|
)
|
|
1001
1007
|
)
|
|
1002
1008
|
assistant_id = len(trace.nodes) - 1
|
|
@@ -201,6 +201,14 @@ class RoutedExperts(TypedDict):
|
|
|
201
201
|
start: int
|
|
202
202
|
|
|
203
203
|
|
|
204
|
+
class WeightVersionSpan(BaseModel):
|
|
205
|
+
"""Completion tokens `[start, end)` were sampled by the engine weights labelled `version`."""
|
|
206
|
+
|
|
207
|
+
version: str
|
|
208
|
+
start: int
|
|
209
|
+
end: int
|
|
210
|
+
|
|
211
|
+
|
|
204
212
|
@dataclass
|
|
205
213
|
class SamplingMask:
|
|
206
214
|
"""Sampling masks stored as flat int32 `ids` and `counts` arrays.
|
|
@@ -276,6 +284,9 @@ class TurnTokens(BaseModel):
|
|
|
276
284
|
# Transient carrier (excluded): per-completion-token sampling masks,
|
|
277
285
|
# attributed to the assistant node by the turn's `commit`, then dropped.
|
|
278
286
|
sampling_mask: SamplingMask | None = Field(default=None, exclude=True)
|
|
287
|
+
# Transient carrier (excluded): the engine's weight-version spans over the completion,
|
|
288
|
+
# attributed to the assistant node by the turn's `commit`, then dropped.
|
|
289
|
+
weight_versions: list[WeightVersionSpan] | None = Field(default=None, exclude=True)
|
|
279
290
|
|
|
280
291
|
|
|
281
292
|
class Response(BaseModel):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/agent_user_harness_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/counter_tool_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/echo_acp_resume_v1.py
RENAMED
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/echo_agentic_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/echo_user_sim_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/network_policy_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/tests/integration/fixtures/skill_codeword_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/browser_use/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/browser_use/harness.py
RENAMED
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/browser_use/program.py
RENAMED
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/claude_code/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/claude_code/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/hermes_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/hermes_agent/harness.py
RENAMED
|
File without changes
|
{verifiers-0.4.1.dev42 → verifiers-0.4.1.dev45}/verifiers/v1/harnesses/hermes_agent/program.py
RENAMED
|
File without changes
|