verifiers 0.2.2.dev34__tar.gz → 0.2.2.dev35__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/PKG-INFO +1 -1
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/pyproject.toml +5 -2
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/clients/nemorl_chat_completions_client.py +3 -3
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/clients/openai_chat_completions_client.py +1 -1
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/clients/openai_chat_completions_token_client.py +2 -2
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/env_group.py +6 -6
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/environment.py +3 -3
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/task.py +3 -3
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +1 -1
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/harbor_env/mcp.py +6 -6
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +12 -12
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/openenv_env.py +1 -1
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/textarena_env.py +1 -1
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/tool_env.py +1 -1
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/gepa/adapter.py +2 -2
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/rubrics/experimental/hybrid_math_rubric.py +1 -1
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/rubrics/rubric.py +8 -8
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/scripts/gepa.py +1 -1
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/types.py +2 -2
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/async_utils.py +2 -2
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/eval_utils.py +4 -4
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/interception_utils.py +1 -1
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/message_utils.py +5 -5
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/save_utils.py +2 -2
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/.gitignore +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/LICENSE +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/README.md +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/conftest.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_browser_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_build_script.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_client_config.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_composable_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_env_group.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_env_server.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_environment.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_environment_extra.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_error_chain.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_eval_display.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_eval_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_gym_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_imports.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_init_script.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_install_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_interception_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_logging.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_math_rubric.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_message_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_openenv_client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_parser.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_path_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_renderer_client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_rubric.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_rubric_group.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_sandbox_debug_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_save_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_setup_script.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_think_parser.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_tool_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_tool_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_types.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/test_xml_parser.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/conftest.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/fixtures/duet_v1.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_multi_v0.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_v0.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/test_configs.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/test_e2e.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/test_envs.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/test_graph.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/test_judges.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/test_legacy.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/test_scoring.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/test_taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/tests/v1/test_trace.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/cli/commands/build.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/cli/commands/eval.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/cli/commands/gepa.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/cli/commands/install.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/cli/commands/setup.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/cli/tui.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/clients/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/clients/anthropic_messages_client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/clients/client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/clients/openai_completions_client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/clients/openai_responses_client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/clients/renderer_client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/decorators.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/README.md +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/cli_agent_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/README.md +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/composable_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/harness.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/gym_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/harbor_env/env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/mcp_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/opencode_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/utils/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/README.md +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/multiturn_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/python_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/sandbox_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/singleturn_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/stateful_tool_env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/errors.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/gepa/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/gepa/config.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/gepa/display.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/gepa/gepa_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/parsers/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/parsers/maybe_think_parser.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/parsers/parser.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/parsers/think_parser.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/parsers/xml_parser.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/rubrics/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/rubrics/judge_rubric.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/rubrics/math_rubric.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/rubrics/rubric_group.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/scripts/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/scripts/build.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/scripts/eval.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/scripts/init.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/scripts/install.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/scripts/setup.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/scripts/tui.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/serve/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/serve/client/env_client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/serve/client/zmq_env_client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/serve/server/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/serve/server/env_router.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/serve/server/env_server.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/serve/server/env_worker.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/serve/server/zmq_env_server.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/serve/types.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/client_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/config_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/data_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/display_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/env_config_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/env_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/error_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/eval_display.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/heartbeat.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/import_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/install_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/logging_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/metric_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/path_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/pricing_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/process_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/response_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/serve_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/thread_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/threaded_sandbox_client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/tool_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/usage_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/utils/version_utils.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/acp/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/acp/_runner.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/agent.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/debug.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/gepa.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/serve.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/clients/config.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/agent.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/debug.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/eval.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/init.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/replay.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/serve.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/validate.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/harness.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/judge.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/retries.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/task.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/configs/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/decorators.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/envs/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/envs/agentic_judge/env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/envs/best_of_n/env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/envs/single_agent/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/envs/single_agent/env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/envs/user_sim/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/envs/user_sim/env.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/episode.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/errors.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/gepa/dataset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/graph.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harness.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/bash/program.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/null/program.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/pool/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/pool/harness.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/judge.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/legacy.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/loaders.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/push.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/retries.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/docker/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/docker/egress.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/scoring.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/session.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/state.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/task.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/lean/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/lean/scoring.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/lean/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/trace.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/types.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/utils/compile.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/utils/git.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/utils/install.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/utils/sampling.py +0 -0
- {verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/v1/utils/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.2.2.
|
|
3
|
+
Version: 0.2.2.dev35
|
|
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
|
|
@@ -57,9 +57,9 @@ dependencies = [
|
|
|
57
57
|
|
|
58
58
|
[dependency-groups]
|
|
59
59
|
dev = [
|
|
60
|
-
"ruff>=0.
|
|
60
|
+
"ruff>=0.16.0",
|
|
61
61
|
"pre-commit>=2.19.0",
|
|
62
|
-
"ty>=0.0.
|
|
62
|
+
"ty>=0.0.63",
|
|
63
63
|
"pytest>=7.0.0,<9.1.0",
|
|
64
64
|
"pytest-asyncio>=0.21.0",
|
|
65
65
|
"pytest-cov>=4.0.0",
|
|
@@ -135,6 +135,9 @@ scratchpad-v1 = { path = "environments/scratchpad_v1", editable = true }
|
|
|
135
135
|
kuhn-poker-v1 = { path = "environments/kuhn_poker_v1", editable = true }
|
|
136
136
|
|
|
137
137
|
[tool.uv.exclude-newer-package]
|
|
138
|
+
# Bounded cutoffs for the explicitly requested tool upgrades.
|
|
139
|
+
ruff = "2026-07-27"
|
|
140
|
+
ty = "2026-07-27"
|
|
138
141
|
# PrimeIntellect-published on PyPI (trusted publisher)
|
|
139
142
|
prime-tunnel = false
|
|
140
143
|
prime-sandboxes = false
|
{verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/clients/nemorl_chat_completions_client.py
RENAMED
|
@@ -108,8 +108,8 @@ def _attach_trajectory_tokens_to_prompt(
|
|
|
108
108
|
continue
|
|
109
109
|
msg = prompt[i]
|
|
110
110
|
if (prompt_ids := tokens.get("prompt_ids")) is not None:
|
|
111
|
-
msg.prompt_token_ids = list(prompt_ids)
|
|
111
|
+
msg.prompt_token_ids = list(prompt_ids) # ty:ignore[invalid-assignment]
|
|
112
112
|
if (completion_ids := tokens.get("completion_ids")) is not None:
|
|
113
|
-
msg.generation_token_ids = list(completion_ids)
|
|
113
|
+
msg.generation_token_ids = list(completion_ids) # ty:ignore[invalid-assignment]
|
|
114
114
|
if (completion_logprobs := tokens.get("completion_logprobs")) is not None:
|
|
115
|
-
msg.generation_log_probs = list(completion_logprobs)
|
|
115
|
+
msg.generation_log_probs = list(completion_logprobs) # ty:ignore[invalid-assignment]
|
{verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/clients/openai_chat_completions_client.py
RENAMED
|
@@ -233,7 +233,7 @@ class OpenAIChatCompletionsClient(
|
|
|
233
233
|
role="assistant",
|
|
234
234
|
content=cast(Any, normalize_content(message.content)),
|
|
235
235
|
tool_calls=cast(Any, oai_tool_calls),
|
|
236
|
-
reasoning_content=message.reasoning_content, # type: ignore[arg-type]
|
|
236
|
+
reasoning_content=message.reasoning_content, # type: ignore[arg-type] # ty:ignore[invalid-key]
|
|
237
237
|
)
|
|
238
238
|
elif isinstance(message, ToolMessage):
|
|
239
239
|
return ChatCompletionToolMessageParam(
|
|
@@ -290,7 +290,7 @@ class OpenAIChatCompletionsTokenClient(OpenAIChatCompletionsClient):
|
|
|
290
290
|
if tool_call_ids:
|
|
291
291
|
dummy_assistant: OpenAIChatMessage = ChatCompletionAssistantMessageParam(
|
|
292
292
|
role="assistant",
|
|
293
|
-
reasoning_content="", # type: ignore[typeddict-unknown-key]
|
|
293
|
+
reasoning_content="", # type: ignore[typeddict-unknown-key] # ty:ignore[invalid-key]
|
|
294
294
|
tool_calls=[
|
|
295
295
|
ChatCompletionMessageFunctionToolCallParam(
|
|
296
296
|
id=tc_id,
|
|
@@ -303,7 +303,7 @@ class OpenAIChatCompletionsTokenClient(OpenAIChatCompletionsClient):
|
|
|
303
303
|
else:
|
|
304
304
|
dummy_assistant: OpenAIChatMessage = ChatCompletionAssistantMessageParam(
|
|
305
305
|
role="assistant",
|
|
306
|
-
reasoning_content="", # type: ignore[typeddict-unknown-key]
|
|
306
|
+
reasoning_content="", # type: ignore[typeddict-unknown-key] # ty:ignore[invalid-key]
|
|
307
307
|
content="x",
|
|
308
308
|
)
|
|
309
309
|
|
|
@@ -294,7 +294,7 @@ class EnvGroup(vf.Environment):
|
|
|
294
294
|
return dataset
|
|
295
295
|
|
|
296
296
|
@final
|
|
297
|
-
async def run_rollout( # type: ignore[override]
|
|
297
|
+
async def run_rollout( # type: ignore[override] # ty:ignore[override-of-final-method]
|
|
298
298
|
self,
|
|
299
299
|
input: RolloutInput,
|
|
300
300
|
client: Client | ClientConfig,
|
|
@@ -330,10 +330,10 @@ class EnvGroup(vf.Environment):
|
|
|
330
330
|
state_columns,
|
|
331
331
|
env.env_client,
|
|
332
332
|
)
|
|
333
|
-
return _set_info_route(output, route) # type: ignore[return-value]
|
|
333
|
+
return _set_info_route(output, route) # type: ignore[return-value] # ty:ignore[invalid-return-type]
|
|
334
334
|
|
|
335
335
|
@final
|
|
336
|
-
async def run_group( # type: ignore[override]
|
|
336
|
+
async def run_group( # type: ignore[override] # ty:ignore[override-of-final-method]
|
|
337
337
|
self,
|
|
338
338
|
group_inputs: list[RolloutInput],
|
|
339
339
|
client: Client | ClientConfig,
|
|
@@ -342,7 +342,7 @@ class EnvGroup(vf.Environment):
|
|
|
342
342
|
max_retries: int = 0,
|
|
343
343
|
state_columns: list[str] | None = None,
|
|
344
344
|
env_client: EnvClient | None = None,
|
|
345
|
-
) -> list[vf.RolloutOutput]:
|
|
345
|
+
) -> list[vf.RolloutOutput]: # ty:ignore[invalid-method-override]
|
|
346
346
|
target_env_client = env_client or self.env_client
|
|
347
347
|
if target_env_client is not None:
|
|
348
348
|
if not isinstance(client, ClientConfig):
|
|
@@ -383,7 +383,7 @@ class EnvGroup(vf.Environment):
|
|
|
383
383
|
state_columns,
|
|
384
384
|
env.env_client,
|
|
385
385
|
)
|
|
386
|
-
return [_set_info_route(output, route) for output in outputs] # type: ignore[return-value]
|
|
386
|
+
return [_set_info_route(output, route) for output in outputs] # type: ignore[return-value] # ty:ignore[invalid-return-type]
|
|
387
387
|
|
|
388
388
|
@final
|
|
389
389
|
async def rollout(
|
|
@@ -417,7 +417,7 @@ class EnvGroup(vf.Environment):
|
|
|
417
417
|
child_input["info"] = info
|
|
418
418
|
else:
|
|
419
419
|
child_input.pop("info", None)
|
|
420
|
-
return env_name, child_input, route # type: ignore[return-value]
|
|
420
|
+
return env_name, child_input, route # type: ignore[return-value] # ty:ignore[invalid-return-type]
|
|
421
421
|
|
|
422
422
|
def _input_env_route(self, input: RolloutInput) -> tuple[str, ...]:
|
|
423
423
|
info = _info_dict(input.get("info"))
|
|
@@ -162,7 +162,7 @@ class Environment(ABC):
|
|
|
162
162
|
|
|
163
163
|
if dataset is not None:
|
|
164
164
|
if callable(dataset):
|
|
165
|
-
self.dataset_source: DatasetBuilder | None = cast(
|
|
165
|
+
self.dataset_source: DatasetBuilder | None = cast( # ty:ignore[unsupported-operator]
|
|
166
166
|
DatasetBuilder, dataset
|
|
167
167
|
)
|
|
168
168
|
else:
|
|
@@ -173,7 +173,7 @@ class Environment(ABC):
|
|
|
173
173
|
|
|
174
174
|
if eval_dataset is not None:
|
|
175
175
|
if callable(eval_dataset):
|
|
176
|
-
self.eval_dataset_source: DatasetBuilder | None = cast(
|
|
176
|
+
self.eval_dataset_source: DatasetBuilder | None = cast( # ty:ignore[unsupported-operator]
|
|
177
177
|
DatasetBuilder, eval_dataset
|
|
178
178
|
)
|
|
179
179
|
else:
|
|
@@ -294,7 +294,7 @@ class Environment(ABC):
|
|
|
294
294
|
if few_shot:
|
|
295
295
|
messages.extend(few_shot)
|
|
296
296
|
messages.append({"role": "user", "content": prompt_str})
|
|
297
|
-
return messages
|
|
297
|
+
return messages # ty:ignore[invalid-return-type]
|
|
298
298
|
|
|
299
299
|
if answer_key == "answer":
|
|
300
300
|
dataset = dataset.map(
|
{verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/task.py
RENAMED
|
@@ -369,7 +369,7 @@ class TaskSet:
|
|
|
369
369
|
try:
|
|
370
370
|
from tqdm.auto import tqdm
|
|
371
371
|
except ImportError: # pragma: no cover
|
|
372
|
-
tqdm = None # type: ignore[assignment]
|
|
372
|
+
tqdm = None # type: ignore[assignment] # ty:ignore[invalid-assignment]
|
|
373
373
|
|
|
374
374
|
import verifiers as vf
|
|
375
375
|
|
|
@@ -521,7 +521,7 @@ class TaskSet:
|
|
|
521
521
|
state: State = { # type: ignore[assignment]
|
|
522
522
|
"info": info,
|
|
523
523
|
"answer": row.get("answer", ""),
|
|
524
|
-
}
|
|
524
|
+
} # ty:ignore[invalid-assignment]
|
|
525
525
|
try:
|
|
526
526
|
valid = await self.validate_instance(state)
|
|
527
527
|
return valid, None, state
|
|
@@ -543,7 +543,7 @@ class TaskSet:
|
|
|
543
543
|
state: State = { # type: ignore[assignment]
|
|
544
544
|
"info": info,
|
|
545
545
|
"answer": row.get("answer", ""),
|
|
546
|
-
}
|
|
546
|
+
} # ty:ignore[invalid-assignment]
|
|
547
547
|
spec = self.get_sandbox_spec(info)
|
|
548
548
|
# validate() runs without a SandboxMixin, so resolve
|
|
549
549
|
# spec.timeout_minutes=None (its "auto-derive at rollout
|
|
@@ -319,7 +319,7 @@ async def run_func_call(
|
|
|
319
319
|
)
|
|
320
320
|
try:
|
|
321
321
|
if isinstance(exec_outputs[0], tuple):
|
|
322
|
-
exec_outputs = [list(x) for x in exec_outputs]
|
|
322
|
+
exec_outputs = [list(x) for x in exec_outputs] # ty:ignore[invalid-argument-type]
|
|
323
323
|
tmp_result = tmp_result or (
|
|
324
324
|
exec_outputs == test_case_outputs_parsed[0]
|
|
325
325
|
)
|
{verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/harbor_env/mcp.py
RENAMED
|
@@ -180,7 +180,7 @@ class HarborMCPMixin:
|
|
|
180
180
|
for name in list(jobs):
|
|
181
181
|
try:
|
|
182
182
|
pid_file = shlex.quote(self._mcp_pid_file(name))
|
|
183
|
-
await self.sandbox_client.execute_command( # type: ignore[attr-defined]
|
|
183
|
+
await self.sandbox_client.execute_command( # type: ignore[attr-defined] # ty:ignore[unresolved-attribute]
|
|
184
184
|
sandbox_id,
|
|
185
185
|
f'kill -9 -"$(cat {pid_file} 2>/dev/null)" 2>/dev/null; rm -f {pid_file}',
|
|
186
186
|
working_dir=None,
|
|
@@ -203,7 +203,7 @@ class HarborMCPMixin:
|
|
|
203
203
|
f"MCP server {server.name!r} has no port in its URL {server.url!r}"
|
|
204
204
|
)
|
|
205
205
|
|
|
206
|
-
job = await self.sandbox_client.start_background_job( # type: ignore[attr-defined]
|
|
206
|
+
job = await self.sandbox_client.start_background_job( # type: ignore[attr-defined] # ty:ignore[unresolved-attribute]
|
|
207
207
|
sandbox_id=sandbox_id,
|
|
208
208
|
command=(
|
|
209
209
|
f"setsid sh -c {shlex.quote(command)} & "
|
|
@@ -239,7 +239,7 @@ class HarborMCPMixin:
|
|
|
239
239
|
consecutive_failures = 0
|
|
240
240
|
|
|
241
241
|
while True:
|
|
242
|
-
status = await self.sandbox_client.get_background_job( # type: ignore[attr-defined]
|
|
242
|
+
status = await self.sandbox_client.get_background_job( # type: ignore[attr-defined] # ty:ignore[unresolved-attribute]
|
|
243
243
|
sandbox_id, job
|
|
244
244
|
)
|
|
245
245
|
if getattr(status, "completed", False):
|
|
@@ -251,7 +251,7 @@ class HarborMCPMixin:
|
|
|
251
251
|
f"Stderr:\n{stderr}"
|
|
252
252
|
)
|
|
253
253
|
|
|
254
|
-
result = await self.sandbox_client.execute_command( # type: ignore[attr-defined]
|
|
254
|
+
result = await self.sandbox_client.execute_command( # type: ignore[attr-defined] # ty:ignore[unresolved-attribute]
|
|
255
255
|
sandbox_id, health_cmd, working_dir=None, timeout=probe_timeout
|
|
256
256
|
)
|
|
257
257
|
if getattr(result, "exit_code", 1) == 0:
|
|
@@ -280,7 +280,7 @@ class HarborMCPMixin:
|
|
|
280
280
|
if consecutive_failures >= hc.retries:
|
|
281
281
|
log_tail = ""
|
|
282
282
|
try:
|
|
283
|
-
status = await self.sandbox_client.get_background_job( # type: ignore[attr-defined]
|
|
283
|
+
status = await self.sandbox_client.get_background_job( # type: ignore[attr-defined] # ty:ignore[unresolved-attribute]
|
|
284
284
|
sandbox_id, job
|
|
285
285
|
)
|
|
286
286
|
log_tail = (getattr(status, "stderr", "") or "").strip()[-2000:]
|
|
@@ -313,7 +313,7 @@ class HarborMCPMixin:
|
|
|
313
313
|
f"echo {shlex.quote(f'127.0.0.1 {h}')} >> /etc/hosts)"
|
|
314
314
|
for h in sorted(hosts)
|
|
315
315
|
)
|
|
316
|
-
result = await self.sandbox_client.execute_command( # type: ignore[attr-defined]
|
|
316
|
+
result = await self.sandbox_client.execute_command( # type: ignore[attr-defined] # ty:ignore[unresolved-attribute]
|
|
317
317
|
sandbox_id, statements, working_dir=None
|
|
318
318
|
)
|
|
319
319
|
exit_code = getattr(result, "exit_code", 0)
|
|
@@ -33,10 +33,10 @@ try:
|
|
|
33
33
|
SANDBOX_AVAILABLE = True
|
|
34
34
|
except ImportError:
|
|
35
35
|
SANDBOX_AVAILABLE = False
|
|
36
|
-
AsyncSandboxClient = None # type: ignore[misc, assignment]
|
|
37
|
-
CreateSandboxRequest = None # type: ignore[misc, assignment]
|
|
38
|
-
SandboxClient = None # type: ignore[misc, assignment]
|
|
39
|
-
APIClient = None # type: ignore[misc, assignment]
|
|
36
|
+
AsyncSandboxClient = None # type: ignore[misc, assignment] # ty:ignore[invalid-assignment]
|
|
37
|
+
CreateSandboxRequest = None # type: ignore[misc, assignment] # ty:ignore[invalid-assignment]
|
|
38
|
+
SandboxClient = None # type: ignore[misc, assignment] # ty:ignore[invalid-assignment]
|
|
39
|
+
APIClient = None # type: ignore[misc, assignment] # ty:ignore[invalid-assignment]
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
class CUAMode:
|
|
@@ -366,7 +366,7 @@ class CUAMode:
|
|
|
366
366
|
async def _create_sandbox(self) -> str:
|
|
367
367
|
"""Create a new sandbox and return its ID."""
|
|
368
368
|
client = await self._get_sandbox_client()
|
|
369
|
-
sandbox = await client.create(self._sandbox_request.model_copy()) # type: ignore[union-attr]
|
|
369
|
+
sandbox = await client.create(self._sandbox_request.model_copy()) # type: ignore[union-attr] # ty:ignore[unresolved-attribute]
|
|
370
370
|
self.active_sandboxes.add(sandbox.id)
|
|
371
371
|
if self.logger:
|
|
372
372
|
self.logger.debug(f"Created sandbox {sandbox.id}")
|
|
@@ -375,7 +375,7 @@ class CUAMode:
|
|
|
375
375
|
async def _create_sandbox_with_retry(self) -> str:
|
|
376
376
|
"""Create a sandbox with retry, cleaning up orphaned sandboxes from failed attempts."""
|
|
377
377
|
previous_sandbox_id: str | None = None
|
|
378
|
-
async for attempt in self.retrying: # type: ignore[union-attr]
|
|
378
|
+
async for attempt in self.retrying: # type: ignore[union-attr] # ty:ignore[not-iterable]
|
|
379
379
|
with attempt:
|
|
380
380
|
if previous_sandbox_id is not None:
|
|
381
381
|
try:
|
|
@@ -822,7 +822,7 @@ class CUAMode:
|
|
|
822
822
|
if self._execution_mode == "local":
|
|
823
823
|
# Local mode: create session via HTTP
|
|
824
824
|
try:
|
|
825
|
-
async for attempt in self.retrying: # type: ignore[union-attr]
|
|
825
|
+
async for attempt in self.retrying: # type: ignore[union-attr] # ty:ignore[not-iterable]
|
|
826
826
|
with attempt:
|
|
827
827
|
result = await self._create_session_http()
|
|
828
828
|
session_id = result.get("sessionId")
|
|
@@ -863,7 +863,7 @@ class CUAMode:
|
|
|
863
863
|
await self._start_server(sandbox_id)
|
|
864
864
|
await self._wait_for_server(sandbox_id)
|
|
865
865
|
|
|
866
|
-
async for attempt in self.retrying: # type: ignore[union-attr]
|
|
866
|
+
async for attempt in self.retrying: # type: ignore[union-attr] # ty:ignore[not-iterable]
|
|
867
867
|
with attempt:
|
|
868
868
|
result = await self._create_session_curl(sandbox_id)
|
|
869
869
|
session_id = result.get("sessionId")
|
|
@@ -910,7 +910,7 @@ class CUAMode:
|
|
|
910
910
|
# Local mode: destroy session via HTTP
|
|
911
911
|
if session_id:
|
|
912
912
|
try:
|
|
913
|
-
async for attempt in self.retrying: # type: ignore[union-attr]
|
|
913
|
+
async for attempt in self.retrying: # type: ignore[union-attr] # ty:ignore[not-iterable]
|
|
914
914
|
with attempt:
|
|
915
915
|
await self._destroy_session_http(session_id)
|
|
916
916
|
with self._sessions_lock:
|
|
@@ -926,7 +926,7 @@ class CUAMode:
|
|
|
926
926
|
|
|
927
927
|
if session_id and sandbox_id:
|
|
928
928
|
try:
|
|
929
|
-
async for attempt in self.retrying: # type: ignore[union-attr]
|
|
929
|
+
async for attempt in self.retrying: # type: ignore[union-attr] # ty:ignore[not-iterable]
|
|
930
930
|
with attempt:
|
|
931
931
|
await self._destroy_session_curl(session_id, sandbox_id)
|
|
932
932
|
with self._sessions_lock:
|
|
@@ -939,7 +939,7 @@ class CUAMode:
|
|
|
939
939
|
|
|
940
940
|
if sandbox_id:
|
|
941
941
|
try:
|
|
942
|
-
async for attempt in self.retrying: # type: ignore[union-attr]
|
|
942
|
+
async for attempt in self.retrying: # type: ignore[union-attr] # ty:ignore[not-iterable]
|
|
943
943
|
with attempt:
|
|
944
944
|
await self._delete_sandbox(sandbox_id)
|
|
945
945
|
except Exception as e:
|
|
@@ -968,7 +968,7 @@ class CUAMode:
|
|
|
968
968
|
async def _delete_with_semaphore(session_id: str):
|
|
969
969
|
async with semaphore:
|
|
970
970
|
try:
|
|
971
|
-
async for attempt in self.retrying: # type: ignore[union-attr]
|
|
971
|
+
async for attempt in self.retrying: # type: ignore[union-attr] # ty:ignore[not-iterable]
|
|
972
972
|
with attempt:
|
|
973
973
|
await self._destroy_session_http(session_id)
|
|
974
974
|
with self._sessions_lock:
|
|
@@ -807,7 +807,7 @@ class OpenEnvEnv(vf.MultiTurnEnv):
|
|
|
807
807
|
if len(props) == 1:
|
|
808
808
|
field_name, spec = next(iter(props.items()))
|
|
809
809
|
if isinstance(spec, dict) and spec.get("type") == "string":
|
|
810
|
-
return field_name
|
|
810
|
+
return field_name # ty:ignore[invalid-return-type]
|
|
811
811
|
return None
|
|
812
812
|
|
|
813
813
|
def _render_observation_messages(
|
{verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/textarena_env.py
RENAMED
|
@@ -104,7 +104,7 @@ class TextArenaEnv(vf.MultiTurnEnv):
|
|
|
104
104
|
|
|
105
105
|
async def setup_state(self, state: vf.State, **kwargs) -> vf.State:
|
|
106
106
|
ta_env = await asyncio.to_thread(deepcopy, self.ta_env, self.shared_memo.copy())
|
|
107
|
-
ta_env.state.game_state["secret_word"] = state["answer"] # type: ignore[unresolved-attribute]
|
|
107
|
+
ta_env.state.game_state["secret_word"] = state["answer"] # type: ignore[unresolved-attribute] # ty:ignore[unresolved-attribute]
|
|
108
108
|
state["ta_env"] = ta_env
|
|
109
109
|
return state
|
|
110
110
|
|
|
@@ -33,7 +33,7 @@ class ToolMonitorRubric(vf.Rubric):
|
|
|
33
33
|
self.tool_names.remove(tool_name)
|
|
34
34
|
metric_name = f"{tool_name}_calls"
|
|
35
35
|
for i, func in enumerate(self.funcs):
|
|
36
|
-
if func.__name__ == metric_name:
|
|
36
|
+
if func.__name__ == metric_name: # ty:ignore[unresolved-attribute]
|
|
37
37
|
self.funcs.pop(i)
|
|
38
38
|
self.weights.pop(i)
|
|
39
39
|
break
|
|
@@ -184,7 +184,7 @@ def _inject_system_prompt(
|
|
|
184
184
|
if isinstance(prompt, str):
|
|
185
185
|
inp_copy["prompt"] = f"{system_prompt}\n\n{prompt}"
|
|
186
186
|
else:
|
|
187
|
-
prompt = [dict(m) for m in prompt]
|
|
187
|
+
prompt = [dict(m) for m in prompt] # ty:ignore[not-iterable]
|
|
188
188
|
if not prompt:
|
|
189
189
|
# Empty prompt list - just add system message
|
|
190
190
|
prompt = [{"role": "system", "content": system_prompt}]
|
|
@@ -195,7 +195,7 @@ def _inject_system_prompt(
|
|
|
195
195
|
inp_copy["prompt"] = prompt
|
|
196
196
|
|
|
197
197
|
modified.append(inp_copy)
|
|
198
|
-
return modified
|
|
198
|
+
return modified # ty:ignore[invalid-return-type]
|
|
199
199
|
|
|
200
200
|
|
|
201
201
|
def _extract_user_query(prompt: Messages) -> str:
|
{verifiers-0.2.2.dev34 → verifiers-0.2.2.dev35}/verifiers/rubrics/experimental/hybrid_math_rubric.py
RENAMED
|
@@ -129,7 +129,7 @@ class HybridMathRubric(vf.JudgeRubric):
|
|
|
129
129
|
self.add_reward_func(self.correct_answer, weight=1)
|
|
130
130
|
|
|
131
131
|
self.judge_model = judge_model if use_judge_fallback else None
|
|
132
|
-
self.class_objects["judge_model"] = self.judge_model
|
|
132
|
+
self.class_objects["judge_model"] = self.judge_model # ty:ignore[invalid-assignment]
|
|
133
133
|
|
|
134
134
|
# Delegate math verification to default MathRubric
|
|
135
135
|
# We clear its auto-registered reward func since we manage scoring ourselves
|
|
@@ -168,7 +168,7 @@ class Rubric:
|
|
|
168
168
|
**self.class_objects,
|
|
169
169
|
)
|
|
170
170
|
for provider in self.group_score_object_providers:
|
|
171
|
-
objects.update(provider(states))
|
|
171
|
+
objects.update(provider(states)) # ty:ignore[no-matching-overload]
|
|
172
172
|
return objects
|
|
173
173
|
|
|
174
174
|
def task_for_state(self, state: State, resources: object | None) -> object:
|
|
@@ -203,7 +203,7 @@ class Rubric:
|
|
|
203
203
|
ans = float(await maybe_await(func, **merged))
|
|
204
204
|
except Exception as e:
|
|
205
205
|
self.logger.error(
|
|
206
|
-
f"Error calling reward function {func.__name__}: {e}" # type: ignore[unresolved-attribute]
|
|
206
|
+
f"Error calling reward function {func.__name__}: {e}" # type: ignore[unresolved-attribute] # ty:ignore[unresolved-attribute]
|
|
207
207
|
)
|
|
208
208
|
ans = 0.0
|
|
209
209
|
else:
|
|
@@ -212,7 +212,7 @@ class Rubric:
|
|
|
212
212
|
ans = float(await maybe_await(func, **allowed))
|
|
213
213
|
except Exception as e:
|
|
214
214
|
self.logger.error(
|
|
215
|
-
f"Error calling reward function {func.__name__}: {e}" # type: ignore[unresolved-attribute]
|
|
215
|
+
f"Error calling reward function {func.__name__}: {e}" # type: ignore[unresolved-attribute] # ty:ignore[unresolved-attribute]
|
|
216
216
|
)
|
|
217
217
|
ans = 0.0
|
|
218
218
|
return ans
|
|
@@ -248,7 +248,7 @@ class Rubric:
|
|
|
248
248
|
ans = await maybe_await(func, **merged)
|
|
249
249
|
except Exception as e:
|
|
250
250
|
self.logger.error(
|
|
251
|
-
f"Error calling group reward function {func.__name__}: {e}" # type: ignore[unresolved-attribute]
|
|
251
|
+
f"Error calling group reward function {func.__name__}: {e}" # type: ignore[unresolved-attribute] # ty:ignore[unresolved-attribute]
|
|
252
252
|
)
|
|
253
253
|
ans = [0.0] * len(states)
|
|
254
254
|
else:
|
|
@@ -257,7 +257,7 @@ class Rubric:
|
|
|
257
257
|
ans = await maybe_await(func, **allowed)
|
|
258
258
|
except Exception as e:
|
|
259
259
|
self.logger.error(
|
|
260
|
-
f"Error calling group reward function {func.__name__}: {e}" # type: ignore[unresolved-attribute]
|
|
260
|
+
f"Error calling group reward function {func.__name__}: {e}" # type: ignore[unresolved-attribute] # ty:ignore[unresolved-attribute]
|
|
261
261
|
)
|
|
262
262
|
ans = [0.0] * len(states)
|
|
263
263
|
return ans
|
|
@@ -335,7 +335,7 @@ class Rubric:
|
|
|
335
335
|
)
|
|
336
336
|
rewards = RolloutScore(
|
|
337
337
|
metrics={
|
|
338
|
-
func.__name__: reward
|
|
338
|
+
func.__name__: reward # ty:ignore[unresolved-attribute]
|
|
339
339
|
for func, reward in zip(reward_funcs, reward_scores)
|
|
340
340
|
},
|
|
341
341
|
reward=sum(
|
|
@@ -380,7 +380,7 @@ class Rubric:
|
|
|
380
380
|
# GroupRewardFunc: score all states together
|
|
381
381
|
group_func = cast(GroupRewardFunc, func)
|
|
382
382
|
scores = await self._call_group_reward_func(group_func, states)
|
|
383
|
-
func_name = func.__name__
|
|
383
|
+
func_name = func.__name__ # ty:ignore[unresolved-attribute]
|
|
384
384
|
if func_name not in aggregated_metrics:
|
|
385
385
|
aggregated_metrics[func_name] = [0.0] * num_states
|
|
386
386
|
for i in range(num_states):
|
|
@@ -395,7 +395,7 @@ class Rubric:
|
|
|
395
395
|
]
|
|
396
396
|
scores = await asyncio.gather(*score_tasks)
|
|
397
397
|
|
|
398
|
-
func_name = func.__name__
|
|
398
|
+
func_name = func.__name__ # ty:ignore[unresolved-attribute]
|
|
399
399
|
if func_name not in aggregated_metrics:
|
|
400
400
|
aggregated_metrics[func_name] = [0.0] * num_states
|
|
401
401
|
for i in range(num_states):
|
|
@@ -829,7 +829,7 @@ def run_gepa_optimization(
|
|
|
829
829
|
logger.debug(f"Results saved to {run_dir}")
|
|
830
830
|
|
|
831
831
|
# Set result info for final summary
|
|
832
|
-
best_prompt = result.best_candidate.get("system_prompt", "") # type: ignore[unresolved-attribute]
|
|
832
|
+
best_prompt = result.best_candidate.get("system_prompt", "") # type: ignore[unresolved-attribute] # ty:ignore[unresolved-attribute]
|
|
833
833
|
display.set_result(best_prompt=best_prompt, save_path=save_path)
|
|
834
834
|
|
|
835
835
|
return result
|
|
@@ -479,7 +479,7 @@ class State(dict):
|
|
|
479
479
|
return input_obj[key]
|
|
480
480
|
return super().__getitem__(key)
|
|
481
481
|
|
|
482
|
-
def get(self, key: str, default: Any = None) -> Any:
|
|
482
|
+
def get(self, key: str, default: Any = None) -> Any: # ty:ignore[invalid-method-override]
|
|
483
483
|
try:
|
|
484
484
|
return self[key]
|
|
485
485
|
except KeyError:
|
|
@@ -506,7 +506,7 @@ class State(dict):
|
|
|
506
506
|
@overload
|
|
507
507
|
def pop(self, key: str, default: _DefaultValue) -> Any | _DefaultValue: ...
|
|
508
508
|
|
|
509
|
-
def pop(self, key: str, default: Any = _MISSING) -> Any:
|
|
509
|
+
def pop(self, key: str, default: Any = _MISSING) -> Any: # ty:ignore[invalid-method-override]
|
|
510
510
|
if default is _MISSING:
|
|
511
511
|
return super().pop(key)
|
|
512
512
|
return super().pop(key, default)
|
|
@@ -184,7 +184,7 @@ def maybe_retry(
|
|
|
184
184
|
|
|
185
185
|
def log_retry(retry_state: tc.RetryCallState) -> None:
|
|
186
186
|
"""Log a warning with the exception and the number of attempts."""
|
|
187
|
-
caller = retry_state.fn.__name__ if retry_state.fn else "unknown function"
|
|
187
|
+
caller = retry_state.fn.__name__ if retry_state.fn else "unknown function" # ty:ignore[unresolved-attribute]
|
|
188
188
|
error_chain = (
|
|
189
189
|
repr(
|
|
190
190
|
ErrorChain(
|
|
@@ -203,7 +203,7 @@ def maybe_retry(
|
|
|
203
203
|
|
|
204
204
|
def return_last_result(retry_state: tc.RetryCallState):
|
|
205
205
|
"""Return the last result when retries are exhausted (instead of raising)."""
|
|
206
|
-
caller = retry_state.fn.__name__ if retry_state.fn else "unknown function"
|
|
206
|
+
caller = retry_state.fn.__name__ if retry_state.fn else "unknown function" # ty:ignore[unresolved-attribute]
|
|
207
207
|
error_chain = (
|
|
208
208
|
repr(
|
|
209
209
|
ErrorChain(
|
|
@@ -424,10 +424,10 @@ def _expand_ablation(ablation: dict, global_defaults: dict) -> list[dict]:
|
|
|
424
424
|
for key, value in zip(keys, combo):
|
|
425
425
|
if key.startswith("env_args."):
|
|
426
426
|
env_key = key[len("env_args.") :]
|
|
427
|
-
config["env_args"] = {**config.get("env_args", {}), env_key: value}
|
|
427
|
+
config["env_args"] = {**config.get("env_args", {}), env_key: value} # ty:ignore[invalid-argument-type]
|
|
428
428
|
elif key.startswith("args."):
|
|
429
429
|
env_key = key[len("args.") :]
|
|
430
|
-
config["args"] = {**config.get("args", {}), env_key: value}
|
|
430
|
+
config["args"] = {**config.get("args", {}), env_key: value} # ty:ignore[invalid-argument-type]
|
|
431
431
|
else:
|
|
432
432
|
config[key] = value
|
|
433
433
|
expanded.append(config)
|
|
@@ -1168,7 +1168,7 @@ async def run_evaluations(config: EvalRunConfig) -> None:
|
|
|
1168
1168
|
from verifiers.utils.heartbeat import Heartbeat
|
|
1169
1169
|
|
|
1170
1170
|
heart = Heartbeat(config.heartbeat_url)
|
|
1171
|
-
on_progress = [lambda *_a, **_kw: asyncio.create_task(heart.beat())]
|
|
1171
|
+
on_progress = [lambda *_a, **_kw: asyncio.create_task(heart.beat())] # ty:ignore[invalid-assignment]
|
|
1172
1172
|
|
|
1173
1173
|
start_time = time.time()
|
|
1174
1174
|
all_results = await asyncio.gather(
|
|
@@ -1307,7 +1307,7 @@ async def run_evaluations_tui(
|
|
|
1307
1307
|
|
|
1308
1308
|
on_progress: list[ProgressCallback] = [on_display_progress]
|
|
1309
1309
|
if heart is not None:
|
|
1310
|
-
on_progress.append(lambda *_a, **_kw: asyncio.create_task(heart.beat()))
|
|
1310
|
+
on_progress.append(lambda *_a, **_kw: asyncio.create_task(heart.beat())) # ty:ignore[invalid-argument-type]
|
|
1311
1311
|
|
|
1312
1312
|
def on_log(message: str) -> None:
|
|
1313
1313
|
display.update_env_state(env_idx, log_message=message)
|
|
@@ -144,31 +144,31 @@ def normalize_messages(
|
|
|
144
144
|
|
|
145
145
|
|
|
146
146
|
@overload
|
|
147
|
-
def get_messages(
|
|
147
|
+
def get_messages( # ty:ignore[invalid-overload]
|
|
148
148
|
messages: Sequence[MessageLike], role: Literal["assistant"]
|
|
149
149
|
) -> list[AssistantMessage]: ...
|
|
150
150
|
|
|
151
151
|
|
|
152
152
|
@overload
|
|
153
|
-
def get_messages(
|
|
153
|
+
def get_messages( # ty:ignore[invalid-overload]
|
|
154
154
|
messages: Sequence[MessageLike], role: Literal["system"]
|
|
155
155
|
) -> list[SystemMessage]: ...
|
|
156
156
|
|
|
157
157
|
|
|
158
158
|
@overload
|
|
159
|
-
def get_messages(
|
|
159
|
+
def get_messages( # ty:ignore[invalid-overload]
|
|
160
160
|
messages: Sequence[MessageLike], role: Literal["user"]
|
|
161
161
|
) -> list[UserMessage]: ...
|
|
162
162
|
|
|
163
163
|
|
|
164
164
|
@overload
|
|
165
|
-
def get_messages(
|
|
165
|
+
def get_messages( # ty:ignore[invalid-overload]
|
|
166
166
|
messages: Sequence[MessageLike], role: Literal["tool"]
|
|
167
167
|
) -> list[ToolMessage]: ...
|
|
168
168
|
|
|
169
169
|
|
|
170
170
|
@overload
|
|
171
|
-
def get_messages(
|
|
171
|
+
def get_messages( # ty:ignore[invalid-overload]
|
|
172
172
|
messages: Sequence[MessageLike], role: Literal["text"]
|
|
173
173
|
) -> list[TextMessage]: ...
|
|
174
174
|
|
|
@@ -428,7 +428,7 @@ def _read_mm_hashes(mm: object) -> dict[str, list[str]]:
|
|
|
428
428
|
return {}
|
|
429
429
|
return {
|
|
430
430
|
modality: list(hs) for modality, hs in hashes.items() if isinstance(hs, list)
|
|
431
|
-
}
|
|
431
|
+
} # ty:ignore[invalid-return-type]
|
|
432
432
|
|
|
433
433
|
|
|
434
434
|
def _is_monotonic_extension(
|
|
@@ -505,7 +505,7 @@ def _diff_mm_data(mm: object, prior_hashes: dict[str, list[str]]) -> object:
|
|
|
505
505
|
keep_idx: list[int] = []
|
|
506
506
|
for i, h in enumerate(mod_hashes):
|
|
507
507
|
if remaining.get(h, 0) > 0:
|
|
508
|
-
remaining[h] -= 1
|
|
508
|
+
remaining[h] -= 1 # ty:ignore[invalid-argument-type]
|
|
509
509
|
else:
|
|
510
510
|
keep_idx.append(i)
|
|
511
511
|
if len(keep_idx) != len(mod_hashes):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|