verifiers 0.1.15.dev367__tar.gz → 0.1.15.dev369__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.1.15.dev367 → verifiers-0.1.15.dev369}/PKG-INFO +1 -1
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/eval/runner.py +6 -1
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/mcp/multiplex.py +25 -11
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/serve/pool.py +23 -7
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/.gitignore +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/LICENSE +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/README.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/pyproject.toml +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/AGENTS.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/README.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/conftest.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_browser_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_build_script.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_client_config.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_composable_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_env_group.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_env_server.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_environment.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_environment_extra.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_envs.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_error_chain.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_eval_display.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_eval_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_gym_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_imports.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_init_script.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_install_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_interception_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_lean_task.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_logging.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_math_rubric.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_message_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_openenv_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_parser.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_path_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_renderer_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_rubric.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_rubric_group.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_sandbox_debug_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_save_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_setup_script.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_think_parser.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_tool_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_tool_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_types.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_wordle_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/test_xml_parser.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/conftest.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/fixtures/echo_multi_v0.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/fixtures/echo_v0.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/test_configs.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/test_e2e.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/test_envs.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/test_graph.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/test_legacy.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/test_trace.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/AGENTS.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/cli/commands/build.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/cli/commands/eval.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/cli/commands/gepa.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/cli/commands/install.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/cli/commands/setup.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/cli/tui.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/clients/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/clients/anthropic_messages_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/clients/client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/clients/openai_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/clients/openai_completions_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/clients/openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/clients/renderer_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/decorators.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/AGENTS.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/env_group.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/environment.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/README.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/README.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/composable_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/harness.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/task.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/lean/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/lean/lean_task.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/README.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/openseeker/README.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/openseeker/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/openseeker/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/README.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/tool_pdf.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/eval_toolkit.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/evaluator.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/base_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/cache_prompts.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/cache_filesys.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/load_eval_script.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/misc.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/tool_visit.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/url_tools.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/verification_tree.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/open_ended.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/quest/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/README.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/search/search_tasksets.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/gym_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/harbor_env/env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/mcp_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/opencode_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/integrations/README.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/integrations/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/integrations/openenv_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/integrations/textarena_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/multiturn_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/python_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/sandbox_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/singleturn_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/tool_env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/errors.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/gepa/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/gepa/adapter.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/gepa/config.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/gepa/display.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/gepa/gepa_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/parsers/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/parsers/maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/parsers/parser.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/parsers/think_parser.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/parsers/xml_parser.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rl/README.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rl/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rl/inference/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rl/inference/client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rl/inference/server.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rl/trainer/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rl/trainer/config.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rl/trainer/orchestrator.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rl/trainer/trainer.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rl/trainer/utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rubrics/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rubrics/judge_rubric.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rubrics/math_rubric.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rubrics/rubric.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/rubrics/rubric_group.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/scripts/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/scripts/build.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/scripts/eval.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/scripts/gepa.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/scripts/init.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/scripts/install.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/scripts/rl.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/scripts/setup.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/scripts/train.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/scripts/tui.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/scripts/vllm.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/serve/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/serve/client/env_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/serve/client/zmq_env_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/serve/server/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/serve/server/env_router.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/serve/server/env_server.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/serve/server/env_worker.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/serve/server/zmq_env_server.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/serve/types.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/types.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/async_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/client_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/config_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/data_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/display_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/env_config_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/env_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/error_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/eval_display.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/eval_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/heartbeat.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/import_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/install_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/interception_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/logging_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/message_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/metric_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/path_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/pricing_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/process_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/response_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/save_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/serve_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/thread_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/threaded_sandbox_client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/tool_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/usage_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/utils/version_utils.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/ARCHITECTURE.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/GUIDE.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/README.md +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/serve.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/clients/config.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/configs/eval.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/configs/init.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/configs/validate.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/decorators.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/env.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/episode.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/errors.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/graph.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harness.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/bash/program.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/default/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/default/harness.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/default/program.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/legacy.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/loaders.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/mcp/user.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/retries.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/runtimes/docker.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/state.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/task.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/tasksets/harbor_v1/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/tasksets/harbor_v1/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/tasksets/textarena_v1/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/tasksets/textarena_v1/taskset.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/trace.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/types.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/utils/install.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/v1/utils/memory.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.1.15.
|
|
3
|
+
Version: 0.1.15.dev369
|
|
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
|
|
@@ -182,8 +182,13 @@ async def run_eval_server(config: EvalConfig) -> list[Trace]:
|
|
|
182
182
|
config.model,
|
|
183
183
|
)
|
|
184
184
|
logger.info("results: %s", out)
|
|
185
|
+
request_concurrency = config.max_concurrent
|
|
186
|
+
if request_concurrency and info.requires_group_scoring:
|
|
187
|
+
# max_concurrent is a rollout resource bound, not a request-throughput target.
|
|
188
|
+
# A group is indivisible, so one oversized group must still be allowed to run.
|
|
189
|
+
request_concurrency = max(1, request_concurrency // config.num_rollouts)
|
|
185
190
|
semaphore = (
|
|
186
|
-
asyncio.Semaphore(
|
|
191
|
+
asyncio.Semaphore(request_concurrency) if request_concurrency else None
|
|
187
192
|
)
|
|
188
193
|
write_lock = asyncio.Lock()
|
|
189
194
|
|
|
@@ -31,6 +31,7 @@ to absolute paths outside the private CWD are not isolated.
|
|
|
31
31
|
from __future__ import annotations
|
|
32
32
|
|
|
33
33
|
import asyncio
|
|
34
|
+
import concurrent.futures
|
|
34
35
|
import contextlib
|
|
35
36
|
import hashlib
|
|
36
37
|
import logging
|
|
@@ -148,8 +149,7 @@ def serve_forked(app, sock: socket.socket, server) -> None:
|
|
|
148
149
|
child = children.get(key)
|
|
149
150
|
if child is not None and child.ready.is_set():
|
|
150
151
|
return child
|
|
151
|
-
#
|
|
152
|
-
# cold fork serializes other forks (fork-safety) but doesn't stall traffic to other children.
|
|
152
|
+
# Readiness waits stay outside the lock, so traffic to ready children remains lock-free.
|
|
153
153
|
async with forking:
|
|
154
154
|
child = children.get(key)
|
|
155
155
|
creating = child is None
|
|
@@ -177,15 +177,29 @@ def serve_forked(app, sock: socket.socket, server) -> None:
|
|
|
177
177
|
return child
|
|
178
178
|
|
|
179
179
|
async def reap(key: str) -> None:
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
180
|
+
# Keep fork() out of the cleanup thread's lifetime; ready children bypass this lock.
|
|
181
|
+
async with forking:
|
|
182
|
+
child = children.pop(key, None)
|
|
183
|
+
if not child:
|
|
184
|
+
return
|
|
185
|
+
child.ready.set() # wake waiters; they re-check `children` before re-forking
|
|
186
|
+
with contextlib.suppress(Exception):
|
|
187
|
+
os.kill(child.pid, signal.SIGKILL)
|
|
188
|
+
|
|
189
|
+
def cleanup() -> None:
|
|
190
|
+
with contextlib.suppress(Exception):
|
|
191
|
+
os.waitpid(child.pid, 0)
|
|
192
|
+
shutil.rmtree(child.cwd, ignore_errors=True)
|
|
193
|
+
|
|
194
|
+
# One worker keeps cleanup ordered and lets it finish if this task is cancelled.
|
|
195
|
+
loop = asyncio.get_running_loop()
|
|
196
|
+
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
|
197
|
+
future = loop.run_in_executor(executor, cleanup)
|
|
198
|
+
try:
|
|
199
|
+
await asyncio.shield(future)
|
|
200
|
+
except asyncio.CancelledError:
|
|
201
|
+
await future
|
|
202
|
+
raise
|
|
189
203
|
logger.info("fork: reaped child pid=%d", child.pid)
|
|
190
204
|
|
|
191
205
|
async def _respond(send, status: int, body: bytes) -> None:
|
|
@@ -37,7 +37,7 @@ import zmq.asyncio
|
|
|
37
37
|
|
|
38
38
|
from verifiers.v1.env import EnvConfig
|
|
39
39
|
from verifiers.v1.serve.server import EnvServer
|
|
40
|
-
from verifiers.v1.serve.types import HealthResponse
|
|
40
|
+
from verifiers.v1.serve.types import HealthResponse, RunGroupRequest
|
|
41
41
|
|
|
42
42
|
logger = logging.getLogger(__name__)
|
|
43
43
|
|
|
@@ -161,7 +161,7 @@ class EnvServerPool:
|
|
|
161
161
|
self._poller.register(dealer, zmq.POLLIN)
|
|
162
162
|
|
|
163
163
|
def _maybe_scale_up(self, in_flight: int) -> None:
|
|
164
|
-
"""Spawn one more worker when in-flight
|
|
164
|
+
"""Spawn one more worker when in-flight rollout slots reach 90% of capacity.
|
|
165
165
|
|
|
166
166
|
A new worker starts at `active=0`, so least-busy dispatch funnels the backlog to
|
|
167
167
|
it as it comes online (a few seconds to load the env) — fine, since we only scale
|
|
@@ -188,7 +188,8 @@ class EnvServerPool:
|
|
|
188
188
|
# (`max_workers` is a concrete count when elastic is off).
|
|
189
189
|
for _ in range(1 if self.elastic else (self.max_workers or 1)):
|
|
190
190
|
self._spawn_worker()
|
|
191
|
-
|
|
191
|
+
# request_id -> {client_id, worker, rollout_slots}
|
|
192
|
+
pending: dict[bytes, dict] = {}
|
|
192
193
|
logger.info(
|
|
193
194
|
"EnvServerPool up: address=%s workers=%d/%s multiplex=%d elastic=%s",
|
|
194
195
|
self.address,
|
|
@@ -198,6 +199,7 @@ class EnvServerPool:
|
|
|
198
199
|
self.elastic,
|
|
199
200
|
)
|
|
200
201
|
try:
|
|
202
|
+
in_flight = 0
|
|
201
203
|
while True:
|
|
202
204
|
events = dict(await self._poller.poll())
|
|
203
205
|
if self.frontend in events:
|
|
@@ -212,16 +214,29 @@ class EnvServerPool:
|
|
|
212
214
|
[client_id, request_id, _HEALTH]
|
|
213
215
|
)
|
|
214
216
|
else:
|
|
217
|
+
# Pool capacity is measured in rollouts; one group request carries n.
|
|
218
|
+
rollout_slots = 1
|
|
219
|
+
if method == b"run_group":
|
|
220
|
+
with contextlib.suppress(Exception):
|
|
221
|
+
request = RunGroupRequest.model_validate(
|
|
222
|
+
msgpack.unpackb(payload, raw=False)
|
|
223
|
+
)
|
|
224
|
+
rollout_slots = max(1, request.n)
|
|
215
225
|
worker = min(self.workers, key=lambda w: w["active"])
|
|
216
|
-
worker["active"] +=
|
|
217
|
-
pending[request_id] = {
|
|
226
|
+
worker["active"] += rollout_slots
|
|
227
|
+
pending[request_id] = {
|
|
228
|
+
"client_id": client_id,
|
|
229
|
+
"worker": worker,
|
|
230
|
+
"rollout_slots": rollout_slots,
|
|
231
|
+
}
|
|
232
|
+
in_flight += rollout_slots
|
|
218
233
|
# forward without client_id — the DEALER identity is the worker's
|
|
219
234
|
# `client_id`; we hold the real one in `pending`.
|
|
220
235
|
await worker["dealer"].send_multipart(
|
|
221
236
|
[request_id, method, payload]
|
|
222
237
|
)
|
|
223
238
|
if self.elastic:
|
|
224
|
-
self._maybe_scale_up(
|
|
239
|
+
self._maybe_scale_up(in_flight)
|
|
225
240
|
for w in self.workers:
|
|
226
241
|
if w["dealer"] in events:
|
|
227
242
|
request_id, data = await w["dealer"].recv_multipart(copy=False)
|
|
@@ -229,7 +244,8 @@ class EnvServerPool:
|
|
|
229
244
|
entry = pending.pop(request_id.bytes, None)
|
|
230
245
|
if entry is None:
|
|
231
246
|
continue
|
|
232
|
-
entry["worker"]["active"] -=
|
|
247
|
+
entry["worker"]["active"] -= entry["rollout_slots"]
|
|
248
|
+
in_flight -= entry["rollout_slots"]
|
|
233
249
|
with contextlib.suppress(zmq.ZMQError):
|
|
234
250
|
await self.frontend.send_multipart(
|
|
235
251
|
[entry["client_id"], request_id, data], copy=False
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.1.15.dev367 → verifiers-0.1.15.dev369}/tests/v1/fixtures/tool_response_image_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/clients/anthropic_messages_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/clients/openai_completions_client.py
RENAMED
|
File without changes
|
{verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/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.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/cli_agent_env.py
RENAMED
|
File without changes
|
{verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/verifiers/envs/experimental/composable/README.md
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
|
{verifiers-0.1.15.dev367 → verifiers-0.1.15.dev369}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|