verifiers 0.1.15.dev405__tar.gz → 0.1.15.dev407__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.dev405 → verifiers-0.1.15.dev407}/PKG-INFO +1 -1
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/GUIDE.md +3 -3
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harness.py +14 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/bash/harness.py +5 -3
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/bash_edit/harness.py +5 -3
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/codex/harness.py +1 -1
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/default/harness.py +5 -3
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/kimi_code/harness.py +1 -1
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/mini_swe_agent/harness.py +3 -3
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/rlm/harness.py +2 -2
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/terminus_2/harness.py +3 -3
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/trace.py +9 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/.gitignore +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/LICENSE +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/README.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/pyproject.toml +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/AGENTS.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/README.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/conftest.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_browser_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_build_script.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_client_config.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_composable_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_env_group.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_env_server.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_environment.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_environment_extra.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_envs.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_error_chain.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_eval_display.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_eval_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_gym_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_imports.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_init_script.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_install_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_interception_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_logging.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_math_rubric.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_message_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_openenv_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_parser.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_path_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_renderer_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_rubric.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_rubric_group.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_sandbox_debug_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_save_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_setup_script.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_think_parser.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_tool_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_tool_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_types.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_wordle_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/test_xml_parser.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/conftest.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/fixtures/echo_multi_v0.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/fixtures/echo_v0.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/test_configs.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/test_e2e.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/test_envs.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/test_graph.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/test_legacy.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/tests/v1/test_trace.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/AGENTS.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/cli/commands/build.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/cli/commands/eval.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/cli/commands/gepa.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/cli/commands/install.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/cli/commands/setup.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/cli/tui.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/clients/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/clients/anthropic_messages_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/clients/client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/clients/openai_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/clients/openai_completions_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/clients/openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/clients/renderer_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/decorators.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/AGENTS.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/env_group.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/environment.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/README.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/README.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/composable_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/harness.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/task.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/README.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/openseeker/README.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/openseeker/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/openseeker/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/README.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/tool_pdf.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/eval_toolkit.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/evaluator.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/base_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/cache_prompts.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/cache_filesys.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/load_eval_script.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/misc.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/tool_visit.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/url_tools.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/verification_tree.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/open_ended.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/quest/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/README.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/search/search_tasksets.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/gym_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/harbor_env/env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/mcp_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/opencode_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/integrations/README.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/integrations/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/integrations/openenv_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/integrations/textarena_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/multiturn_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/python_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/sandbox_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/singleturn_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/tool_env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/errors.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/gepa/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/gepa/adapter.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/gepa/config.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/gepa/display.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/gepa/gepa_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/parsers/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/parsers/maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/parsers/parser.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/parsers/think_parser.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/parsers/xml_parser.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rl/README.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rl/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rl/inference/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rl/inference/client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rl/inference/server.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rl/trainer/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rl/trainer/config.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rl/trainer/orchestrator.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rl/trainer/trainer.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rl/trainer/utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rubrics/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rubrics/judge_rubric.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rubrics/math_rubric.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rubrics/rubric.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/rubrics/rubric_group.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/scripts/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/scripts/build.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/scripts/eval.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/scripts/gepa.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/scripts/init.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/scripts/install.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/scripts/rl.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/scripts/setup.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/scripts/train.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/scripts/tui.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/scripts/vllm.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/serve/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/serve/client/env_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/serve/client/zmq_env_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/serve/server/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/serve/server/env_router.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/serve/server/env_server.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/serve/server/env_worker.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/serve/server/zmq_env_server.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/serve/types.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/types.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/async_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/client_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/config_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/data_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/display_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/env_config_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/env_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/error_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/eval_display.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/eval_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/heartbeat.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/import_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/install_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/interception_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/logging_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/message_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/metric_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/path_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/pricing_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/process_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/response_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/save_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/serve_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/thread_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/threaded_sandbox_client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/tool_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/usage_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/utils/version_utils.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/ARCHITECTURE.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/README.md +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/serve.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/clients/config.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/configs/eval.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/configs/init.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/configs/validate.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/decorators.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/env.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/episode.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/errors.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/graph.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/bash/program.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/bash_edit/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/bash_edit/program.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/default/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/default/program.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/judge.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/legacy.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/loaders.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/mcp/multiplex.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/mcp/user.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/retries.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/runtimes/docker.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/state.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/task.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/tasksets/lean/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/tasksets/lean/scoring.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/tasksets/lean/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/types.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/utils/install.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/utils/memory.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.1.15.
|
|
3
|
+
Version: 0.1.15.dev407
|
|
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
|
|
@@ -66,7 +66,7 @@ class ReverseTaskset(vf.Taskset[ReverseTask, ReverseConfig]):
|
|
|
66
66
|
|
|
67
67
|
@vf.reward()
|
|
68
68
|
async def exact_match(self, task: ReverseTask, trace: vf.Trace) -> float:
|
|
69
|
-
return float(trace.
|
|
69
|
+
return float(trace.last_reply == task.answer)
|
|
70
70
|
|
|
71
71
|
|
|
72
72
|
__all__ = ["ReverseTaskset"] # vf resolves the taskset by finding this Taskset subclass
|
|
@@ -250,7 +250,7 @@ VERIFY = (Path(__file__).parent / "verify.py").read_text() # PEP 723 header de
|
|
|
250
250
|
|
|
251
251
|
@vf.reward()
|
|
252
252
|
async def verify(self, task, trace, runtime) -> float:
|
|
253
|
-
r = await runtime.run_uv_script(VERIFY, args=[task.answer, trace.
|
|
253
|
+
r = await runtime.run_uv_script(VERIFY, args=[task.answer, trace.last_reply])
|
|
254
254
|
return float(r.stdout.strip() == "1.0")
|
|
255
255
|
```
|
|
256
256
|
|
|
@@ -317,7 +317,7 @@ a taskset `@vf.stop` fires. A stop is an `async (self, trace) -> bool` checked b
|
|
|
317
317
|
```python
|
|
318
318
|
@vf.stop
|
|
319
319
|
async def saw_answer(self, trace) -> bool:
|
|
320
|
-
last = trace.
|
|
320
|
+
last = trace.last_reply
|
|
321
321
|
return "FINAL:" in last
|
|
322
322
|
```
|
|
323
323
|
|
|
@@ -8,6 +8,7 @@ runtime and the interception server are owned by the Rollout.
|
|
|
8
8
|
|
|
9
9
|
import asyncio
|
|
10
10
|
import logging
|
|
11
|
+
import os
|
|
11
12
|
from abc import ABC, abstractmethod
|
|
12
13
|
from collections.abc import Mapping
|
|
13
14
|
from typing import ClassVar, Generic, TypeVar
|
|
@@ -50,6 +51,11 @@ class HarnessConfig(BaseConfig):
|
|
|
50
51
|
env: dict[str, str] = Field(default_factory=dict)
|
|
51
52
|
"""Additional environment variables for the harness program. Harness-owned endpoint,
|
|
52
53
|
authentication, and model variables take precedence."""
|
|
54
|
+
forward_env: list[str] = Field(default_factory=list)
|
|
55
|
+
"""Names of environment variables to forward into the harness program's runtime, for
|
|
56
|
+
secrets that must not be written into a checked-in config. Resolved from `os.environ` at
|
|
57
|
+
launch — names absent from the environment are skipped, and an explicit `env` value takes
|
|
58
|
+
precedence over a forwarded one."""
|
|
53
59
|
disabled_tools: list[str] | None = None
|
|
54
60
|
"""Harness-specific tool names to disable."""
|
|
55
61
|
|
|
@@ -58,6 +64,14 @@ class HarnessConfig(BaseConfig):
|
|
|
58
64
|
"""The harness's package name (the id with any org / version stripped)."""
|
|
59
65
|
return env_name(self.id)
|
|
60
66
|
|
|
67
|
+
@property
|
|
68
|
+
def resolved_env(self) -> dict[str, str]:
|
|
69
|
+
"""`env` merged with the `forward_env` variables present in the current process
|
|
70
|
+
environment (explicit `env` wins). This is the environment the harness program runs
|
|
71
|
+
with; harnesses pass it to the runtime instead of `env` directly."""
|
|
72
|
+
forwarded = {k: os.environ[k] for k in self.forward_env if k in os.environ}
|
|
73
|
+
return {**forwarded, **self.env}
|
|
74
|
+
|
|
61
75
|
|
|
62
76
|
ConfigT = TypeVar("ConfigT", bound=HarnessConfig)
|
|
63
77
|
|
|
@@ -33,7 +33,7 @@ class BashHarness(Harness[BashHarnessConfig]):
|
|
|
33
33
|
SUPPORTS_MESSAGE_PROMPT = True
|
|
34
34
|
|
|
35
35
|
async def setup(self, runtime: Runtime) -> None:
|
|
36
|
-
await runtime.prepare_uv_script(PROGRAM_SOURCE, self.config.
|
|
36
|
+
await runtime.prepare_uv_script(PROGRAM_SOURCE, self.config.resolved_env)
|
|
37
37
|
|
|
38
38
|
async def launch(
|
|
39
39
|
self,
|
|
@@ -46,7 +46,7 @@ class BashHarness(Harness[BashHarnessConfig]):
|
|
|
46
46
|
) -> ProgramResult:
|
|
47
47
|
system_prompt, prompt = self.resolve_prompt(trace.task)
|
|
48
48
|
system_prompt = "\n\n".join(p for p in (BASH_SYSTEM_PROMPT, system_prompt) if p)
|
|
49
|
-
env = {**self.config.
|
|
49
|
+
env = {**self.config.resolved_env}
|
|
50
50
|
args = [
|
|
51
51
|
f"--base-url={endpoint}",
|
|
52
52
|
f"--api-key={secret}",
|
|
@@ -73,5 +73,7 @@ class BashHarness(Harness[BashHarnessConfig]):
|
|
|
73
73
|
args.append(f"--prompt={prompt}")
|
|
74
74
|
elif prompt is not None:
|
|
75
75
|
env["INITIAL_MESSAGES"] = json.dumps([message_to_wire(m) for m in prompt])
|
|
76
|
-
program = await runtime.prepare_uv_script(
|
|
76
|
+
program = await runtime.prepare_uv_script(
|
|
77
|
+
PROGRAM_SOURCE, self.config.resolved_env
|
|
78
|
+
)
|
|
77
79
|
return await runtime.run_program([*program, *args], env)
|
{verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/bash_edit/harness.py
RENAMED
|
@@ -39,7 +39,7 @@ class BashEditHarness(Harness[BashEditHarnessConfig]):
|
|
|
39
39
|
SUPPORTS_MESSAGE_PROMPT = True
|
|
40
40
|
|
|
41
41
|
async def setup(self, runtime: Runtime) -> None:
|
|
42
|
-
await runtime.prepare_uv_script(PROGRAM_SOURCE, self.config.
|
|
42
|
+
await runtime.prepare_uv_script(PROGRAM_SOURCE, self.config.resolved_env)
|
|
43
43
|
|
|
44
44
|
async def launch(
|
|
45
45
|
self,
|
|
@@ -54,7 +54,7 @@ class BashEditHarness(Harness[BashEditHarnessConfig]):
|
|
|
54
54
|
system_prompt = "\n\n".join(
|
|
55
55
|
p for p in (BASH_EDIT_SYSTEM_PROMPT, system_prompt) if p
|
|
56
56
|
)
|
|
57
|
-
env = {**self.config.
|
|
57
|
+
env = {**self.config.resolved_env}
|
|
58
58
|
args = [
|
|
59
59
|
f"--base-url={endpoint}",
|
|
60
60
|
f"--api-key={secret}",
|
|
@@ -81,5 +81,7 @@ class BashEditHarness(Harness[BashEditHarnessConfig]):
|
|
|
81
81
|
args.append(f"--prompt={prompt}")
|
|
82
82
|
elif prompt is not None:
|
|
83
83
|
env["INITIAL_MESSAGES"] = json.dumps([message_to_wire(m) for m in prompt])
|
|
84
|
-
program = await runtime.prepare_uv_script(
|
|
84
|
+
program = await runtime.prepare_uv_script(
|
|
85
|
+
PROGRAM_SOURCE, self.config.resolved_env
|
|
86
|
+
)
|
|
85
87
|
return await runtime.run_program([*program, *args], env)
|
|
@@ -75,7 +75,7 @@ class CodexHarness(Harness[CodexHarnessConfig]):
|
|
|
75
75
|
_, prompt = self.resolve_prompt(trace.task)
|
|
76
76
|
# codex authenticates to the interception server with the session secret (its provider
|
|
77
77
|
# api key) and posts Responses calls to `{endpoint}/responses`.
|
|
78
|
-
env = {**self.config.
|
|
78
|
+
env = {**self.config.resolved_env, KEY_VAR: secret}
|
|
79
79
|
# Values are Codex feature names such as `shell_tool`; Codex owns validation.
|
|
80
80
|
# https://developers.openai.com/codex/config-reference#features
|
|
81
81
|
tool_config = [
|
{verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/default/harness.py
RENAMED
|
@@ -30,7 +30,7 @@ class DefaultHarness(Harness[DefaultHarnessConfig]):
|
|
|
30
30
|
SUPPORTS_MESSAGE_PROMPT = True
|
|
31
31
|
|
|
32
32
|
async def setup(self, runtime: Runtime) -> None:
|
|
33
|
-
await runtime.prepare_uv_script(PROGRAM_SOURCE, self.config.
|
|
33
|
+
await runtime.prepare_uv_script(PROGRAM_SOURCE, self.config.resolved_env)
|
|
34
34
|
|
|
35
35
|
async def launch(
|
|
36
36
|
self,
|
|
@@ -42,7 +42,7 @@ class DefaultHarness(Harness[DefaultHarnessConfig]):
|
|
|
42
42
|
mcp_urls: dict[str, str],
|
|
43
43
|
) -> ProgramResult:
|
|
44
44
|
system_prompt, prompt = self.resolve_prompt(trace.task)
|
|
45
|
-
env = {**self.config.
|
|
45
|
+
env = {**self.config.resolved_env}
|
|
46
46
|
args = [
|
|
47
47
|
f"--base-url={endpoint}",
|
|
48
48
|
f"--api-key={secret}",
|
|
@@ -70,5 +70,7 @@ class DefaultHarness(Harness[DefaultHarnessConfig]):
|
|
|
70
70
|
args.append(f"--prompt={prompt}")
|
|
71
71
|
elif prompt is not None:
|
|
72
72
|
env["INITIAL_MESSAGES"] = json.dumps([message_to_wire(m) for m in prompt])
|
|
73
|
-
program = await runtime.prepare_uv_script(
|
|
73
|
+
program = await runtime.prepare_uv_script(
|
|
74
|
+
PROGRAM_SOURCE, self.config.resolved_env
|
|
75
|
+
)
|
|
74
76
|
return await runtime.run_program([*program, *args], env)
|
{verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/kimi_code/harness.py
RENAMED
|
@@ -73,7 +73,7 @@ class KimiCodeHarness(Harness[KimiCodeHarnessConfig]):
|
|
|
73
73
|
) -> ProgramResult:
|
|
74
74
|
_, prompt = self.resolve_prompt(trace.task)
|
|
75
75
|
env = {
|
|
76
|
-
**self.config.
|
|
76
|
+
**self.config.resolved_env,
|
|
77
77
|
"KIMI_CODE_HOME": KIMI_HOME,
|
|
78
78
|
"KIMI_MODEL_NAME": ctx.model,
|
|
79
79
|
"KIMI_MODEL_API_KEY": secret,
|
{verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/mini_swe_agent/harness.py
RENAMED
|
@@ -23,7 +23,7 @@ class MiniSWEAgentHarness(Harness[MiniSWEAgentHarnessConfig]):
|
|
|
23
23
|
|
|
24
24
|
async def setup(self, runtime: Runtime) -> None:
|
|
25
25
|
source = PROGRAM_SOURCE.replace("{version}", self.config.version)
|
|
26
|
-
await runtime.prepare_uv_script(source, self.config.
|
|
26
|
+
await runtime.prepare_uv_script(source, self.config.resolved_env)
|
|
27
27
|
|
|
28
28
|
async def launch(
|
|
29
29
|
self,
|
|
@@ -66,9 +66,9 @@ class MiniSWEAgentHarness(Harness[MiniSWEAgentHarnessConfig]):
|
|
|
66
66
|
f"model.model_kwargs.api_key={secret}",
|
|
67
67
|
]
|
|
68
68
|
env = {
|
|
69
|
-
**self.config.
|
|
69
|
+
**self.config.resolved_env,
|
|
70
70
|
"MSWEA_CONFIGURED": "true",
|
|
71
71
|
"MSWEA_SILENT_STARTUP": "true",
|
|
72
72
|
}
|
|
73
|
-
program = await runtime.prepare_uv_script(source, self.config.
|
|
73
|
+
program = await runtime.prepare_uv_script(source, self.config.resolved_env)
|
|
74
74
|
return await runtime.run_program([*program, *args], env)
|
|
@@ -72,7 +72,7 @@ class RLMHarness(Harness[RLMHarnessConfig]):
|
|
|
72
72
|
logger.info("rlm: ensuring rlm is installed (version=%s)", self.config.version)
|
|
73
73
|
ensure = shlex.quote(f"[ -x {RLM_BIN} ] || ({install})")
|
|
74
74
|
guarded = f"mkdir -p {RLM_DIR} && flock {RLM_DIR}/install.lock sh -c {ensure}"
|
|
75
|
-
env = {**self.config.
|
|
75
|
+
env = {**self.config.resolved_env, "RLM_HOME": RLM_HOME}
|
|
76
76
|
result = await runtime.run(["sh", "-c", guarded], env)
|
|
77
77
|
if result.exit_code != 0:
|
|
78
78
|
raise RuntimeError(f"rlm install failed: {result.stderr.strip()[-500:]}")
|
|
@@ -88,7 +88,7 @@ class RLMHarness(Harness[RLMHarnessConfig]):
|
|
|
88
88
|
) -> ProgramResult:
|
|
89
89
|
system_prompt, prompt = self.resolve_prompt(trace.task)
|
|
90
90
|
env = {
|
|
91
|
-
**self.config.
|
|
91
|
+
**self.config.resolved_env,
|
|
92
92
|
"RLM_BASE_URL": endpoint,
|
|
93
93
|
"RLM_API_KEY": secret,
|
|
94
94
|
"RLM_MODEL": ctx.model,
|
{verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/v1/harnesses/terminus_2/harness.py
RENAMED
|
@@ -35,7 +35,7 @@ class Terminus2Harness(Harness[Terminus2HarnessConfig]):
|
|
|
35
35
|
"(--harness.runtime.type docker|prime|modal)."
|
|
36
36
|
)
|
|
37
37
|
source = PROGRAM_SOURCE.replace("{version}", self.config.version)
|
|
38
|
-
await runtime.prepare_uv_script(source, self.config.
|
|
38
|
+
await runtime.prepare_uv_script(source, self.config.resolved_env)
|
|
39
39
|
|
|
40
40
|
async def launch(
|
|
41
41
|
self,
|
|
@@ -55,7 +55,7 @@ class Terminus2Harness(Harness[Terminus2HarnessConfig]):
|
|
|
55
55
|
)
|
|
56
56
|
tmux_dir = f"/tmp/vf-terminus-2-{trace.id}"
|
|
57
57
|
env = {
|
|
58
|
-
**self.config.
|
|
58
|
+
**self.config.resolved_env,
|
|
59
59
|
"TMUX_TMPDIR": tmux_dir,
|
|
60
60
|
}
|
|
61
61
|
args = [
|
|
@@ -67,7 +67,7 @@ class Terminus2Harness(Harness[Terminus2HarnessConfig]):
|
|
|
67
67
|
]
|
|
68
68
|
try:
|
|
69
69
|
source = PROGRAM_SOURCE.replace("{version}", self.config.version)
|
|
70
|
-
program = await runtime.prepare_uv_script(source, self.config.
|
|
70
|
+
program = await runtime.prepare_uv_script(source, self.config.resolved_env)
|
|
71
71
|
return await runtime.run_program([*program, *args], env)
|
|
72
72
|
finally:
|
|
73
73
|
# Harbor normally destroys its whole sandbox; this adapter borrows the
|
|
@@ -364,6 +364,15 @@ class Trace(StrictBaseModel, Generic[TaskT, StateT]):
|
|
|
364
364
|
if n.sampled and isinstance(n.message, AssistantMessage)
|
|
365
365
|
]
|
|
366
366
|
|
|
367
|
+
@property
|
|
368
|
+
def last_reply(self) -> str:
|
|
369
|
+
"""The model's final reply as plain text — the last assistant message's
|
|
370
|
+
`content` (whitespace-stripped), or ``""`` when there are no assistant
|
|
371
|
+
messages or the last one has no text. Convenience over
|
|
372
|
+
``(assistant_messages[-1].content or "").strip()`` for last-turn scoring."""
|
|
373
|
+
msgs = self.assistant_messages
|
|
374
|
+
return (msgs[-1].content or "").strip() if msgs else ""
|
|
375
|
+
|
|
367
376
|
@property
|
|
368
377
|
def tool_messages(self) -> list[ToolMessage]:
|
|
369
378
|
"""The tool results in the latest full context — the main (last) branch's
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.dev405 → verifiers-0.1.15.dev407}/tests/v1/fixtures/tool_response_image_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/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.dev405 → verifiers-0.1.15.dev407}/verifiers/clients/openai_completions_client.py
RENAMED
|
File without changes
|
{verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/clients/openai_responses_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/cli_agent_env.py
RENAMED
|
File without changes
|
{verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev405 → verifiers-0.1.15.dev407}/verifiers/envs/experimental/composable/task.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|