verifiers 0.3.1.dev17__tar.gz → 0.3.1.dev19__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/PKG-INFO +1 -1
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/debug.py +1 -1
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/eval/resume.py +1 -1
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/eval/runner.py +4 -9
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/resume.py +0 -8
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/validate.py +4 -6
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/openclaw/harness.py +4 -2
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/rollout.py +1 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/runtimes/base.py +6 -1
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/runtimes/subprocess.py +3 -2
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/serve/pool.py +5 -3
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/task.py +13 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/trace.py +2 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/.gitignore +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/LICENSE +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/README.md +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/pyproject.toml +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/conftest.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_browser_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_build_script.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_client_config.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_composable_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_env_group.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_env_server.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_environment.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_environment_extra.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_error_chain.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_eval_display.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_eval_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_gym_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_imports.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_init_script.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_install_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_interception_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_logging.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_math_rubric.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_message_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_openenv_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_parser.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_path_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_renderer_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_rubric.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_rubric_group.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_sandbox_debug_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_save_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_setup_script.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_think_parser.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_tool_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_tool_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_types.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/test_xml_parser.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/conftest.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/fixtures/duet_v1.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/test_configs.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/test_e2e.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/test_envs.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/test_graph.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/test_judges.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/test_scoring.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/test_taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/tests/v1/test_trace.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/cli/commands/build.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/cli/commands/eval.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/cli/commands/gepa.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/cli/commands/install.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/cli/commands/setup.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/cli/tui.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/clients/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/clients/anthropic_messages_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/clients/client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/clients/nemorl_chat_completions_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/clients/openai_chat_completions_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/clients/openai_chat_completions_token_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/clients/openai_completions_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/clients/openai_responses_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/clients/renderer_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/decorators.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/env_group.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/environment.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/README.md +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/cli_agent_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/README.md +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/composable_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/harnesses/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/harnesses/opencode.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/harnesses/rlm.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/sandbox_debug_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/swe_debug_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/task.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/math/math_task.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/README.md +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/gym_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/harbor_env/env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/harbor_env/mcp.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/mcp_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/opencode_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/opencode_qa_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/opencode_rlm_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/sandbox_mixin.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/utils/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/utils/git_checkout_cache.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/integrations/README.md +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/integrations/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/integrations/browser_env/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/integrations/browser_env/browser_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/integrations/browser_env/modes/base.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/integrations/browser_env/modes/cua_mode.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/integrations/browser_env/modes/dom_mode.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/integrations/openenv_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/integrations/reasoninggym_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/integrations/textarena_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/multiturn_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/python_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/sandbox_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/singleturn_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/stateful_tool_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/tool_env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/errors.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/gepa/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/gepa/adapter.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/gepa/config.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/gepa/display.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/gepa/gepa_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/parsers/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/parsers/maybe_think_parser.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/parsers/parser.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/parsers/think_parser.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/parsers/xml_parser.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/rubrics/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/rubrics/experimental/hybrid_math_rubric.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/rubrics/judge_rubric.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/rubrics/math_rubric.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/rubrics/rubric.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/rubrics/rubric_group.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/scripts/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/scripts/build.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/scripts/eval.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/scripts/gepa.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/scripts/init.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/scripts/install.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/scripts/setup.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/scripts/tui.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/serve/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/serve/client/env_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/serve/client/zmq_env_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/serve/server/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/serve/server/env_router.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/serve/server/env_server.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/serve/server/env_worker.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/serve/server/zmq_env_server.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/serve/types.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/types.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/async_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/client_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/config_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/data_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/display_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/env_config_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/env_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/error_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/eval_display.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/eval_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/heartbeat.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/import_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/install_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/interception_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/logging_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/message_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/metric_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/path_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/pricing_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/process_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/response_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/save_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/serve_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/thread_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/threaded_sandbox_client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/tool_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/usage_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/utils/version_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/acp/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/acp/runner.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/agent.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/gepa.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/clients/base.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/agent.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/cli/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/cli/debug.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/cli/env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/cli/eval.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/cli/init.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/cli/replay.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/cli/validate.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/judge.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/retries.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/task.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/configs/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/envs/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/envs/agentic_judge/env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/envs/best_of_n/env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/envs/single_agent/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/envs/single_agent/env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/envs/user_sim/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/envs/user_sim/env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/episode.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/errors.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/gepa/dataset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/graph.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/bash/program.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/browser_use/program.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/node.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/null/program.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/pool/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/pool/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/judge.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/runtimes/docker/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/runtimes/docker/egress.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/serve/encoding.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/session.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/state.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/harbor/env.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/lean/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/lean/scoring.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/lean/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/types.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/artifacts.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/compile.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/decorators.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/git.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/install.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/install_utils.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/loaders.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/paths.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/platform.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/prime_config.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/retries.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/score.py +0 -0
- {verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/v1/utils/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.3.1.
|
|
3
|
+
Version: 0.3.1.dev19
|
|
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
|
|
@@ -193,7 +193,7 @@ async def run_action(runtime: Runtime, config: DebugConfig) -> dict[str, Any]:
|
|
|
193
193
|
|
|
194
194
|
async def debug_task(task: Task, config: DebugConfig) -> tuple[Trace, bool]:
|
|
195
195
|
trace = Trace(
|
|
196
|
-
task=TraceTask(type=type(task).__name__, data=task.data),
|
|
196
|
+
task=TraceTask(type=type(task).__name__, data=task.data, hash=task.hash),
|
|
197
197
|
state=state_cls(type(task))(),
|
|
198
198
|
# No agent plays here (no model, no harness): the seat records the
|
|
199
199
|
# runtime policy, and the provisioned box lands on it below (id, resolved
|
|
@@ -19,9 +19,9 @@ from pathlib import Path
|
|
|
19
19
|
from pydantic_core import from_json
|
|
20
20
|
|
|
21
21
|
from verifiers.v1.cli.output import CONFIG_FILE, TRACES_FILE, sniff_episode
|
|
22
|
-
from verifiers.v1.cli.resume import task_key
|
|
23
22
|
from verifiers.v1.configs.cli.eval import EvalConfig
|
|
24
23
|
from verifiers.v1.episode import Episode, WireEpisode
|
|
24
|
+
from verifiers.v1.task import task_key
|
|
25
25
|
from verifiers.v1.trace import WireTrace
|
|
26
26
|
|
|
27
27
|
|
|
@@ -12,7 +12,7 @@ from verifiers.v1.cli.output import (
|
|
|
12
12
|
output_path,
|
|
13
13
|
save_config,
|
|
14
14
|
)
|
|
15
|
-
from verifiers.v1.cli.resume import distribute
|
|
15
|
+
from verifiers.v1.cli.resume import distribute
|
|
16
16
|
from verifiers.v1.clients import ModelContext
|
|
17
17
|
from verifiers.v1.configs.cli.eval import EvalConfig
|
|
18
18
|
from verifiers.v1.env import Env, RunSlot
|
|
@@ -45,9 +45,7 @@ async def run_eval(env: Env, config: EvalConfig) -> list[Episode]:
|
|
|
45
45
|
# Kept on-disk rollouts rejoin the run as finished episodes; only owed ones re-run.
|
|
46
46
|
finished: list[Episode] = []
|
|
47
47
|
if config.resume is not None:
|
|
48
|
-
keys = [
|
|
49
|
-
task_key(t.data.model_dump(mode="json", exclude_none=True)) for t in tasks
|
|
50
|
-
]
|
|
48
|
+
keys = [task.hash for task in tasks]
|
|
51
49
|
finished, owed = resume.load(out, keys, config.num_rollouts, env.complete)
|
|
52
50
|
if not owed: # already complete - report it and exit successfully
|
|
53
51
|
print(resume.nothing_to_resume_msg(out, len(tasks), config.num_rollouts))
|
|
@@ -163,7 +161,7 @@ async def run_eval_server(config: EvalConfig) -> list[Episode]:
|
|
|
163
161
|
client = EnvClient(address=address)
|
|
164
162
|
await client.wait_for_server_startup(timeout=600)
|
|
165
163
|
# A run dispatches — and resumes — tasks by content: the client owns them,
|
|
166
|
-
# and `
|
|
164
|
+
# and `task.hash` is their identity.
|
|
167
165
|
plan = [
|
|
168
166
|
({"task_data": task.data.model_dump(mode="json")}, config.num_rollouts)
|
|
169
167
|
for task in tasks
|
|
@@ -171,10 +169,7 @@ async def run_eval_server(config: EvalConfig) -> list[Episode]:
|
|
|
171
169
|
out = output_path(config)
|
|
172
170
|
finished: list[Episode] = []
|
|
173
171
|
if config.resume is not None:
|
|
174
|
-
keys = [
|
|
175
|
-
task_key(t.data.model_dump(mode="json", exclude_none=True))
|
|
176
|
-
for t in tasks
|
|
177
|
-
]
|
|
172
|
+
keys = [task.hash for task in tasks]
|
|
178
173
|
finished, owed = resume.load(out, keys, config.num_rollouts)
|
|
179
174
|
counts = distribute(keys, owed, config.num_rollouts)
|
|
180
175
|
if not owed: # already complete - report it and exit successfully
|
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
"""Resume primitives shared by eval-like CLIs."""
|
|
2
2
|
|
|
3
|
-
import hashlib
|
|
4
|
-
import json
|
|
5
|
-
from collections.abc import Mapping
|
|
6
3
|
from pathlib import Path
|
|
7
4
|
|
|
8
5
|
|
|
9
|
-
def task_key(data: Mapping) -> str:
|
|
10
|
-
"""Content identity for task wire data, independent of field order."""
|
|
11
|
-
return hashlib.sha256(json.dumps(data, sort_keys=True).encode()).hexdigest()
|
|
12
|
-
|
|
13
|
-
|
|
14
6
|
def distribute(
|
|
15
7
|
selected_keys: list[str], owed: dict[str, int], num_results: int
|
|
16
8
|
) -> list[int]:
|
|
@@ -26,7 +26,7 @@ from verifiers.v1.cli.resolve import (
|
|
|
26
26
|
references_config_file,
|
|
27
27
|
with_positional_taskset,
|
|
28
28
|
)
|
|
29
|
-
from verifiers.v1.cli.resume import distribute, split_resume
|
|
29
|
+
from verifiers.v1.cli.resume import distribute, split_resume
|
|
30
30
|
from verifiers.v1.configs.cli.validate import ValidateConfig
|
|
31
31
|
from verifiers.v1.runtimes import make_runtime
|
|
32
32
|
from verifiers.v1.state import state_cls
|
|
@@ -247,7 +247,7 @@ async def _run_gold(task: Task, config: ValidateConfig) -> ResultRow:
|
|
|
247
247
|
valid, exc = False, None
|
|
248
248
|
try:
|
|
249
249
|
trace = Trace(
|
|
250
|
-
task=TraceTask(type=type(task).__name__, data=task.data),
|
|
250
|
+
task=TraceTask(type=type(task).__name__, data=task.data, hash=task.hash),
|
|
251
251
|
state=state_cls(type(task))(),
|
|
252
252
|
# No agent runs here — the info only records the runtime policy.
|
|
253
253
|
agent=vf.AgentInfo(
|
|
@@ -288,7 +288,7 @@ async def _run_setup(task: Task, config: ValidateConfig) -> ResultRow:
|
|
|
288
288
|
valid, exc = False, None
|
|
289
289
|
try:
|
|
290
290
|
trace = Trace(
|
|
291
|
-
task=TraceTask(type=type(task).__name__, data=task.data),
|
|
291
|
+
task=TraceTask(type=type(task).__name__, data=task.data, hash=task.hash),
|
|
292
292
|
state=state_cls(type(task))(),
|
|
293
293
|
# No agent runs here — the info only records the runtime policy.
|
|
294
294
|
agent=vf.AgentInfo(
|
|
@@ -380,9 +380,7 @@ async def run_validate(config: ValidateConfig) -> list[dict]:
|
|
|
380
380
|
mode = validation_mode(config)
|
|
381
381
|
checks = "gold+setup" if mode == "all" else mode
|
|
382
382
|
out = output_path(config)
|
|
383
|
-
selected_keys = [
|
|
384
|
-
task_key(task.data.model_dump(mode="json", exclude_none=True)) for task in tasks
|
|
385
|
-
]
|
|
383
|
+
selected_keys = [task.hash for task in tasks]
|
|
386
384
|
if config.resume is None:
|
|
387
385
|
save_run(config, out, len(tasks))
|
|
388
386
|
rows: list[ResultRow] = []
|
|
@@ -8,7 +8,6 @@ import secrets
|
|
|
8
8
|
import shlex
|
|
9
9
|
from collections.abc import AsyncIterator
|
|
10
10
|
from contextlib import asynccontextmanager
|
|
11
|
-
from pathlib import Path
|
|
12
11
|
|
|
13
12
|
from pydantic import Field
|
|
14
13
|
|
|
@@ -19,6 +18,7 @@ from verifiers.v1.harness import Harness
|
|
|
19
18
|
from verifiers.v1.runtimes import DockerRuntime, ProgramResult, Runtime
|
|
20
19
|
from verifiers.v1.task import TaskData
|
|
21
20
|
from verifiers.v1.trace import Trace
|
|
21
|
+
from verifiers.v1.utils.paths import CACHE_DIR
|
|
22
22
|
|
|
23
23
|
logger = logging.getLogger(__name__)
|
|
24
24
|
|
|
@@ -40,7 +40,9 @@ async def _gateway_start_lock(runtime: Runtime) -> AsyncIterator[None]:
|
|
|
40
40
|
yield
|
|
41
41
|
return
|
|
42
42
|
# Unrestricted Docker containers share the host network across server workers.
|
|
43
|
-
|
|
43
|
+
lock_path = CACHE_DIR / "harnesses" / "openclaw" / "gateway.lock"
|
|
44
|
+
lock_path.parent.mkdir(parents=True, exist_ok=True)
|
|
45
|
+
with lock_path.open("a") as lock:
|
|
44
46
|
while True:
|
|
45
47
|
try:
|
|
46
48
|
fcntl.flock(lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
|
@@ -20,9 +20,14 @@ from pydantic_config import BaseConfig
|
|
|
20
20
|
|
|
21
21
|
from verifiers.v1.errors import SandboxError
|
|
22
22
|
from verifiers.v1.utils.aio import run_shielded
|
|
23
|
+
from verifiers.v1.utils.paths import CACHE_DIR
|
|
23
24
|
|
|
24
25
|
logger = logging.getLogger(__name__)
|
|
25
26
|
|
|
27
|
+
# Digest-keyed cache of prepared PEP 723 scripts. Every runtime's `write` creates parent
|
|
28
|
+
# directories, so the path also works inside containers and sandboxes.
|
|
29
|
+
SCRIPTS_DIR = str(CACHE_DIR / "runtimes" / "scripts")
|
|
30
|
+
|
|
26
31
|
# Ensure the latest `uv` is available for our PEP 723 scripts: prefer pip on Python images,
|
|
27
32
|
# then fall back to the standalone installer (curl/wget), installing curl + CA certs when a
|
|
28
33
|
# bare image has no downloader. Both paths install to ~/.local/bin, which we prepend to PATH.
|
|
@@ -277,7 +282,7 @@ class Runtime(ABC):
|
|
|
277
282
|
"""
|
|
278
283
|
data = script.encode() if isinstance(script, str) else script
|
|
279
284
|
digest = hashlib.sha256(data).hexdigest()
|
|
280
|
-
path = f"/
|
|
285
|
+
path = f"{SCRIPTS_DIR}/{digest}.py"
|
|
281
286
|
if digest not in self._uv_interpreters:
|
|
282
287
|
async with self._uv_script_locks.setdefault(digest, asyncio.Lock()):
|
|
283
288
|
if digest not in self._uv_interpreters:
|
|
@@ -17,6 +17,7 @@ from verifiers.v1.runtimes.base import (
|
|
|
17
17
|
Runtime,
|
|
18
18
|
RuntimeProcess,
|
|
19
19
|
)
|
|
20
|
+
from verifiers.v1.utils.paths import CACHE_DIR
|
|
20
21
|
|
|
21
22
|
_BACKGROUND_STOP_TIMEOUT = 5
|
|
22
23
|
|
|
@@ -89,8 +90,8 @@ class SubprocessRuntime(Runtime):
|
|
|
89
90
|
self._background: list[asyncio.subprocess.Process] = []
|
|
90
91
|
|
|
91
92
|
async def start(self) -> None:
|
|
92
|
-
self.workdir =
|
|
93
|
-
self.workdir.mkdir()
|
|
93
|
+
self.workdir = CACHE_DIR / "runtimes" / "subprocess" / self.name
|
|
94
|
+
self.workdir.mkdir(parents=True)
|
|
94
95
|
self.info.id = str(self.workdir)
|
|
95
96
|
|
|
96
97
|
async def run(self, argv: list[str], env: dict[str, str]) -> ProgramResult:
|
|
@@ -26,8 +26,8 @@ import logging
|
|
|
26
26
|
import multiprocessing as mp
|
|
27
27
|
import os
|
|
28
28
|
import signal
|
|
29
|
+
import tempfile
|
|
29
30
|
import threading
|
|
30
|
-
import uuid
|
|
31
31
|
from collections.abc import Callable
|
|
32
32
|
|
|
33
33
|
import msgpack
|
|
@@ -90,7 +90,7 @@ class EnvServerPool:
|
|
|
90
90
|
self.multiplex = multiplex
|
|
91
91
|
self.elastic = elastic
|
|
92
92
|
self.log_setup = log_setup
|
|
93
|
-
self.
|
|
93
|
+
self._ipc_dir = tempfile.mkdtemp(prefix="vf-pool-")
|
|
94
94
|
self.workers: list[dict] = []
|
|
95
95
|
self._mpctx = mp.get_context("spawn")
|
|
96
96
|
self._poller: zmq.asyncio.Poller | None = None
|
|
@@ -105,7 +105,7 @@ class EnvServerPool:
|
|
|
105
105
|
self.address = self.frontend.getsockopt_string(zmq.LAST_ENDPOINT)
|
|
106
106
|
|
|
107
107
|
def _worker_path(self, i: int) -> str:
|
|
108
|
-
return f"
|
|
108
|
+
return f"{self._ipc_dir}/{i}"
|
|
109
109
|
|
|
110
110
|
def _spawn_worker(self) -> None:
|
|
111
111
|
i = len(self.workers) # upscale-only, so the next index is the current count
|
|
@@ -241,6 +241,8 @@ class EnvServerPool:
|
|
|
241
241
|
w["dealer"].close()
|
|
242
242
|
with contextlib.suppress(OSError):
|
|
243
243
|
os.unlink(self._worker_path(w["index"]))
|
|
244
|
+
with contextlib.suppress(OSError):
|
|
245
|
+
os.rmdir(self._ipc_dir)
|
|
244
246
|
self.frontend.close()
|
|
245
247
|
self.ctx.term()
|
|
246
248
|
logger.info("EnvServerPool down")
|
|
@@ -10,7 +10,9 @@ initializes a task instance. Rides on `trace.task.data` in `traces.jsonl`.
|
|
|
10
10
|
from __future__ import annotations
|
|
11
11
|
|
|
12
12
|
import copy
|
|
13
|
+
import hashlib
|
|
13
14
|
import inspect
|
|
15
|
+
import json
|
|
14
16
|
import logging
|
|
15
17
|
from collections.abc import Callable, Mapping
|
|
16
18
|
from typing import TYPE_CHECKING, Any, ClassVar, Generic, Self
|
|
@@ -40,6 +42,11 @@ if TYPE_CHECKING:
|
|
|
40
42
|
logger = logging.getLogger(__name__)
|
|
41
43
|
|
|
42
44
|
|
|
45
|
+
def task_key(data: Mapping) -> str:
|
|
46
|
+
"""Content identity for task wire data, independent of field order."""
|
|
47
|
+
return hashlib.sha256(json.dumps(data, sort_keys=True).encode()).hexdigest()
|
|
48
|
+
|
|
49
|
+
|
|
43
50
|
class TaskResources(BaseModel):
|
|
44
51
|
"""Optional resource limits for the task."""
|
|
45
52
|
|
|
@@ -134,6 +141,12 @@ class Task(Generic[DataT, StateT, ConfigT]):
|
|
|
134
141
|
self.data = data
|
|
135
142
|
self.config = config if config is not None else self.config_type()()
|
|
136
143
|
|
|
144
|
+
@property
|
|
145
|
+
def hash(self) -> str:
|
|
146
|
+
"""Content hash of the task's wire data — the identity that matches saved
|
|
147
|
+
rollouts to tasks; recorded on the trace as `task.hash`."""
|
|
148
|
+
return task_key(self.data.model_dump(mode="json", exclude_none=True))
|
|
149
|
+
|
|
137
150
|
def with_system_prompt(self, system_prompt: str) -> Self:
|
|
138
151
|
clone = copy.copy(self)
|
|
139
152
|
clone.data = self.data.model_copy(update={"system_prompt": system_prompt})
|
|
@@ -121,6 +121,8 @@ class TraceTask(BaseModel, Generic[DataT]):
|
|
|
121
121
|
"""The Task class name (`type(task).__name__`)."""
|
|
122
122
|
data: DataT
|
|
123
123
|
"""The (immutable) row being solved."""
|
|
124
|
+
hash: str | None = None
|
|
125
|
+
"""Content hash of `data` (`Task.hash`) — the task's identity across runs."""
|
|
124
126
|
|
|
125
127
|
|
|
126
128
|
class Reward(BaseModel):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/clients/openai_responses_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/README.md
RENAMED
|
File without changes
|
{verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.1.dev17 → verifiers-0.3.1.dev19}/verifiers/legacy/envs/experimental/cli_agent_env.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
|