verifiers 0.2.1.dev63__tar.gz → 0.2.1.dev64__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.2.1.dev63 → verifiers-0.2.1.dev64}/PKG-INFO +1 -1
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/__init__.py +3 -0
- verifiers-0.2.1.dev64/verifiers/v1/harnesses/pool/__init__.py +3 -0
- verifiers-0.2.1.dev64/verifiers/v1/harnesses/pool/harness.py +130 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/interception/server.py +9 -1
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/.gitignore +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/LICENSE +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/README.md +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/pyproject.toml +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/AGENTS.md +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/conftest.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_browser_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_build_script.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_client_config.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_composable_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_env_group.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_env_server.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_environment.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_environment_extra.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_error_chain.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_eval_display.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_eval_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_gym_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_imports.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_init_script.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_install_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_interception_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_logging.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_math_rubric.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_message_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_openenv_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_parser.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_path_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_renderer_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_rubric.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_rubric_group.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_sandbox_debug_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_save_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_setup_script.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_think_parser.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_tool_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_tool_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_types.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_xml_parser.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/conftest.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/fixtures/echo_multi_v0.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/fixtures/echo_v0.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/test_configs.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/test_e2e.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/test_envs.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/test_graph.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/test_judges.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/test_legacy.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/test_scoring.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/test_taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/tests/v1/test_trace.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/cli/commands/build.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/cli/commands/eval.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/cli/commands/gepa.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/cli/commands/install.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/cli/commands/setup.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/cli/tui.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/anthropic_messages_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/openai_chat_completions_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/openai_completions_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/openai_responses_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/renderer_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/decorators.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/AGENTS.md +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/env_group.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/environment.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/README.md +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/cli_agent_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/README.md +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/composable_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/harness.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/task.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/gym_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/harbor_env/env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/mcp_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/opencode_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/utils/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/integrations/README.md +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/integrations/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/integrations/openenv_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/integrations/textarena_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/multiturn_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/python_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/sandbox_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/singleturn_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/stateful_tool_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/tool_env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/errors.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/gepa/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/gepa/adapter.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/gepa/config.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/gepa/display.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/gepa/gepa_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/parsers/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/parsers/maybe_think_parser.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/parsers/parser.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/parsers/think_parser.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/parsers/xml_parser.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/rubrics/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/rubrics/judge_rubric.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/rubrics/math_rubric.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/rubrics/rubric.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/rubrics/rubric_group.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/scripts/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/scripts/build.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/scripts/eval.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/scripts/gepa.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/scripts/init.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/scripts/install.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/scripts/setup.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/scripts/tui.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/serve/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/serve/client/env_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/serve/client/zmq_env_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/serve/server/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/serve/server/env_router.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/serve/server/env_server.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/serve/server/env_worker.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/serve/server/zmq_env_server.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/serve/types.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/types.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/async_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/client_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/config_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/data_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/display_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/env_config_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/env_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/error_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/eval_display.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/eval_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/heartbeat.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/import_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/install_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/interception_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/logging_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/message_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/metric_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/path_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/pricing_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/process_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/response_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/save_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/serve_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/thread_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/threaded_sandbox_client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/tool_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/usage_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/utils/version_utils.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/debug.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/gepa.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/serve.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/clients/config.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/configs/debug.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/configs/eval.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/configs/init.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/configs/replay.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/configs/validate.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/decorators.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/env.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/episode.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/errors.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/gepa/dataset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/graph.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harness.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/bash/program.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/null/program.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/judge.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/legacy.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/loaders.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/mcp/user.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/push.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/retries.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/runtimes/docker.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/scoring.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/session.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/state.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/task.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/tasksets/lean/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/tasksets/lean/scoring.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/tasksets/lean/taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/trace.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/types.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/utils/install.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/utils/sampling.py +0 -0
- {verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/v1/utils/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.2.1.
|
|
3
|
+
Version: 0.2.1.dev64
|
|
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
|
|
@@ -11,6 +11,7 @@ from verifiers.v1.harnesses.mini_swe_agent import (
|
|
|
11
11
|
)
|
|
12
12
|
from verifiers.v1.harnesses.null import NullHarness, NullHarnessConfig
|
|
13
13
|
from verifiers.v1.harnesses.pi import PiHarness, PiHarnessConfig
|
|
14
|
+
from verifiers.v1.harnesses.pool import PoolHarness, PoolHarnessConfig
|
|
14
15
|
from verifiers.v1.harnesses.rlm import RLMHarness, RLMHarnessConfig
|
|
15
16
|
from verifiers.v1.harnesses.terminus_2 import Terminus2Harness, Terminus2HarnessConfig
|
|
16
17
|
|
|
@@ -27,6 +28,8 @@ __all__ = [
|
|
|
27
28
|
"NullHarnessConfig",
|
|
28
29
|
"PiHarness",
|
|
29
30
|
"PiHarnessConfig",
|
|
31
|
+
"PoolHarness",
|
|
32
|
+
"PoolHarnessConfig",
|
|
30
33
|
"MiniSWEAgentHarness",
|
|
31
34
|
"MiniSWEAgentHarnessConfig",
|
|
32
35
|
"RLMHarness",
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"""Run Poolside's `pool exec` against interception as an OpenAI-compatible provider."""
|
|
2
|
+
|
|
3
|
+
import json
|
|
4
|
+
import shlex
|
|
5
|
+
|
|
6
|
+
from pydantic import Field
|
|
7
|
+
|
|
8
|
+
from verifiers.v1.clients import ModelContext
|
|
9
|
+
from verifiers.v1.harness import Harness, HarnessConfig
|
|
10
|
+
from verifiers.v1.runtimes import ProgramResult, Runtime
|
|
11
|
+
from verifiers.v1.trace import Trace
|
|
12
|
+
from verifiers.v1.types import SystemMessage, TextContentPart, UserMessage
|
|
13
|
+
|
|
14
|
+
POOL_DIR = "/tmp/vf-pool-{version}"
|
|
15
|
+
SETTINGS_PATH = ".poolside/settings.local.yaml"
|
|
16
|
+
INSTALL = r"""
|
|
17
|
+
set -e
|
|
18
|
+
command -v curl >/dev/null || (apt-get update -qq && apt-get install -y -qq curl ca-certificates >/dev/null)
|
|
19
|
+
command -v tar >/dev/null || (apt-get update -qq && apt-get install -y -qq tar >/dev/null)
|
|
20
|
+
case "$(uname -s)" in Linux) os=linux ;; Darwin) os=darwin ;; *) echo "unsupported os: $(uname -s)" >&2; exit 1 ;; esac
|
|
21
|
+
case "$(uname -m)" in aarch64|arm64) arch=arm64 ;; x86_64|amd64) arch=amd64 ;; *) echo "unsupported arch: $(uname -m)" >&2; exit 1 ;; esac
|
|
22
|
+
mkdir -p {dir}
|
|
23
|
+
curl -fsSL "https://github.com/poolsideai/pool/releases/download/v{version}/pool-$os-$arch.tar.gz" | tar -xz -C {dir}
|
|
24
|
+
mv "{dir}/pool-$os-$arch" "{dir}/pool"
|
|
25
|
+
chmod +x "{dir}/pool"
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class PoolHarnessConfig(HarnessConfig):
|
|
30
|
+
version: str = Field(default="1.0.11", pattern=r"^[A-Za-z0-9._+-]+$")
|
|
31
|
+
"""Pool release to install, pinned for reproducibility."""
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class PoolHarness(Harness[PoolHarnessConfig]):
|
|
35
|
+
APPENDS_SYSTEM_PROMPT = True
|
|
36
|
+
SUPPORTS_MCP = True
|
|
37
|
+
SUPPORTS_MESSAGE_PROMPT = True
|
|
38
|
+
|
|
39
|
+
async def setup(self, runtime: Runtime) -> None:
|
|
40
|
+
directory = POOL_DIR.format(version=self.config.version)
|
|
41
|
+
binary = f"{directory}/pool"
|
|
42
|
+
script = INSTALL.replace("{version}", self.config.version).replace(
|
|
43
|
+
"{dir}", directory
|
|
44
|
+
)
|
|
45
|
+
ensure = shlex.quote(f"[ -x {binary} ] || ({script})")
|
|
46
|
+
# Cache the pinned binary across local rollouts; Linux has flock, macOS has lockf.
|
|
47
|
+
guarded = (
|
|
48
|
+
f"mkdir -p {directory} && "
|
|
49
|
+
f'"$(command -v flock || command -v lockf)" {directory}/install.lock '
|
|
50
|
+
f"bash -o pipefail -c {ensure}"
|
|
51
|
+
)
|
|
52
|
+
result = await runtime.run(["sh", "-c", guarded], self.config.resolved_env)
|
|
53
|
+
if result.exit_code != 0:
|
|
54
|
+
detail = (result.stderr or result.stdout).strip()[-500:]
|
|
55
|
+
raise RuntimeError(f"Pool install failed: {detail}")
|
|
56
|
+
|
|
57
|
+
async def launch(
|
|
58
|
+
self,
|
|
59
|
+
ctx: ModelContext,
|
|
60
|
+
trace: Trace,
|
|
61
|
+
runtime: Runtime,
|
|
62
|
+
endpoint: str,
|
|
63
|
+
secret: str,
|
|
64
|
+
mcp_urls: dict[str, str],
|
|
65
|
+
) -> ProgramResult:
|
|
66
|
+
system_prompt, prompt = self.resolve_prompt(trace.task.data)
|
|
67
|
+
if prompt is None:
|
|
68
|
+
raise ValueError("Pool requires a task prompt (it has no user simulator)")
|
|
69
|
+
texts = [system_prompt] if system_prompt else []
|
|
70
|
+
if isinstance(prompt, str):
|
|
71
|
+
texts.append(prompt)
|
|
72
|
+
else:
|
|
73
|
+
for message in prompt:
|
|
74
|
+
if not isinstance(message, (SystemMessage, UserMessage)):
|
|
75
|
+
raise ValueError(
|
|
76
|
+
"pool exec only supports system and user initial messages"
|
|
77
|
+
)
|
|
78
|
+
parts = (
|
|
79
|
+
[TextContentPart(text=message.content)]
|
|
80
|
+
if isinstance(message.content, str)
|
|
81
|
+
else message.content
|
|
82
|
+
)
|
|
83
|
+
for part in parts:
|
|
84
|
+
if not isinstance(part, TextContentPart):
|
|
85
|
+
raise ValueError("pool exec does not support image prompts")
|
|
86
|
+
texts.append(part.text)
|
|
87
|
+
text = "\n\n".join(text for text in texts if text)
|
|
88
|
+
|
|
89
|
+
settings = {
|
|
90
|
+
"mcp_servers": {
|
|
91
|
+
name: {"transport": {"type": "http", "url": url}}
|
|
92
|
+
for name, url in mcp_urls.items()
|
|
93
|
+
},
|
|
94
|
+
# Values are Pool tool names such as `shell`, `read`, or `edit`.
|
|
95
|
+
"tools": {
|
|
96
|
+
name: {"disabled": True} for name in self.config.disabled_tools or []
|
|
97
|
+
},
|
|
98
|
+
}
|
|
99
|
+
await runtime.write(SETTINGS_PATH, json.dumps(settings).encode())
|
|
100
|
+
|
|
101
|
+
prompt_path = f".vf-pool/prompt-{trace.id}.txt"
|
|
102
|
+
await runtime.write(prompt_path, text.encode())
|
|
103
|
+
env = {
|
|
104
|
+
**self.config.resolved_env,
|
|
105
|
+
# Standalone provider mode sends this bearer and model to interception.
|
|
106
|
+
"POOLSIDE_API_KEY": secret,
|
|
107
|
+
"POOLSIDE_STANDALONE_BASE_URL": endpoint,
|
|
108
|
+
"POOLSIDE_STANDALONE_MODEL": ctx.model,
|
|
109
|
+
}
|
|
110
|
+
directory = POOL_DIR.format(version=self.config.version)
|
|
111
|
+
argv = [
|
|
112
|
+
f"{directory}/pool",
|
|
113
|
+
"exec",
|
|
114
|
+
"--unsafe-auto-allow",
|
|
115
|
+
"--sandbox",
|
|
116
|
+
"disabled",
|
|
117
|
+
"--prompt-file",
|
|
118
|
+
prompt_path,
|
|
119
|
+
]
|
|
120
|
+
# Keep Pool's home, config, logs, and trajectories inside the rollout workspace.
|
|
121
|
+
isolate = (
|
|
122
|
+
'export HOME="$PWD/.vf-pool/home" '
|
|
123
|
+
'XDG_CONFIG_HOME="$PWD/.vf-pool/config" '
|
|
124
|
+
'XDG_STATE_HOME="$PWD/.vf-pool/state"; exec "$@"'
|
|
125
|
+
)
|
|
126
|
+
result = await runtime.run_program(["sh", "-c", isolate, "pool", *argv], env)
|
|
127
|
+
# Exit 4 means the agent declined the task, not that the harness failed.
|
|
128
|
+
if result.exit_code == 4:
|
|
129
|
+
return ProgramResult(0, result.stdout, result.stderr)
|
|
130
|
+
return result
|
|
@@ -626,7 +626,8 @@ class InterceptionServer(Interception):
|
|
|
626
626
|
async with asyncio.timeout(_KEEPALIVE_INTERVAL_SECONDS):
|
|
627
627
|
await ready.wait()
|
|
628
628
|
except TimeoutError:
|
|
629
|
-
|
|
629
|
+
# Don't terminate an empty event; some SSE clients try to JSON-decode it.
|
|
630
|
+
await resp.write(b": keepalive\n")
|
|
630
631
|
continue
|
|
631
632
|
chunk = queue.get_nowait()
|
|
632
633
|
if queue.empty():
|
|
@@ -634,6 +635,13 @@ class InterceptionServer(Interception):
|
|
|
634
635
|
if chunk is None:
|
|
635
636
|
await producer
|
|
636
637
|
break
|
|
638
|
+
# We send our own keepalive above. Some clients treat a complete
|
|
639
|
+
# comment-only event from upstream as an empty JSON payload.
|
|
640
|
+
if not any(
|
|
641
|
+
line.startswith(b"data:") for line in chunk.splitlines()
|
|
642
|
+
):
|
|
643
|
+
await resp.write(b": keepalive\n")
|
|
644
|
+
continue
|
|
637
645
|
if deferred or dialect.is_terminal_event(chunk):
|
|
638
646
|
if parser_error is None:
|
|
639
647
|
try:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.2.1.dev63 → verifiers-0.2.1.dev64}/tests/test_openai_chat_completions_token_client.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
|
{verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/anthropic_messages_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/nemorl_chat_completions_client.py
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/openai_chat_completions_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/openai_completions_client.py
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/clients/openai_responses_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/cli_agent_env.py
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/README.md
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/_filter.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/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.2.1.dev63 → verifiers-0.2.1.dev64}/verifiers/envs/experimental/composable/task.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
|