verifiers 0.2.1.dev59__tar.gz → 0.2.1.dev60__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/PKG-INFO +1 -1
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/__init__.py +4 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/dashboard/eval.py +15 -5
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/debug.py +1 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/legacy.py +18 -3
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/rollout.py +1 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/trace.py +32 -1
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/.gitignore +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/LICENSE +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/README.md +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/pyproject.toml +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/AGENTS.md +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/conftest.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_browser_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_build_script.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_client_config.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_composable_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_env_group.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_env_server.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_environment.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_environment_extra.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_error_chain.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_eval_display.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_eval_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_gym_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_imports.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_init_script.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_install_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_interception_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_logging.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_math_rubric.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_message_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_openenv_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_parser.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_path_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_renderer_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_rubric.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_rubric_group.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_sandbox_debug_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_save_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_setup_script.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_think_parser.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_tool_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_tool_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_types.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_xml_parser.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/conftest.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/fixtures/echo_multi_v0.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/fixtures/echo_v0.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/test_configs.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/test_e2e.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/test_envs.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/test_graph.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/test_judges.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/test_legacy.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/test_scoring.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/test_taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/v1/test_trace.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/cli/commands/build.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/cli/commands/eval.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/cli/commands/gepa.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/cli/commands/install.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/cli/commands/setup.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/cli/tui.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/anthropic_messages_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/openai_chat_completions_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/openai_completions_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/openai_responses_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/renderer_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/decorators.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/AGENTS.md +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/env_group.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/environment.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/README.md +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/cli_agent_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/README.md +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/composable_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/harness.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/task.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/gym_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/harbor_env/env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/mcp_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/opencode_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/utils/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/integrations/README.md +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/integrations/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/integrations/openenv_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/integrations/textarena_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/multiturn_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/python_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/sandbox_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/singleturn_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/stateful_tool_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/tool_env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/errors.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/gepa/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/gepa/adapter.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/gepa/config.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/gepa/display.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/gepa/gepa_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/parsers/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/parsers/maybe_think_parser.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/parsers/parser.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/parsers/think_parser.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/parsers/xml_parser.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/rubrics/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/rubrics/judge_rubric.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/rubrics/math_rubric.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/rubrics/rubric.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/rubrics/rubric_group.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/scripts/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/scripts/build.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/scripts/eval.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/scripts/gepa.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/scripts/init.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/scripts/install.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/scripts/setup.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/scripts/tui.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/serve/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/serve/client/env_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/serve/client/zmq_env_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/serve/server/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/serve/server/env_router.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/serve/server/env_server.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/serve/server/env_worker.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/serve/server/zmq_env_server.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/serve/types.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/types.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/async_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/client_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/config_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/data_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/display_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/env_config_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/env_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/error_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/eval_display.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/eval_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/heartbeat.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/import_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/install_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/interception_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/logging_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/message_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/metric_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/path_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/pricing_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/process_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/response_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/save_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/serve_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/thread_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/threaded_sandbox_client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/tool_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/usage_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/utils/version_utils.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/gepa.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/serve.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/clients/config.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/configs/debug.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/configs/eval.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/configs/init.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/configs/replay.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/configs/validate.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/decorators.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/env.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/episode.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/errors.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/gepa/dataset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/graph.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harness.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/default/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/default/harness.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/default/program.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/null/program.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/judge.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/loaders.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/mcp/user.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/push.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/retries.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/runtimes/docker.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/scoring.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/session.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/state.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/task.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/tasksets/lean/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/tasksets/lean/scoring.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/tasksets/lean/taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/types.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/utils/install.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/v1/utils/sampling.py +0 -0
- {verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/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.1.
|
|
3
|
+
Version: 0.2.1.dev60
|
|
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
|
|
@@ -105,9 +105,11 @@ from verifiers.v1.trace import (
|
|
|
105
105
|
Branch,
|
|
106
106
|
Error,
|
|
107
107
|
EvalRunInfo,
|
|
108
|
+
GenerationSpan,
|
|
108
109
|
ModelCall,
|
|
109
110
|
RunInfo,
|
|
110
111
|
TimeSpan,
|
|
112
|
+
TimeSplit,
|
|
111
113
|
Timing,
|
|
112
114
|
Trace,
|
|
113
115
|
TraceTask,
|
|
@@ -184,6 +186,8 @@ __all__ = [
|
|
|
184
186
|
"KeptTokens",
|
|
185
187
|
"Timing",
|
|
186
188
|
"TimeSpan",
|
|
189
|
+
"TimeSplit",
|
|
190
|
+
"GenerationSpan",
|
|
187
191
|
"Error",
|
|
188
192
|
# decorators
|
|
189
193
|
"stop",
|
|
@@ -300,6 +300,7 @@ def _breakdown(done: list[Trace]) -> Table | None:
|
|
|
300
300
|
have_cost = have_cached = have_reasoning = have_judge = False
|
|
301
301
|
phase_secs: dict[str, float] = {}
|
|
302
302
|
phase_count: dict[str, int] = {}
|
|
303
|
+
model_secs = harness_secs = 0.0
|
|
303
304
|
for trace in done:
|
|
304
305
|
prompt, completion, cached, reasoning, _ = _tokens(trace)
|
|
305
306
|
total_in += prompt
|
|
@@ -326,6 +327,8 @@ def _breakdown(done: list[Trace]) -> Table | None:
|
|
|
326
327
|
if span.end: # phase was timed for this rollout
|
|
327
328
|
phase_secs[phase] = phase_secs.get(phase, 0.0) + span.duration
|
|
328
329
|
phase_count[phase] = phase_count.get(phase, 0) + 1
|
|
330
|
+
model_secs += trace.timing.generation.model.duration
|
|
331
|
+
harness_secs += trace.timing.generation.harness.duration
|
|
329
332
|
if (
|
|
330
333
|
total_in
|
|
331
334
|
or total_out
|
|
@@ -353,11 +356,18 @@ def _breakdown(done: list[Trace]) -> Table | None:
|
|
|
353
356
|
cost += f" + {format_cost_usd(total_judge_cost)} judge"
|
|
354
357
|
usage.append(cost)
|
|
355
358
|
grid.add_row("usage", " · ".join(usage))
|
|
356
|
-
time_segments = [
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
if
|
|
360
|
-
|
|
359
|
+
time_segments = []
|
|
360
|
+
for phase in ("boot", "setup", "generation", "finalize", "scoring"):
|
|
361
|
+
count = phase_count.get(phase)
|
|
362
|
+
if not count:
|
|
363
|
+
continue
|
|
364
|
+
segment = f"{phase} {format_time(phase_secs[phase] / count)}"
|
|
365
|
+
if phase == "generation":
|
|
366
|
+
segment += (
|
|
367
|
+
f" (model {format_time(model_secs / count)}"
|
|
368
|
+
f" + harness {format_time(harness_secs / count)})"
|
|
369
|
+
)
|
|
370
|
+
time_segments.append(segment)
|
|
361
371
|
if time_segments:
|
|
362
372
|
grid.add_row("time", " · ".join(time_segments))
|
|
363
373
|
return grid if grid.row_count else None
|
|
@@ -243,6 +243,7 @@ async def debug_task(task: Task, config: DebugConfig) -> tuple[Trace, bool]:
|
|
|
243
243
|
except Exception as e:
|
|
244
244
|
record_debug_error(trace, debug, e, setup_timeout, config.timeout.total)
|
|
245
245
|
finally:
|
|
246
|
+
trace.split_generation()
|
|
246
247
|
trace.info["debug"] = debug
|
|
247
248
|
try:
|
|
248
249
|
await runtime.stop()
|
|
@@ -32,7 +32,16 @@ from verifiers.v1.serve.types import (
|
|
|
32
32
|
)
|
|
33
33
|
from verifiers.v1.task import WireTaskData
|
|
34
34
|
from verifiers.v1 import graph
|
|
35
|
-
from verifiers.v1.trace import
|
|
35
|
+
from verifiers.v1.trace import (
|
|
36
|
+
Error,
|
|
37
|
+
GenerationSpan,
|
|
38
|
+
ModelCall,
|
|
39
|
+
TimeSpan,
|
|
40
|
+
TimeSplit,
|
|
41
|
+
Timing,
|
|
42
|
+
Trace,
|
|
43
|
+
TraceTask,
|
|
44
|
+
)
|
|
36
45
|
from verifiers.v1.types import (
|
|
37
46
|
AssistantMessage,
|
|
38
47
|
Response,
|
|
@@ -185,7 +194,8 @@ def _to_v1_tokens(raw: Any) -> TurnTokens | None:
|
|
|
185
194
|
|
|
186
195
|
def _timing(raw: Any) -> Timing:
|
|
187
196
|
"""Map the v0 timing record's generation/scoring durations onto a v1 ``Timing``
|
|
188
|
-
(we only have durations, so each span is encoded as start=0, end=duration).
|
|
197
|
+
(we only have durations, so each span is encoded as start=0, end=duration).
|
|
198
|
+
v0's per-turn ``model``/``env`` span collections carry the generation split."""
|
|
189
199
|
|
|
190
200
|
def _dur(node: Any) -> float:
|
|
191
201
|
if isinstance(node, dict):
|
|
@@ -198,7 +208,12 @@ def _timing(raw: Any) -> Timing:
|
|
|
198
208
|
|
|
199
209
|
raw = raw or {}
|
|
200
210
|
return Timing(
|
|
201
|
-
generation=
|
|
211
|
+
generation=GenerationSpan(
|
|
212
|
+
start=0.0,
|
|
213
|
+
end=_dur(raw.get("generation")),
|
|
214
|
+
model=TimeSplit(duration=_dur(raw.get("model"))),
|
|
215
|
+
harness=TimeSplit(duration=_dur(raw.get("env"))),
|
|
216
|
+
),
|
|
202
217
|
scoring=TimeSpan(start=0.0, end=_dur(raw.get("scoring"))),
|
|
203
218
|
)
|
|
204
219
|
|
|
@@ -49,11 +49,30 @@ class TimeSpan(StrictBaseModel):
|
|
|
49
49
|
return max(0.0, self.end - self.start) if self.end else 0.0
|
|
50
50
|
|
|
51
51
|
|
|
52
|
+
class TimeSplit(StrictBaseModel):
|
|
53
|
+
"""A span's share attributed to one side of a split: disjoint sub-intervals summed
|
|
54
|
+
into a duration, so there is no single start/end. Serialized, unlike a span's
|
|
55
|
+
derived `duration`, since it cannot be recomputed from two timestamps."""
|
|
56
|
+
|
|
57
|
+
duration: float = 0.0
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class GenerationSpan(TimeSpan):
|
|
61
|
+
"""The generation span plus its split into time inside model calls (`model`) vs.
|
|
62
|
+
outside them (`harness`: harness logic, tools, user simulation). Stamped from the
|
|
63
|
+
recorded model calls' spans by `Trace.split_generation` when the span closes, with
|
|
64
|
+
`model.duration + harness.duration == duration` — concurrent calls (subagent forks)
|
|
65
|
+
are clamped to the span, saturating the model share."""
|
|
66
|
+
|
|
67
|
+
model: TimeSplit = Field(default_factory=TimeSplit)
|
|
68
|
+
harness: TimeSplit = Field(default_factory=TimeSplit)
|
|
69
|
+
|
|
70
|
+
|
|
52
71
|
class Timing(StrictBaseModel):
|
|
53
72
|
start: float = Field(default_factory=time.time)
|
|
54
73
|
boot: TimeSpan = Field(default_factory=TimeSpan)
|
|
55
74
|
setup: TimeSpan = Field(default_factory=TimeSpan)
|
|
56
|
-
generation:
|
|
75
|
+
generation: GenerationSpan = Field(default_factory=GenerationSpan)
|
|
57
76
|
finalize: TimeSpan = Field(default_factory=TimeSpan)
|
|
58
77
|
scoring: TimeSpan = Field(default_factory=TimeSpan)
|
|
59
78
|
|
|
@@ -537,6 +556,18 @@ class Trace(StrictBaseModel, Generic[DataT, StateT]):
|
|
|
537
556
|
if self.stop_condition is None:
|
|
538
557
|
self.stop_condition = condition
|
|
539
558
|
|
|
559
|
+
def split_generation(self) -> None:
|
|
560
|
+
"""Stamp the closed generation span's model/harness split: model time is the
|
|
561
|
+
sum of the recorded calls' spans (clamped to the span), harness the complement.
|
|
562
|
+
Every path that closes the span calls this — a span without model calls (e.g.
|
|
563
|
+
a debug action) is all harness time."""
|
|
564
|
+
gen = self.timing.generation
|
|
565
|
+
if not gen.end:
|
|
566
|
+
return
|
|
567
|
+
model = sum(call.time.duration for call in self.calls)
|
|
568
|
+
gen.model.duration = min(model, gen.duration)
|
|
569
|
+
gen.harness.duration = gen.duration - gen.model.duration
|
|
570
|
+
|
|
540
571
|
def capture_error(self, error: Exception) -> None:
|
|
541
572
|
self.errors.append(
|
|
542
573
|
Error(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/tests/test_openai_chat_completions_token_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/anthropic_messages_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/nemorl_chat_completions_client.py
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/openai_chat_completions_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/openai_completions_client.py
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/clients/openai_responses_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/cli_agent_env.py
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/README.md
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/_filter.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.2.1.dev59 → verifiers-0.2.1.dev60}/verifiers/envs/experimental/composable/task.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|