verifiers 0.1.15.dev386__tar.gz → 0.1.15.dev387__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.dev386 → verifiers-0.1.15.dev387}/PKG-INFO +1 -1
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/README.md +2 -3
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/tasksets/harbor/taskset.py +133 -32
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/.gitignore +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/LICENSE +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/README.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/pyproject.toml +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/AGENTS.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/README.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/conftest.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_browser_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_build_script.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_client_config.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_composable_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_env_group.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_env_server.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_environment.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_environment_extra.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_envs.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_error_chain.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_eval_display.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_eval_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_gym_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_imports.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_init_script.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_install_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_interception_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_lean_task.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_logging.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_math_rubric.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_message_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_openenv_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_parser.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_path_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_renderer_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_rubric.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_rubric_group.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_sandbox_debug_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_save_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_setup_script.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_think_parser.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_tool_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_tool_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_types.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_wordle_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/test_xml_parser.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/conftest.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/fixtures/echo_multi_v0.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/fixtures/echo_v0.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/test_configs.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/test_e2e.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/test_envs.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/test_graph.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/test_legacy.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/tests/v1/test_trace.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/AGENTS.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/cli/commands/build.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/cli/commands/eval.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/cli/commands/gepa.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/cli/commands/install.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/cli/commands/setup.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/cli/tui.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/clients/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/clients/anthropic_messages_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/clients/client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/clients/openai_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/clients/openai_completions_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/clients/openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/clients/renderer_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/decorators.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/AGENTS.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/env_group.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/environment.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/README.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/README.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/composable_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/harness.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/task.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/lean/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/lean/lean_task.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/README.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/openseeker/README.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/openseeker/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/openseeker/taskset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/README.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/tool_pdf.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/eval_toolkit.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/evaluator.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/base_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/cache_prompts.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/cache_filesys.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/load_eval_script.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/misc.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/tool_visit.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/url_tools.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/verification_tree.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/open_ended.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/quest/taskset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/README.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/taskset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/search/search_tasksets.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/gym_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/harbor_env/env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/mcp_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/opencode_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/integrations/README.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/integrations/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/integrations/openenv_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/integrations/textarena_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/multiturn_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/python_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/sandbox_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/singleturn_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/tool_env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/errors.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/gepa/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/gepa/adapter.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/gepa/config.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/gepa/display.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/gepa/gepa_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/parsers/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/parsers/maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/parsers/parser.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/parsers/think_parser.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/parsers/xml_parser.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rl/README.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rl/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rl/inference/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rl/inference/client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rl/inference/server.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rl/trainer/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rl/trainer/config.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rl/trainer/orchestrator.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rl/trainer/trainer.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rl/trainer/utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rubrics/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rubrics/judge_rubric.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rubrics/math_rubric.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rubrics/rubric.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/rubrics/rubric_group.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/scripts/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/scripts/build.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/scripts/eval.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/scripts/gepa.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/scripts/init.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/scripts/install.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/scripts/rl.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/scripts/setup.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/scripts/train.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/scripts/tui.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/scripts/vllm.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/serve/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/serve/client/env_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/serve/client/zmq_env_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/serve/server/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/serve/server/env_router.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/serve/server/env_server.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/serve/server/env_worker.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/serve/server/zmq_env_server.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/serve/types.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/types.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/async_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/client_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/config_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/data_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/display_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/env_config_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/env_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/error_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/eval_display.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/eval_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/heartbeat.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/import_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/install_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/interception_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/logging_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/message_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/metric_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/path_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/pricing_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/process_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/response_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/save_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/serve_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/thread_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/threaded_sandbox_client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/tool_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/usage_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/utils/version_utils.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/ARCHITECTURE.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/GUIDE.md +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/serve.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/clients/config.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/configs/eval.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/configs/init.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/configs/validate.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/decorators.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/env.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/episode.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/errors.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/graph.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harness.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/bash/program.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/default/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/default/harness.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/default/program.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/legacy.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/loaders.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/mcp/multiplex.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/mcp/user.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/retries.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/runtimes/docker.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/state.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/task.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/trace.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/types.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/utils/install.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/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.dev387
|
|
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
|
|
@@ -228,9 +228,8 @@ uv run eval gsm8k-v1 -n 1 --retries.rollout.max-retries 3 --retries.rollout.incl
|
|
|
228
228
|
|
|
229
229
|
Some tasksets wrap a whole benchmark family rather than a single task — shipped, installed by
|
|
230
230
|
default. For example, `textarena` (TextArena games) and `harbor` (the agentic-
|
|
231
|
-
benchmark registry). Harbor is the showcase: it pulls tasks straight from the Harbor registry
|
|
232
|
-
|
|
233
|
-
image — e.g. Terminal-Bench 2:
|
|
231
|
+
benchmark registry). Harbor is the showcase: it pulls tasks straight from the Harbor registry,
|
|
232
|
+
each in its own declared, pullable container image — e.g. Terminal-Bench 2:
|
|
234
233
|
|
|
235
234
|
```bash
|
|
236
235
|
uv run eval harbor --taskset.dataset terminal-bench/terminal-bench-2 -n 10 --harness.id rlm
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"""harbor: run a Harbor (Terminal-Bench) dataset.
|
|
2
2
|
|
|
3
|
-
`dataset` is a Harbor Hub
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
`hello-world` task.
|
|
3
|
+
`dataset` is a Harbor Hub package id (e.g. "org/name" or "org/name@ref"),
|
|
4
|
+
downloaded directly from the registry and cached on first use. Each task dir
|
|
5
|
+
ships task.toml + instruction.md (+ tests/, solution/, environment/). Defaults
|
|
6
|
+
to the registry `harbor/hello-world` dataset.
|
|
8
7
|
|
|
9
8
|
The harness runs in a container and edits /app; then the task's verifier
|
|
10
9
|
(tests/test.sh) runs in the SAME container and the reward it writes to
|
|
@@ -20,14 +19,16 @@ no environment at all also runs on that image, unless `require_image`.
|
|
|
20
19
|
"""
|
|
21
20
|
|
|
22
21
|
import io
|
|
23
|
-
import
|
|
24
|
-
import
|
|
25
|
-
import subprocess
|
|
26
|
-
import sys
|
|
22
|
+
import json
|
|
23
|
+
import os
|
|
27
24
|
import tarfile
|
|
25
|
+
import tempfile
|
|
28
26
|
import tomllib
|
|
27
|
+
from concurrent.futures import ThreadPoolExecutor
|
|
29
28
|
from functools import lru_cache
|
|
30
29
|
from pathlib import Path
|
|
30
|
+
from urllib.parse import urlencode
|
|
31
|
+
from urllib.request import Request, urlopen
|
|
31
32
|
|
|
32
33
|
from pydantic import Field
|
|
33
34
|
|
|
@@ -40,14 +41,14 @@ from verifiers.v1.trace import Trace
|
|
|
40
41
|
from verifiers.v1.types import StrictBaseModel
|
|
41
42
|
|
|
42
43
|
CACHE = Path.home() / ".cache" / "harbor"
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
HARBOR_SUPABASE_URL = "https://ofhuhcpkvzjlejydnvyd.supabase.co"
|
|
45
|
+
HARBOR_SUPABASE_PUBLISHABLE_KEY = "sb_publishable_Z-vuQbpvpG-PStjbh4yE0Q_e-d3MTIH"
|
|
45
46
|
|
|
46
47
|
|
|
47
48
|
class HarborConfig(TasksetConfig):
|
|
48
|
-
dataset: str = "hello-world"
|
|
49
|
-
"""A Harbor Hub
|
|
50
|
-
|
|
49
|
+
dataset: str = "harbor/hello-world"
|
|
50
|
+
"""A Harbor Hub package id ("org/name" or "org/name@ref"), where ref is a
|
|
51
|
+
tag, integer revision, or sha256 digest. Downloaded directly and cached."""
|
|
51
52
|
tasks: list[str] | None = None
|
|
52
53
|
"""Optional subset of task names to load (None = all)."""
|
|
53
54
|
timeout_multiplier: float = Field(1.0, gt=0)
|
|
@@ -87,30 +88,130 @@ class HarborTask(Task):
|
|
|
87
88
|
|
|
88
89
|
|
|
89
90
|
def dataset_dir(dataset: str) -> Path:
|
|
90
|
-
"""Download a Harbor Hub
|
|
91
|
-
|
|
91
|
+
"""Download a Harbor Hub task or dataset package, cached on first use.
|
|
92
|
+
|
|
93
|
+
Harbor refs are tags, integer revisions, or ``sha256:`` digests.
|
|
94
|
+
"""
|
|
92
95
|
out = CACHE / dataset.replace("/", "_").replace("@", "_")
|
|
93
96
|
if out.is_dir():
|
|
94
97
|
return out
|
|
95
98
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
package, _, ref = dataset.partition("@")
|
|
100
|
+
org, name = package.split("/", 1)
|
|
101
|
+
ref = ref or "latest"
|
|
102
|
+
url = os.getenv("HARBOR_SUPABASE_URL", HARBOR_SUPABASE_URL).rstrip("/")
|
|
103
|
+
key = os.getenv("HARBOR_SUPABASE_PUBLISHABLE_KEY", HARBOR_SUPABASE_PUBLISHABLE_KEY)
|
|
104
|
+
headers = {
|
|
105
|
+
"apikey": key,
|
|
106
|
+
"Authorization": f"Bearer {key}",
|
|
107
|
+
"Content-Type": "application/json",
|
|
108
|
+
}
|
|
109
|
+
# Harbor stores datasets in version tables; standalone tasks use the RPC fallback below.
|
|
110
|
+
version_query = {
|
|
111
|
+
"package.name": f"eq.{name}",
|
|
112
|
+
"package.type": "eq.dataset",
|
|
113
|
+
"package.org.name": f"eq.{org}",
|
|
114
|
+
"limit": 1,
|
|
115
|
+
}
|
|
116
|
+
if ref.isdigit():
|
|
117
|
+
table = "dataset_version"
|
|
118
|
+
version_query |= {
|
|
119
|
+
"select": "id,package:package_id!inner(name,type,org:org_id!inner(name))",
|
|
120
|
+
"revision": f"eq.{ref}",
|
|
121
|
+
}
|
|
122
|
+
elif ref.startswith("sha256:"):
|
|
123
|
+
table = "dataset_version"
|
|
124
|
+
version_query |= {
|
|
125
|
+
"select": "id,package:package_id!inner(name,type,org:org_id!inner(name))",
|
|
126
|
+
"content_hash": f"eq.{ref.removeprefix('sha256:')}",
|
|
127
|
+
}
|
|
99
128
|
else:
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
# Harbor requires Python 3.12, while Verifiers also supports Python 3.11.
|
|
108
|
-
if sys.version_info[:2] == (3, 11):
|
|
109
|
-
command.extend(["--python", "3.12"])
|
|
110
|
-
command.extend(["--from", HARBOR_PACKAGE, "harbor"])
|
|
111
|
-
subprocess.run(
|
|
112
|
-
[*command, "download", dataset, "--export", "-o", str(out)], check=True
|
|
129
|
+
table = "dataset_version_tag"
|
|
130
|
+
version_query |= {
|
|
131
|
+
"select": "dataset_version:dataset_version_id(id),package:package_id!inner(name,type,org:org_id!inner(name))",
|
|
132
|
+
"tag": f"eq.{ref}",
|
|
133
|
+
}
|
|
134
|
+
request = Request(
|
|
135
|
+
f"{url}/rest/v1/{table}?{urlencode(version_query)}", headers=headers
|
|
113
136
|
)
|
|
137
|
+
with urlopen(request) as response:
|
|
138
|
+
versions = json.load(response)
|
|
139
|
+
|
|
140
|
+
if versions:
|
|
141
|
+
version = versions[0]
|
|
142
|
+
version_id = version.get("id") or version["dataset_version"]["id"]
|
|
143
|
+
task_query = {
|
|
144
|
+
"select": "task_version:task_version_id(archive_path,package:package_id(name))",
|
|
145
|
+
"dataset_version_id": f"eq.{version_id}",
|
|
146
|
+
"order": "task_version_id",
|
|
147
|
+
"limit": 1000,
|
|
148
|
+
"offset": 0,
|
|
149
|
+
}
|
|
150
|
+
request = Request(
|
|
151
|
+
f"{url}/rest/v1/dataset_version_task?{urlencode(task_query)}",
|
|
152
|
+
headers={**headers, "Prefer": "count=exact"},
|
|
153
|
+
)
|
|
154
|
+
with urlopen(request) as response:
|
|
155
|
+
pages = [json.load(response)]
|
|
156
|
+
total = int(response.headers["Content-Range"].rsplit("/", 1)[1])
|
|
157
|
+
|
|
158
|
+
for offset in range(1000, total, 1000):
|
|
159
|
+
task_query["offset"] = offset
|
|
160
|
+
request = Request(
|
|
161
|
+
f"{url}/rest/v1/dataset_version_task?{urlencode(task_query)}",
|
|
162
|
+
headers=headers,
|
|
163
|
+
)
|
|
164
|
+
with urlopen(request) as response:
|
|
165
|
+
pages.append(json.load(response))
|
|
166
|
+
downloads = [
|
|
167
|
+
(
|
|
168
|
+
Path(name) / row["task_version"]["package"]["name"],
|
|
169
|
+
row["task_version"]["archive_path"],
|
|
170
|
+
)
|
|
171
|
+
for page in pages
|
|
172
|
+
for row in page
|
|
173
|
+
]
|
|
174
|
+
else:
|
|
175
|
+
body = json.dumps({"p_org": org, "p_name": name, "p_ref": ref}).encode()
|
|
176
|
+
request = Request(
|
|
177
|
+
f"{url}/rest/v1/rpc/resolve_task_version", body, headers=headers
|
|
178
|
+
)
|
|
179
|
+
with urlopen(request) as response:
|
|
180
|
+
task = json.load(response)
|
|
181
|
+
if task is None:
|
|
182
|
+
raise ValueError(f"Harbor package not found: {dataset}")
|
|
183
|
+
downloads = [(Path(name), task["archive_path"])]
|
|
184
|
+
|
|
185
|
+
if not downloads:
|
|
186
|
+
raise ValueError(f"Harbor dataset has no tasks: {dataset}")
|
|
187
|
+
|
|
188
|
+
CACHE.mkdir(parents=True, exist_ok=True)
|
|
189
|
+
# Stream archives concurrently into a temporary directory; publish only a complete cache.
|
|
190
|
+
with tempfile.TemporaryDirectory(dir=CACHE) as temp:
|
|
191
|
+
|
|
192
|
+
def extract(item: tuple[Path, str]) -> None:
|
|
193
|
+
relative_path, archive_path = item
|
|
194
|
+
target = Path(temp) / relative_path
|
|
195
|
+
target.mkdir(parents=True, exist_ok=True)
|
|
196
|
+
request = Request(
|
|
197
|
+
f"{url}/storage/v1/object/authenticated/packages/{archive_path}",
|
|
198
|
+
headers=headers,
|
|
199
|
+
)
|
|
200
|
+
with urlopen(request) as response:
|
|
201
|
+
with tarfile.open(fileobj=response, mode="r|gz") as tar:
|
|
202
|
+
kwargs = (
|
|
203
|
+
{"filter": "data"} if hasattr(tarfile, "data_filter") else {}
|
|
204
|
+
)
|
|
205
|
+
tar.extractall(target, **kwargs)
|
|
206
|
+
|
|
207
|
+
with ThreadPoolExecutor(max_workers=100) as pool:
|
|
208
|
+
list(pool.map(extract, downloads))
|
|
209
|
+
try:
|
|
210
|
+
Path(temp).rename(out)
|
|
211
|
+
except OSError:
|
|
212
|
+
if out.is_dir():
|
|
213
|
+
return out
|
|
214
|
+
raise
|
|
114
215
|
return out
|
|
115
216
|
|
|
116
217
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.dev386 → verifiers-0.1.15.dev387}/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.dev386 → verifiers-0.1.15.dev387}/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.dev386 → verifiers-0.1.15.dev387}/verifiers/clients/openai_completions_client.py
RENAMED
|
File without changes
|
{verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/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.dev386 → verifiers-0.1.15.dev387}/verifiers/envs/experimental/cli_agent_env.py
RENAMED
|
File without changes
|
{verifiers-0.1.15.dev386 → verifiers-0.1.15.dev387}/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.dev386 → verifiers-0.1.15.dev387}/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
|