verifiers 0.2.1.dev48__tar.gz → 0.2.1.dev50__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/PKG-INFO +1 -1
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/conftest.py +6 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/conftest.py +10 -8
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/test_e2e.py +2 -2
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/__init__.py +6 -0
- verifiers-0.2.1.dev50/verifiers/v1/harnesses/claude_code/__init__.py +6 -0
- verifiers-0.2.1.dev50/verifiers/v1/harnesses/claude_code/harness.py +102 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/tasksets/harbor/taskset.py +12 -3
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/.gitignore +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/LICENSE +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/README.md +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/pyproject.toml +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/AGENTS.md +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_browser_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_build_script.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_client_config.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_composable_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_env_group.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_env_server.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_environment.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_environment_extra.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_envs.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_error_chain.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_eval_display.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_eval_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_gym_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_imports.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_init_script.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_install_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_interception_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_logging.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_math_rubric.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_message_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_openenv_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_parser.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_path_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_renderer_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_rubric.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_rubric_group.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_sandbox_debug_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_save_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_setup_script.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_think_parser.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_tool_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_tool_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_types.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_wordle_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_xml_parser.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/fixtures/echo_multi_v0.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/fixtures/echo_v0.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/test_configs.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/test_envs.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/test_graph.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/test_judges.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/test_legacy.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/test_scoring.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/test_taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/v1/test_trace.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/cli/commands/build.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/cli/commands/eval.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/cli/commands/gepa.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/cli/commands/install.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/cli/commands/setup.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/cli/tui.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/anthropic_messages_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/openai_chat_completions_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/openai_completions_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/openai_responses_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/renderer_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/decorators.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/AGENTS.md +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/env_group.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/environment.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/README.md +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/cli_agent_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/README.md +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/composable_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/harness.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/task.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/README.md +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/openseeker/README.md +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/openseeker/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/openseeker/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/README.md +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/tool_pdf.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/eval_toolkit.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/evaluator.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/base_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/cache_prompts.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/cache_filesys.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/load_eval_script.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/misc.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/tool_visit.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/url_tools.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/verification_tree.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/open_ended.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/quest/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/README.md +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/search/search_tasksets.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/gym_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/harbor_env/env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/mcp_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/opencode_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/utils/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/integrations/README.md +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/integrations/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/integrations/openenv_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/integrations/textarena_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/multiturn_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/python_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/sandbox_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/singleturn_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/stateful_tool_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/tool_env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/errors.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/gepa/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/gepa/adapter.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/gepa/config.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/gepa/display.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/gepa/gepa_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/parsers/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/parsers/maybe_think_parser.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/parsers/parser.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/parsers/think_parser.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/parsers/xml_parser.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/rubrics/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/rubrics/judge_rubric.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/rubrics/math_rubric.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/rubrics/rubric.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/rubrics/rubric_group.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/scripts/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/scripts/build.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/scripts/eval.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/scripts/gepa.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/scripts/init.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/scripts/install.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/scripts/setup.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/scripts/tui.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/serve/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/serve/client/env_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/serve/client/zmq_env_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/serve/server/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/serve/server/env_router.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/serve/server/env_server.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/serve/server/env_worker.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/serve/server/zmq_env_server.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/serve/types.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/types.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/async_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/client_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/config_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/data_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/display_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/env_config_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/env_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/error_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/eval_display.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/eval_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/heartbeat.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/import_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/install_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/interception_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/logging_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/message_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/metric_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/path_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/pricing_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/process_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/response_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/save_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/serve_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/thread_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/threaded_sandbox_client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/tool_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/usage_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/utils/version_utils.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/debug.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/gepa.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/serve.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/clients/config.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/configs/debug.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/configs/eval.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/configs/init.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/configs/replay.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/configs/validate.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/decorators.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/env.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/episode.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/errors.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/gepa/dataset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/graph.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harness.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/default/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/default/harness.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/default/program.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/null/program.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/judge.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/legacy.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/loaders.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/mcp/user.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/push.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/retries.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/runtimes/docker.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/scoring.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/session.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/state.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/task.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/tasksets/lean/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/tasksets/lean/scoring.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/tasksets/lean/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/trace.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/types.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/utils/install.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/v1/utils/sampling.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.2.1.
|
|
3
|
+
Version: 0.2.1.dev50
|
|
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
|
|
@@ -39,6 +39,12 @@ from verifiers.types import (
|
|
|
39
39
|
from verifiers.utils.save_utils import state_to_output
|
|
40
40
|
|
|
41
41
|
|
|
42
|
+
def pytest_configure(config) -> None:
|
|
43
|
+
config.addinivalue_line(
|
|
44
|
+
"markers", "claude_code: v1 e2e cases on the claude-code harness"
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
|
|
42
48
|
@pytest.fixture
|
|
43
49
|
def basic_parser():
|
|
44
50
|
"""Return a basic Parser instance."""
|
|
@@ -20,10 +20,11 @@ Every matrix value carries a pytest mark, so subsets select with `-m`:
|
|
|
20
20
|
uv run pytest tests/v1 -n auto -m modal # only modal (needs local setup)
|
|
21
21
|
|
|
22
22
|
Marks: runtimes `subprocess` / `docker` / `prime` / `modal`, placement `colocated`,
|
|
23
|
-
harnesses `null` / `default` / `rlm` / `kimi_code` / `codex`. A mark is applied per
|
|
24
|
-
selects every case touching that value on ANY axis; for one exact combination use `-k`
|
|
25
|
-
id (e.g. `-k "harness-in-docker-with-tool-in-subprocess"`). prime/modal provision real
|
|
26
|
-
sandboxes (slow, infra-flaky, need setup), so they're local-only — CI runs
|
|
23
|
+
harnesses `null` / `default` / `rlm` / `kimi_code` / `codex` / `claude_code`. A mark is applied per
|
|
24
|
+
axis, so it selects every case touching that value on ANY axis; for one exact combination use `-k`
|
|
25
|
+
on the test id (e.g. `-k "harness-in-docker-with-tool-in-subprocess"`). prime/modal provision real
|
|
26
|
+
remote sandboxes (slow, infra-flaky, need setup), so they're local-only — CI runs
|
|
27
|
+
`-m "not prime and not modal"`.
|
|
27
28
|
"""
|
|
28
29
|
|
|
29
30
|
import os
|
|
@@ -104,10 +105,10 @@ def tool_runtime(request) -> dict:
|
|
|
104
105
|
|
|
105
106
|
|
|
106
107
|
# Harnesses, composed with the runtime fixtures, each carrying its harness mark (`-m default`, ...).
|
|
107
|
-
# Built-ins are bundled in the `harnesses` package; the agent CLIs (`rlm` / `kimi-code` / `codex`
|
|
108
|
-
# install their dependencies at rollout. `compact` (an example harness) and
|
|
109
|
-
# the host tmux) are excluded. `test_agentic` skips `null` (a chat loop with no
|
|
110
|
-
# `test_single_turn` skips
|
|
108
|
+
# Built-ins are bundled in the `harnesses` package; the agent CLIs (`rlm` / `kimi-code` / `codex` /
|
|
109
|
+
# `claude-code`) install their dependencies at rollout. `compact` (an example harness) and
|
|
110
|
+
# `terminus-2` (drives the host tmux) are excluded. `test_agentic` skips `null` (a chat loop with no
|
|
111
|
+
# shell); `test_single_turn` skips the coding agents, which are unreliable on a no-op echo.
|
|
111
112
|
@pytest.fixture(
|
|
112
113
|
params=[
|
|
113
114
|
pytest.param("null", marks=pytest.mark.null, id="null"),
|
|
@@ -115,6 +116,7 @@ def tool_runtime(request) -> dict:
|
|
|
115
116
|
pytest.param("rlm", marks=pytest.mark.rlm, id="rlm"),
|
|
116
117
|
pytest.param("kimi-code", marks=pytest.mark.kimi_code, id="kimi-code"),
|
|
117
118
|
pytest.param("codex", marks=pytest.mark.codex, id="codex"),
|
|
119
|
+
pytest.param("claude-code", marks=pytest.mark.claude_code, id="claude-code"),
|
|
118
120
|
]
|
|
119
121
|
)
|
|
120
122
|
def harness(request) -> str:
|
|
@@ -6,8 +6,8 @@ import pytest
|
|
|
6
6
|
@pytest.mark.e2e
|
|
7
7
|
async def test_single_turn(run_v1, harness, harness_runtime, tmp_path):
|
|
8
8
|
"""Single-turn (echo a short phrase back)."""
|
|
9
|
-
if harness
|
|
10
|
-
pytest.skip("
|
|
9
|
+
if harness in {"codex", "claude-code"}:
|
|
10
|
+
pytest.skip("coding agents are not reliable on a no-op echo chat task")
|
|
11
11
|
(trace,) = await run_v1(
|
|
12
12
|
"echo-v1",
|
|
13
13
|
harness=harness,
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
from verifiers.v1.harnesses.claude_code import (
|
|
2
|
+
ClaudeCodeHarness,
|
|
3
|
+
ClaudeCodeHarnessConfig,
|
|
4
|
+
)
|
|
1
5
|
from verifiers.v1.harnesses.codex import CodexHarness, CodexHarnessConfig
|
|
2
6
|
from verifiers.v1.harnesses.default import DefaultHarness, DefaultHarnessConfig
|
|
3
7
|
from verifiers.v1.harnesses.kimi_code import KimiCodeHarness, KimiCodeHarnessConfig
|
|
@@ -11,6 +15,8 @@ from verifiers.v1.harnesses.rlm import RLMHarness, RLMHarnessConfig
|
|
|
11
15
|
from verifiers.v1.harnesses.terminus_2 import Terminus2Harness, Terminus2HarnessConfig
|
|
12
16
|
|
|
13
17
|
__all__ = [
|
|
18
|
+
"ClaudeCodeHarness",
|
|
19
|
+
"ClaudeCodeHarnessConfig",
|
|
14
20
|
"CodexHarness",
|
|
15
21
|
"CodexHarnessConfig",
|
|
16
22
|
"DefaultHarness",
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"""Run Claude Code against interception as an Anthropic Messages client."""
|
|
2
|
+
|
|
3
|
+
import json
|
|
4
|
+
import shlex
|
|
5
|
+
|
|
6
|
+
from pydantic import Field
|
|
7
|
+
|
|
8
|
+
from verifiers.v1.clients import ModelContext
|
|
9
|
+
from verifiers.v1.harness import Harness, HarnessConfig
|
|
10
|
+
from verifiers.v1.runtimes import ProgramResult, Runtime
|
|
11
|
+
from verifiers.v1.trace import Trace
|
|
12
|
+
|
|
13
|
+
CLAUDE_HOME = "/tmp/vf-claude-code-{version}"
|
|
14
|
+
CLAUDE_BIN = f"{CLAUDE_HOME}/.local/bin/claude"
|
|
15
|
+
CLAUDE_CONFIG_DIR = ".vf-claude"
|
|
16
|
+
INSTALL = """
|
|
17
|
+
set -e
|
|
18
|
+
command -v curl >/dev/null || (apt-get update -qq && apt-get install -y -qq curl ca-certificates >/dev/null)
|
|
19
|
+
curl -fsSL https://claude.ai/install.sh | HOME={home} bash -s {version}
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ClaudeCodeHarnessConfig(HarnessConfig):
|
|
24
|
+
version: str = Field(default="2.1.207", pattern=r"^[A-Za-z0-9._+-]+$")
|
|
25
|
+
"""Claude Code release to install; pinned for reproducibility."""
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class ClaudeCodeHarness(Harness[ClaudeCodeHarnessConfig]):
|
|
29
|
+
APPENDS_SYSTEM_PROMPT = True
|
|
30
|
+
SUPPORTS_MCP = True
|
|
31
|
+
# images would require streaming inputs
|
|
32
|
+
SUPPORTS_MESSAGE_PROMPT = False
|
|
33
|
+
|
|
34
|
+
async def setup(self, runtime: Runtime) -> None:
|
|
35
|
+
home = CLAUDE_HOME.format(version=self.config.version)
|
|
36
|
+
binary = CLAUDE_BIN.format(version=self.config.version)
|
|
37
|
+
script = INSTALL.format(version=self.config.version, home=home)
|
|
38
|
+
# Cache the pinned binary across local rollouts; Linux has flock, macOS has lockf.
|
|
39
|
+
install = shlex.quote(f"[ -x {binary} ] || ({script})")
|
|
40
|
+
guarded = (
|
|
41
|
+
f"mkdir -p {home} && "
|
|
42
|
+
f'"$(command -v flock || command -v lockf)" {home}/install.lock '
|
|
43
|
+
f"bash -o pipefail -c {install}"
|
|
44
|
+
)
|
|
45
|
+
result = await runtime.run(["sh", "-c", guarded], self.config.resolved_env)
|
|
46
|
+
if result.exit_code != 0:
|
|
47
|
+
detail = (result.stderr or result.stdout).strip()[-500:]
|
|
48
|
+
raise RuntimeError(f"Claude Code install failed: {detail}")
|
|
49
|
+
|
|
50
|
+
async def launch(
|
|
51
|
+
self,
|
|
52
|
+
ctx: ModelContext,
|
|
53
|
+
trace: Trace,
|
|
54
|
+
runtime: Runtime,
|
|
55
|
+
endpoint: str,
|
|
56
|
+
secret: str,
|
|
57
|
+
mcp_urls: dict[str, str],
|
|
58
|
+
) -> ProgramResult:
|
|
59
|
+
system_prompt, instruction = self.resolve_prompt(trace.task.data)
|
|
60
|
+
if ctx.client.base_url == "https://api.pinference.ai/api/v1":
|
|
61
|
+
# remove the /v1 from pinference
|
|
62
|
+
ctx.client.base_url = ctx.client.base_url.removesuffix("/v1")
|
|
63
|
+
env = {
|
|
64
|
+
**self.config.resolved_env,
|
|
65
|
+
# Claude appends /v1/messages; give it the interception root, not the model endpoint.
|
|
66
|
+
"ANTHROPIC_BASE_URL": endpoint.removesuffix("/v1"),
|
|
67
|
+
"ANTHROPIC_API_KEY": secret,
|
|
68
|
+
"CLAUDE_CONFIG_DIR": CLAUDE_CONFIG_DIR,
|
|
69
|
+
"DISABLE_AUTOUPDATER": "1",
|
|
70
|
+
"IS_SANDBOX": "1",
|
|
71
|
+
}
|
|
72
|
+
argv = [
|
|
73
|
+
CLAUDE_BIN.format(version=self.config.version),
|
|
74
|
+
"--print",
|
|
75
|
+
"--bare",
|
|
76
|
+
"--dangerously-skip-permissions",
|
|
77
|
+
"--no-session-persistence",
|
|
78
|
+
"--model",
|
|
79
|
+
ctx.model,
|
|
80
|
+
]
|
|
81
|
+
if system_prompt:
|
|
82
|
+
argv += ["--append-system-prompt", system_prompt]
|
|
83
|
+
argv += [
|
|
84
|
+
arg
|
|
85
|
+
for tool in self.config.disabled_tools or []
|
|
86
|
+
for arg in ("--disallowedTools", tool)
|
|
87
|
+
]
|
|
88
|
+
mcp = {
|
|
89
|
+
"mcpServers": {
|
|
90
|
+
name: {"type": "http", "url": url} for name, url in mcp_urls.items()
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
mcp_path = f"{CLAUDE_CONFIG_DIR}/mcp.json"
|
|
94
|
+
await runtime.write(mcp_path, json.dumps(mcp).encode())
|
|
95
|
+
argv += [
|
|
96
|
+
"--mcp-config",
|
|
97
|
+
mcp_path,
|
|
98
|
+
"--strict-mcp-config",
|
|
99
|
+
"--",
|
|
100
|
+
instruction or "",
|
|
101
|
+
]
|
|
102
|
+
return await runtime.run_program(argv, env)
|
|
@@ -48,8 +48,14 @@ class HarborConfig(TasksetConfig):
|
|
|
48
48
|
"""Optional Harbor `--registry-url` selector for a raw registry.json URL."""
|
|
49
49
|
tasks: list[str] | None = None
|
|
50
50
|
"""Optional subset of task names to load (None = all)."""
|
|
51
|
+
ignore_timeouts: bool = True
|
|
52
|
+
"""Drop each task's declared agent and verifier timeouts so rollouts run
|
|
53
|
+
unbounded (unless run-level `--timeout.*` limits are set). Task timeouts are
|
|
54
|
+
authored against Harbor's runtime and confound model capability with inference
|
|
55
|
+
speed; set False to apply them anyway."""
|
|
51
56
|
timeout_multiplier: float = Field(1.0, gt=0)
|
|
52
|
-
"""Scale each task's agent and verifier timeouts.
|
|
57
|
+
"""Scale each task's agent and verifier timeouts. Only applies with
|
|
58
|
+
`ignore_timeouts=False`."""
|
|
53
59
|
resource_multiplier: float = Field(1.0, gt=0)
|
|
54
60
|
"""Scale each task's CPU, memory, and disk requests. GPU requests are unchanged."""
|
|
55
61
|
require_image: bool = False
|
|
@@ -273,8 +279,11 @@ def parse_task(task_dir: Path, idx: int, harbor_config: HarborConfig) -> HarborD
|
|
|
273
279
|
# Older registry entries stored one author in [metadata].
|
|
274
280
|
if not authors and meta.get("author_name"):
|
|
275
281
|
authors = [Author(name=meta["author_name"], email=meta.get("author_email"))]
|
|
276
|
-
|
|
277
|
-
|
|
282
|
+
if harbor_config.ignore_timeouts:
|
|
283
|
+
harness_timeout = scoring_timeout = None
|
|
284
|
+
else:
|
|
285
|
+
harness_timeout = config.get("agent", {}).get("timeout_sec")
|
|
286
|
+
scoring_timeout = config.get("verifier", {}).get("timeout_sec")
|
|
278
287
|
return HarborData(
|
|
279
288
|
idx=idx,
|
|
280
289
|
name=task.get("name") or task_dir.name,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/tests/test_openai_chat_completions_token_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/anthropic_messages_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/nemorl_chat_completions_client.py
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/openai_chat_completions_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/openai_completions_client.py
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/clients/openai_responses_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/cli_agent_env.py
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/README.md
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/_filter.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/verifiers/envs/experimental/composable/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev48 → verifiers-0.2.1.dev50}/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
|