verifiers 0.1.15.dev359__tar.gz → 0.1.15.dev360__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/PKG-INFO +1 -1
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/interception/server.py +10 -8
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/mcp/server.py +32 -19
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/.gitignore +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/LICENSE +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/README.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/pyproject.toml +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/AGENTS.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/README.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/conftest.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_browser_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_build_script.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_client_config.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_composable_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_env_group.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_env_server.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_environment.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_environment_extra.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_envs.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_error_chain.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_eval_display.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_eval_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_gym_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_imports.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_init_script.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_install_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_interception_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_lean_task.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_logging.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_math_rubric.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_message_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_openenv_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_parser.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_path_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_renderer_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_rubric.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_rubric_group.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_sandbox_debug_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_save_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_setup_script.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_think_parser.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_tool_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_tool_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_types.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_wordle_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/test_xml_parser.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/conftest.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/fixtures/echo_multi_v0.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/fixtures/echo_v0.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/test_configs.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/test_e2e.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/test_envs.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/test_graph.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/test_legacy.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/test_trace.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/AGENTS.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/cli/commands/build.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/cli/commands/eval.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/cli/commands/gepa.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/cli/commands/install.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/cli/commands/setup.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/cli/tui.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/clients/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/clients/anthropic_messages_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/clients/client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/clients/openai_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/clients/openai_completions_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/clients/openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/clients/renderer_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/decorators.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/AGENTS.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/env_group.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/environment.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/README.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/README.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/composable_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/harness.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/task.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/lean/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/lean/lean_task.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/README.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/openseeker/README.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/openseeker/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/openseeker/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/README.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/tool_pdf.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/eval_toolkit.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/evaluator.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/base_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/cache_prompts.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/cache_filesys.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/load_eval_script.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/misc.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/tool_visit.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/url_tools.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/verification_tree.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/open_ended.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/quest/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/README.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/search/search_tasksets.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/gym_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/harbor_env/env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/mcp_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/opencode_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/integrations/README.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/integrations/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/integrations/openenv_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/integrations/textarena_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/multiturn_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/python_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/sandbox_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/singleturn_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/tool_env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/errors.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/gepa/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/gepa/adapter.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/gepa/config.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/gepa/display.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/gepa/gepa_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/parsers/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/parsers/maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/parsers/parser.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/parsers/think_parser.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/parsers/xml_parser.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rl/README.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rl/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rl/inference/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rl/inference/client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rl/inference/server.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rl/trainer/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rl/trainer/config.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rl/trainer/orchestrator.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rl/trainer/trainer.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rl/trainer/utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rubrics/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rubrics/judge_rubric.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rubrics/math_rubric.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rubrics/rubric.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/rubrics/rubric_group.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/scripts/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/scripts/build.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/scripts/eval.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/scripts/gepa.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/scripts/init.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/scripts/install.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/scripts/rl.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/scripts/setup.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/scripts/train.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/scripts/tui.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/scripts/vllm.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/serve/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/serve/client/env_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/serve/client/zmq_env_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/serve/server/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/serve/server/env_router.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/serve/server/env_server.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/serve/server/env_worker.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/serve/server/zmq_env_server.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/serve/types.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/types.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/async_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/client_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/config_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/data_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/display_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/env_config_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/env_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/error_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/eval_display.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/eval_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/heartbeat.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/import_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/install_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/interception_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/logging_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/message_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/metric_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/path_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/pricing_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/process_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/response_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/save_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/serve_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/thread_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/threaded_sandbox_client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/tool_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/usage_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/utils/version_utils.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/ARCHITECTURE.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/GUIDE.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/README.md +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/serve.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/clients/config.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/configs/eval.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/configs/init.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/configs/validate.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/decorators.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/env.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/episode.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/errors.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/graph.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harness.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/bash/program.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/default/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/default/harness.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/default/program.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/legacy.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/loaders.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/mcp/multiplex.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/mcp/user.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/retries.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/runtimes/docker.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/state.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/task.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/tasksets/harbor_v1/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/tasksets/harbor_v1/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/tasksets/textarena_v1/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/tasksets/textarena_v1/taskset.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/trace.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/types.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/utils/install.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/v1/utils/memory.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.1.15.
|
|
3
|
+
Version: 0.1.15.dev360
|
|
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
|
|
@@ -29,7 +29,7 @@ from dataclasses import dataclass, field
|
|
|
29
29
|
from typing import TYPE_CHECKING
|
|
30
30
|
|
|
31
31
|
from aiohttp import web
|
|
32
|
-
from pydantic import ValidationError
|
|
32
|
+
from pydantic import TypeAdapter, ValidationError
|
|
33
33
|
from pydantic_core import PydanticSerializationError, from_json, to_json
|
|
34
34
|
|
|
35
35
|
from verifiers.v1.clients import RolloutContext
|
|
@@ -522,8 +522,12 @@ class InterceptionServer:
|
|
|
522
522
|
if session is None:
|
|
523
523
|
return web.json_response({"error": "unauthorized"}, status=401)
|
|
524
524
|
logger.debug("intercept GET /state: id=%s", session.trace.id)
|
|
525
|
+
state = session.trace.state
|
|
525
526
|
return web.Response(
|
|
526
|
-
|
|
527
|
+
# TypeAdapter emits UTF-8 bytes directly, avoiding a JSON str copy in aiohttp.
|
|
528
|
+
body=TypeAdapter(type(state)).dump_json(state),
|
|
529
|
+
content_type="application/json",
|
|
530
|
+
charset="utf-8",
|
|
527
531
|
)
|
|
528
532
|
|
|
529
533
|
async def handle_task_get(self, request: web.Request) -> web.Response:
|
|
@@ -550,13 +554,11 @@ class InterceptionServer:
|
|
|
550
554
|
return web.json_response({"error": "unauthorized"}, status=401)
|
|
551
555
|
logger.debug("intercept PUT /state: id=%s", session.trace.id)
|
|
552
556
|
state_cls = type(session.trace.state)
|
|
557
|
+
raw = await request.read()
|
|
553
558
|
try:
|
|
554
|
-
new_state = state_cls.
|
|
555
|
-
except
|
|
556
|
-
#
|
|
557
|
-
# that doesn't fit the trace's `State` type (almost always a `StateT` mismatch between the
|
|
558
|
-
# taskset and a server). Surface a clean 400 (with the reason) rather than a 500, so the
|
|
559
|
-
# server's failed PUT fails the rollout legibly.
|
|
559
|
+
new_state = state_cls.model_validate_json(raw)
|
|
560
|
+
except ValidationError as e:
|
|
561
|
+
# Reject malformed, over-nested, or mismatched state before it enters the shared channel.
|
|
560
562
|
logger.warning("state PUT rejected: id=%s %s", session.trace.id, e)
|
|
561
563
|
return web.json_response(
|
|
562
564
|
{"error": f"invalid state PUT for {state_cls.__name__}: {e}"},
|
|
@@ -12,18 +12,21 @@ import contextlib
|
|
|
12
12
|
import contextvars
|
|
13
13
|
import functools
|
|
14
14
|
import inspect
|
|
15
|
+
import logging
|
|
15
16
|
import os
|
|
16
17
|
from typing import TYPE_CHECKING, Callable, ClassVar, Generic, TypeVar, get_args
|
|
17
18
|
|
|
19
|
+
from pydantic import TypeAdapter, ValidationError
|
|
18
20
|
from pydantic_config import BaseConfig
|
|
19
21
|
|
|
20
22
|
from verifiers.v1.state import State, StateT, state_cls
|
|
21
23
|
|
|
22
24
|
if TYPE_CHECKING:
|
|
23
|
-
from httpx import AsyncClient
|
|
25
|
+
from httpx import AsyncClient, Response
|
|
24
26
|
from mcp.server.fastmcp import FastMCP
|
|
25
27
|
|
|
26
28
|
ConfigT = TypeVar("ConfigT", bound=BaseConfig)
|
|
29
|
+
logger = logging.getLogger(__name__)
|
|
27
30
|
|
|
28
31
|
STATE_TIMEOUT = 30.0
|
|
29
32
|
"""Seconds for a state-channel GET/PUT (localhost, or a tunnel to the host)."""
|
|
@@ -38,13 +41,13 @@ async def _channel_request(
|
|
|
38
41
|
url: str,
|
|
39
42
|
secret: str,
|
|
40
43
|
*,
|
|
41
|
-
|
|
44
|
+
content: bytes | None = None,
|
|
42
45
|
client: AsyncClient | None = None,
|
|
43
|
-
) ->
|
|
46
|
+
) -> Response:
|
|
44
47
|
"""One bearer-authed call to the interception `/state` or `/task` channel, retried with
|
|
45
48
|
exponential backoff + jitter on transient failures (connection resets / 5xx from the host
|
|
46
49
|
tunnel). A 4xx is a real error (e.g. an invalid state PUT) and is not retried. Returns the
|
|
47
|
-
|
|
50
|
+
response so typed callers can validate its JSON bytes directly."""
|
|
48
51
|
import httpx
|
|
49
52
|
from tenacity import (
|
|
50
53
|
AsyncRetrying,
|
|
@@ -58,18 +61,21 @@ async def _channel_request(
|
|
|
58
61
|
isinstance(e, httpx.HTTPStatusError) and e.response.status_code >= 500
|
|
59
62
|
)
|
|
60
63
|
|
|
61
|
-
async def request() ->
|
|
64
|
+
async def request() -> Response:
|
|
62
65
|
manager = (
|
|
63
66
|
contextlib.nullcontext(client)
|
|
64
67
|
if client is not None
|
|
65
68
|
else httpx.AsyncClient(timeout=STATE_TIMEOUT)
|
|
66
69
|
)
|
|
67
70
|
async with manager as request_client:
|
|
71
|
+
headers = {"Authorization": f"Bearer {secret}"}
|
|
72
|
+
if content is not None:
|
|
73
|
+
headers["Content-Type"] = "application/json"
|
|
68
74
|
resp = await request_client.request(
|
|
69
|
-
method, url,
|
|
75
|
+
method, url, content=content, headers=headers
|
|
70
76
|
)
|
|
71
77
|
resp.raise_for_status()
|
|
72
|
-
return resp
|
|
78
|
+
return resp
|
|
73
79
|
|
|
74
80
|
return await AsyncRetrying(
|
|
75
81
|
stop=stop_after_attempt(STATE_RETRIES + 1),
|
|
@@ -158,6 +164,8 @@ class ServerBase(Generic[ConfigT, StateT]):
|
|
|
158
164
|
def __init__(self, config: ConfigT) -> None:
|
|
159
165
|
self.config = config
|
|
160
166
|
self._state_cls = state_cls(type(self))
|
|
167
|
+
# Reuse Pydantic's public byte serializer/validator across state-channel calls.
|
|
168
|
+
self._state_adapter = TypeAdapter(self._state_cls)
|
|
161
169
|
self._inert_state: StateT = self._state_cls() # type: ignore[assignment]
|
|
162
170
|
"""A fresh state used outside a tool/respond call (setup, or a manual debug run) — there's
|
|
163
171
|
no channel to sync, so writes to it don't escape the process (matches the no-channel case)."""
|
|
@@ -188,27 +196,31 @@ class ServerBase(Generic[ConfigT, StateT]):
|
|
|
188
196
|
"""Fetch the in-flight call's shared state from the channel (so it reflects other servers'
|
|
189
197
|
writes); a fresh inert state when there's no channel."""
|
|
190
198
|
url, secret = self._state_channel()
|
|
191
|
-
cls = self._state_cls
|
|
192
199
|
if not url:
|
|
193
|
-
return
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
200
|
+
return self._state_cls()
|
|
201
|
+
response = await _channel_request("GET", url, secret, client=self._state_client)
|
|
202
|
+
try:
|
|
203
|
+
return self._state_adapter.validate_json(response.content)
|
|
204
|
+
except ValidationError as e:
|
|
205
|
+
# Excessively nested or otherwise invalid state is a broken channel contract.
|
|
206
|
+
logger.warning(
|
|
207
|
+
"state pull rejected for %s: %s", self._state_cls.__name__, e
|
|
208
|
+
)
|
|
209
|
+
raise
|
|
197
210
|
|
|
198
|
-
async def _push_state(self, before:
|
|
211
|
+
async def _push_state(self, before: bytes) -> None:
|
|
199
212
|
"""Push the in-flight call's `self.state` back to the shared channel if it changed. No-op
|
|
200
213
|
without a channel or when nothing changed."""
|
|
201
214
|
url, secret = self._state_channel()
|
|
202
215
|
if not url:
|
|
203
216
|
return
|
|
204
217
|
state = _call_state.get()
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
)
|
|
218
|
+
current = state if state is not None else self._inert_state
|
|
219
|
+
after = self._state_adapter.dump_json(current)
|
|
208
220
|
if after == before:
|
|
209
221
|
return
|
|
210
222
|
await _channel_request(
|
|
211
|
-
"PUT", url, secret,
|
|
223
|
+
"PUT", url, secret, content=after, client=self._state_client
|
|
212
224
|
)
|
|
213
225
|
|
|
214
226
|
async def _fetch_task(self, state_url: str | None, secret: str):
|
|
@@ -222,7 +234,7 @@ class ServerBase(Generic[ConfigT, StateT]):
|
|
|
222
234
|
if state_url.endswith("/state")
|
|
223
235
|
else state_url
|
|
224
236
|
)
|
|
225
|
-
data = await _channel_request("GET", task_url, secret)
|
|
237
|
+
data = (await _channel_request("GET", task_url, secret)).json()
|
|
226
238
|
return _import_ref(data["cls"]).model_validate_json(data["task"])
|
|
227
239
|
|
|
228
240
|
async def _setup_task_from_channel(
|
|
@@ -253,7 +265,8 @@ class ServerBase(Generic[ConfigT, StateT]):
|
|
|
253
265
|
state = await self._pull_state()
|
|
254
266
|
token = _call_state.set(state)
|
|
255
267
|
try:
|
|
256
|
-
|
|
268
|
+
# Reuse the second serialization as the PUT body when the callback mutates state.
|
|
269
|
+
before = self._state_adapter.dump_json(state)
|
|
257
270
|
result = fn(*args, **kwargs)
|
|
258
271
|
if inspect.isawaitable(result):
|
|
259
272
|
result = await result
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/tests/v1/fixtures/tool_response_image_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/clients/anthropic_messages_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/clients/openai_completions_client.py
RENAMED
|
File without changes
|
{verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/clients/openai_responses_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/cli_agent_env.py
RENAMED
|
File without changes
|
{verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/verifiers/envs/experimental/composable/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev359 → verifiers-0.1.15.dev360}/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
|