verifiers 0.1.15.dev180__tar.gz → 0.1.15.dev186__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.dev180 → verifiers-0.1.15.dev186}/PKG-INFO +1 -1
- verifiers-0.1.15.dev186/tests/test_sandbox_debug_env.py +44 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/__init__.py +4 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/__init__.py +6 -0
- verifiers-0.1.15.dev180/verifiers/envs/experimental/composable/swe_debug_env.py → verifiers-0.1.15.dev186/verifiers/envs/experimental/composable/sandbox_debug_env.py +10 -10
- verifiers-0.1.15.dev186/verifiers/envs/experimental/composable/swe_debug_env.py +39 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/README.md +2 -2
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/harness.py +26 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/runtime.py +16 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/.gitignore +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/LICENSE +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/README.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/pyproject.toml +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/AGENTS.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/README.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/conftest.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_browser_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_build_script.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_client_config.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_composable_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_env_group.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_env_server.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_environment.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_environment_extra.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_envs.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_error_chain.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_eval_cli.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_eval_display.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_eval_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_gym_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_imports.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_init_script.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_install_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_interception_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_langchain_deep_agents_wikispeedia.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_lean_task.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_logging.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_math_rubric.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_mcp_search_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_message_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_opencode_harbor.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_openenv_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_parser.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_path_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_renderer_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_rubric.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_rubric_group.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_save_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_setup_script.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_think_parser.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_tool_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_tool_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_types.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_bfcl.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_config_extension.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_empty_completions.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_endpoint_protocols.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_example_counts.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_group_reward_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_harbor_cli.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_mini_swe_agent.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_nemo_gym_harness.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_openenv_taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_openreward_taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_replay_harness.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_rlm_swe.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_runtime_lifecycle.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_scoring_functions.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_taskset_bindings.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_taskset_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_v1_textarena_taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_wiki_search_v1.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_wordle_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_wordle_v1_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/tests/test_xml_parser.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/AGENTS.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/cli/commands/build.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/cli/commands/eval.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/cli/commands/gepa.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/cli/commands/install.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/cli/commands/setup.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/cli/tui.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/clients/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/clients/anthropic_messages_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/clients/client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/clients/openai_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/clients/openai_completions_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/clients/openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/clients/renderer_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/decorators.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/AGENTS.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/env_group.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/environment.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/README.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/README.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/composable_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/harness.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/task.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/lean/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/lean/lean_task.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/README.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/openseeker/README.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/openseeker/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/openseeker/taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/README.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/tool_pdf.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/eval_toolkit.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/evaluator.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/base_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/cache_prompts.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/cache_filesys.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/load_eval_script.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/misc.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/tool_visit.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/url_tools.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/verification_tree.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/open_ended.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/quest/taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/README.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/search/search_tasksets.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/gym_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/harbor_env/env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/mcp_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/opencode_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/integrations/README.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/integrations/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/integrations/openenv_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/integrations/textarena_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/multiturn_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/python_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/sandbox_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/singleturn_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/tool_env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/errors.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/gepa/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/gepa/adapter.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/gepa/config.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/gepa/display.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/gepa/gepa_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/parsers/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/parsers/maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/parsers/parser.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/parsers/think_parser.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/parsers/xml_parser.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rl/README.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rl/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rl/inference/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rl/inference/client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rl/inference/server.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rl/trainer/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rl/trainer/config.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rl/trainer/orchestrator.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rl/trainer/trainer.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rl/trainer/utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rubrics/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rubrics/judge_rubric.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rubrics/math_rubric.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rubrics/rubric.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/rubrics/rubric_group.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/scripts/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/scripts/build.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/scripts/eval.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/scripts/gepa.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/scripts/init.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/scripts/install.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/scripts/rl.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/scripts/setup.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/scripts/train.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/scripts/tui.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/scripts/vllm.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/serve/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/serve/client/env_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/serve/client/zmq_env_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/serve/server/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/serve/server/env_router.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/serve/server/env_server.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/serve/server/env_worker.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/serve/server/zmq_env_server.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/serve/types.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/types.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/async_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/client_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/config_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/data_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/display_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/env_config_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/env_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/error_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/eval_display.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/eval_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/heartbeat.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/import_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/install_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/interception_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/logging_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/message_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/metric_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/path_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/pricing_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/process_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/response_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/save_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/serve_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/thread_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/threaded_sandbox_client.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/tool_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/usage_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/utils/version_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/ENVIRONMENT_BEST_PRACTICES.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/README.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/RE_MIGRATION.md +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/artifact.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/config.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/env.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/model.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/program.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/runtime_handles.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/sandbox.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/state.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/task.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/toolset.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/types.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/user.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/binding_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/config_callable_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/config_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/endpoint_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/json_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/judge_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/lifecycle_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/logging_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/mcp_proxy_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/mcp_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/object_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/program_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/prompt_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/runtime_owner_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/runtime_registry.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/sandbox_program_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/sandbox_python_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/sandbox_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/scoring_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/serialization_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/task_freeze_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/taskset_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/tool_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/toolset_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/trajectory_utils.py +0 -0
- {verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/v1/utils/usage_utils.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.dev186
|
|
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
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
|
|
3
|
+
import verifiers as vf
|
|
4
|
+
from verifiers.envs.experimental.composable import (
|
|
5
|
+
SandboxDebugEnv,
|
|
6
|
+
SandboxDebugRubric,
|
|
7
|
+
SandboxSpec,
|
|
8
|
+
SandboxTaskSet,
|
|
9
|
+
SWEDebugEnv,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class DummySandboxTaskSet(SandboxTaskSet):
|
|
14
|
+
def __init__(self):
|
|
15
|
+
from datasets import Dataset
|
|
16
|
+
|
|
17
|
+
super().__init__(
|
|
18
|
+
dataset=Dataset.from_list([{"question": "noop", "info": {}, "answer": ""}])
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
def get_instruction(self, info: dict) -> str:
|
|
22
|
+
return "Run the debug step."
|
|
23
|
+
|
|
24
|
+
def get_rubric(self) -> vf.Rubric:
|
|
25
|
+
return vf.Rubric()
|
|
26
|
+
|
|
27
|
+
def get_sandbox_spec(self, info: dict) -> SandboxSpec:
|
|
28
|
+
return SandboxSpec()
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def test_swe_debug_env_is_deprecated_subclass_not_alias():
|
|
32
|
+
assert SWEDebugEnv is not SandboxDebugEnv
|
|
33
|
+
assert issubclass(SWEDebugEnv, SandboxDebugEnv)
|
|
34
|
+
assert SandboxDebugRubric.__name__ == "SandboxDebugRubric"
|
|
35
|
+
|
|
36
|
+
with pytest.warns(DeprecationWarning, match="use SandboxDebugEnv"):
|
|
37
|
+
env = SWEDebugEnv(
|
|
38
|
+
DummySandboxTaskSet(),
|
|
39
|
+
debug_step="command",
|
|
40
|
+
debug_command="true",
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
assert isinstance(env, SandboxDebugEnv)
|
|
44
|
+
assert env.labels == ["sandbox-debug"]
|
|
@@ -8,6 +8,8 @@ __all__ = [
|
|
|
8
8
|
"TaskSet",
|
|
9
9
|
"Harness",
|
|
10
10
|
"ComposableEnv",
|
|
11
|
+
"SandboxDebugEnv",
|
|
12
|
+
"SandboxDebugRubric",
|
|
11
13
|
"SWEDebugEnv",
|
|
12
14
|
]
|
|
13
15
|
|
|
@@ -20,6 +22,8 @@ def __getattr__(name: str):
|
|
|
20
22
|
"TaskSet": "verifiers.envs.experimental.composable:TaskSet",
|
|
21
23
|
"Harness": "verifiers.envs.experimental.composable:Harness",
|
|
22
24
|
"ComposableEnv": "verifiers.envs.experimental.composable:ComposableEnv",
|
|
25
|
+
"SandboxDebugEnv": "verifiers.envs.experimental.composable:SandboxDebugEnv",
|
|
26
|
+
"SandboxDebugRubric": "verifiers.envs.experimental.composable:SandboxDebugRubric",
|
|
23
27
|
"SWEDebugEnv": "verifiers.envs.experimental.composable:SWEDebugEnv",
|
|
24
28
|
}
|
|
25
29
|
if name in _lazy:
|
|
@@ -7,6 +7,10 @@ from verifiers.envs.experimental.composable.task import (
|
|
|
7
7
|
)
|
|
8
8
|
from verifiers.envs.experimental.composable.harness import Harness
|
|
9
9
|
from verifiers.envs.experimental.composable.composable_env import ComposableEnv
|
|
10
|
+
from verifiers.envs.experimental.composable.sandbox_debug_env import (
|
|
11
|
+
SandboxDebugEnv,
|
|
12
|
+
SandboxDebugRubric,
|
|
13
|
+
)
|
|
10
14
|
from verifiers.envs.experimental.composable.swe_debug_env import SWEDebugEnv
|
|
11
15
|
|
|
12
16
|
__all__ = [
|
|
@@ -16,6 +20,8 @@ __all__ = [
|
|
|
16
20
|
"SandboxTaskSet",
|
|
17
21
|
"Harness",
|
|
18
22
|
"ComposableEnv",
|
|
23
|
+
"SandboxDebugEnv",
|
|
24
|
+
"SandboxDebugRubric",
|
|
19
25
|
"SWEDebugEnv",
|
|
20
26
|
"discover_sibling_dir",
|
|
21
27
|
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""No-agent debugger for
|
|
1
|
+
"""No-agent debugger for sandbox-backed TaskSet instances."""
|
|
2
2
|
|
|
3
3
|
import shlex
|
|
4
4
|
import time
|
|
@@ -18,8 +18,8 @@ from .task import SandboxTaskSet
|
|
|
18
18
|
DebugStep = Literal["none", "gold_patch", "command", "script"]
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
class
|
|
22
|
-
"""Reads the reward set by
|
|
21
|
+
class SandboxDebugRubric(SandboxMonitorRubric):
|
|
22
|
+
"""Reads the reward set by SandboxDebugEnv during setup."""
|
|
23
23
|
|
|
24
24
|
def __init__(self, **kwargs: Any):
|
|
25
25
|
super().__init__(**kwargs)
|
|
@@ -29,7 +29,7 @@ class SWEDebugRubric(SandboxMonitorRubric):
|
|
|
29
29
|
return float(state.get("reward") or 0.0)
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
class
|
|
32
|
+
class SandboxDebugEnv(SandboxMixin, vf.MultiTurnEnv):
|
|
33
33
|
"""Create a task sandbox, optionally mutate it, optionally run tests.
|
|
34
34
|
|
|
35
35
|
Pipeline:
|
|
@@ -80,13 +80,13 @@ class SWEDebugEnv(SandboxMixin, vf.MultiTurnEnv):
|
|
|
80
80
|
self._cpu_cores = cpu_cores
|
|
81
81
|
self._memory_gb = memory_gb
|
|
82
82
|
self._disk_size_gb = disk_size_gb
|
|
83
|
-
self.labels = labels or ["
|
|
83
|
+
self.labels = labels or ["sandbox-debug"]
|
|
84
84
|
self.timeout_seconds = timeout_seconds
|
|
85
85
|
self.output_tail_chars = output_tail_chars
|
|
86
86
|
|
|
87
87
|
super().__init__(
|
|
88
88
|
dataset=dataset or taskset.get_dataset,
|
|
89
|
-
rubric=
|
|
89
|
+
rubric=SandboxDebugRubric(),
|
|
90
90
|
timeout_seconds=timeout_seconds,
|
|
91
91
|
)
|
|
92
92
|
self.init_sandbox_client(**sandbox_kwargs)
|
|
@@ -94,7 +94,7 @@ class SWEDebugEnv(SandboxMixin, vf.MultiTurnEnv):
|
|
|
94
94
|
async def env_response(
|
|
95
95
|
self, messages: Messages, state: State, **kwargs: Any
|
|
96
96
|
) -> Messages:
|
|
97
|
-
raise NotImplementedError("
|
|
97
|
+
raise NotImplementedError("SandboxDebugEnv does not use multi-turn interaction")
|
|
98
98
|
|
|
99
99
|
async def setup_state(self, state: State) -> None:
|
|
100
100
|
await super().setup_state(state)
|
|
@@ -111,7 +111,7 @@ class SWEDebugEnv(SandboxMixin, vf.MultiTurnEnv):
|
|
|
111
111
|
valid = await self._run_debug_pipeline(state)
|
|
112
112
|
except Exception as e: # noqa: BLE001
|
|
113
113
|
exc = e
|
|
114
|
-
state["error"] = vf.SandboxError(f"
|
|
114
|
+
state["error"] = vf.SandboxError(f"Sandbox debug failed: {repr(e)}")
|
|
115
115
|
state["reward"] = 0.0
|
|
116
116
|
finally:
|
|
117
117
|
state["elapsed_s"] = time.perf_counter() - t0
|
|
@@ -130,7 +130,7 @@ class SWEDebugEnv(SandboxMixin, vf.MultiTurnEnv):
|
|
|
130
130
|
else self.compute_sandbox_timeout_minutes()
|
|
131
131
|
)
|
|
132
132
|
request = CreateSandboxRequest(
|
|
133
|
-
name=f"
|
|
133
|
+
name=f"sandbox-debug-{state.get('example_id', 'unknown')}",
|
|
134
134
|
docker_image=spec.image,
|
|
135
135
|
cpu_cores=spec.cpu_cores if self._cpu_cores is None else self._cpu_cores,
|
|
136
136
|
memory_gb=spec.memory_gb if self._memory_gb is None else self._memory_gb,
|
|
@@ -170,7 +170,7 @@ class SWEDebugEnv(SandboxMixin, vf.MultiTurnEnv):
|
|
|
170
170
|
return False
|
|
171
171
|
elif self.debug_step == "script":
|
|
172
172
|
sandbox_id = state["sandbox_id"]
|
|
173
|
-
remote_path = "/tmp/
|
|
173
|
+
remote_path = "/tmp/sandbox_debug_script.sh"
|
|
174
174
|
if self.debug_script_path:
|
|
175
175
|
await self.upload_file(sandbox_id, remote_path, self.debug_script_path)
|
|
176
176
|
else:
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"""Deprecated SWE-specific debug environment wrappers."""
|
|
2
|
+
|
|
3
|
+
from typing import Any
|
|
4
|
+
from warnings import warn
|
|
5
|
+
|
|
6
|
+
from .sandbox_debug_env import DebugStep, SandboxDebugEnv, SandboxDebugRubric
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class SWEDebugRubric(SandboxDebugRubric):
|
|
10
|
+
"""Deprecated wrapper for SandboxDebugRubric."""
|
|
11
|
+
|
|
12
|
+
def __init__(self, **kwargs: Any):
|
|
13
|
+
warn(
|
|
14
|
+
"SWEDebugRubric is deprecated; use SandboxDebugRubric.",
|
|
15
|
+
DeprecationWarning,
|
|
16
|
+
stacklevel=2,
|
|
17
|
+
)
|
|
18
|
+
super().__init__(**kwargs)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class SWEDebugEnv(SandboxDebugEnv):
|
|
22
|
+
"""Deprecated wrapper for SandboxDebugEnv."""
|
|
23
|
+
|
|
24
|
+
def __init__(self, *args: Any, **kwargs: Any):
|
|
25
|
+
warn(
|
|
26
|
+
"SWEDebugEnv is deprecated; use SandboxDebugEnv.",
|
|
27
|
+
DeprecationWarning,
|
|
28
|
+
stacklevel=2,
|
|
29
|
+
)
|
|
30
|
+
super().__init__(*args, **kwargs)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
__all__ = [
|
|
34
|
+
"DebugStep",
|
|
35
|
+
"SandboxDebugEnv",
|
|
36
|
+
"SandboxDebugRubric",
|
|
37
|
+
"SWEDebugEnv",
|
|
38
|
+
"SWEDebugRubric",
|
|
39
|
+
]
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
they are not known to be available there yet.
|
|
7
7
|
- Validation: ✅ means the taskset has a linked `prime-data` PR and was
|
|
8
8
|
validated with
|
|
9
|
-
[`
|
|
9
|
+
[`SandboxDebugEnv`](../../../../../../docs/environments.md#integrations-and-experimental-environments),
|
|
10
10
|
— not yet complete.
|
|
11
11
|
|
|
12
12
|
## Progress
|
|
@@ -306,6 +306,6 @@
|
|
|
306
306
|
filtered Prime dataset through `prime-data` when validation identifies rows
|
|
307
307
|
to exclude.
|
|
308
308
|
4. Validate with
|
|
309
|
-
[`
|
|
309
|
+
[`SandboxDebugEnv`](../../sandbox_debug_env.py): no-op runs should fail real tasks,
|
|
310
310
|
gold-patch runs should pass, and repeated passes should separate task
|
|
311
311
|
quality issues from sandbox or infrastructure failures.
|
|
@@ -220,6 +220,18 @@ class Harness(RuntimeOwnerMixin[ConfigT], Generic[ConfigT]):
|
|
|
220
220
|
def load_system_prompt(self, config: ConfigT) -> SystemPrompt:
|
|
221
221
|
return config.system_prompt
|
|
222
222
|
|
|
223
|
+
def prepare_prompt(self, prompt: Messages, state: State) -> Messages:
|
|
224
|
+
"""Hook to prepare the prompt before each model request.
|
|
225
|
+
|
|
226
|
+
Default identity — vf applies no transform of its own. Override in a
|
|
227
|
+
subclass to return a modified prompt. Applied at the single point every
|
|
228
|
+
model request passes through (``Runtime.submit_model_request``), so it
|
|
229
|
+
covers base-program, fn-mode, and host-loop rollouts uniformly. May be
|
|
230
|
+
sync or async. The returned messages are what the host tokenizes, sends
|
|
231
|
+
to the model, and records as the trajectory step.
|
|
232
|
+
"""
|
|
233
|
+
return prompt
|
|
234
|
+
|
|
223
235
|
def load_program_config(self, config: ConfigT) -> ProgramConfig:
|
|
224
236
|
return config.program.resolve()
|
|
225
237
|
|
|
@@ -521,6 +533,20 @@ class Harness(RuntimeOwnerMixin[ConfigT], Generic[ConfigT]):
|
|
|
521
533
|
tool_defs=self.runtime.tool_defs(state),
|
|
522
534
|
)
|
|
523
535
|
turn += 1
|
|
536
|
+
# Align the local host-loop thread with the exact prompt sent to the model
|
|
537
|
+
# (which may have been modified by the harness's prepare_prompt hook).
|
|
538
|
+
trajectory = state.get("trajectory")
|
|
539
|
+
if isinstance(trajectory, list) and trajectory:
|
|
540
|
+
last_step = trajectory[-1]
|
|
541
|
+
if isinstance(last_step, dict):
|
|
542
|
+
used_prompt = last_step.get("prompt")
|
|
543
|
+
if isinstance(used_prompt, list):
|
|
544
|
+
messages = normalize_messages(
|
|
545
|
+
cast(Messages, used_prompt), field_name="used_prompt"
|
|
546
|
+
)
|
|
547
|
+
prompt_messages = [
|
|
548
|
+
m.model_dump(exclude_none=True) for m in messages
|
|
549
|
+
]
|
|
524
550
|
messages.extend(await parse_response_message(response))
|
|
525
551
|
rendered_messages = sync_completion()
|
|
526
552
|
tool_calls = list(response.message.tool_calls or [])
|
|
@@ -883,6 +883,7 @@ class Runtime:
|
|
|
883
883
|
return self._completed_model_response(state)
|
|
884
884
|
released = False
|
|
885
885
|
try:
|
|
886
|
+
prompt = await self._prepare_prompt(prompt, state)
|
|
886
887
|
client = self.model_client(state)
|
|
887
888
|
request_start = time.time()
|
|
888
889
|
response = await client.get_response(
|
|
@@ -925,6 +926,21 @@ class Runtime:
|
|
|
925
926
|
if not released:
|
|
926
927
|
self._release_model_request(state, context)
|
|
927
928
|
|
|
929
|
+
async def _prepare_prompt(self, prompt: Messages, state: State) -> Messages:
|
|
930
|
+
"""Apply the harness ``prepare_prompt`` hook (default identity).
|
|
931
|
+
|
|
932
|
+
The single point every model request passes through, so a subclass's
|
|
933
|
+
prompt preparation applies uniformly across base-program, fn-mode, and
|
|
934
|
+
host-loop rollouts. Tolerates sync or async hooks.
|
|
935
|
+
"""
|
|
936
|
+
harness = self.harness
|
|
937
|
+
if harness is None:
|
|
938
|
+
return prompt
|
|
939
|
+
result = harness.prepare_prompt(prompt, state)
|
|
940
|
+
if inspect.isawaitable(result):
|
|
941
|
+
result = await cast(Awaitable[Messages], result)
|
|
942
|
+
return result if result is not None else prompt
|
|
943
|
+
|
|
928
944
|
async def _reserve_model_request(
|
|
929
945
|
self, task: Task, state: State, context: ModelRequestContext
|
|
930
946
|
) -> bool:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.dev180 → verifiers-0.1.15.dev186}/tests/test_langchain_deep_agents_wikispeedia.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/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.dev180 → verifiers-0.1.15.dev186}/verifiers/clients/openai_completions_client.py
RENAMED
|
File without changes
|
{verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/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
|
{verifiers-0.1.15.dev180 → verifiers-0.1.15.dev186}/verifiers/envs/experimental/cli_agent_env.py
RENAMED
|
File without changes
|