verifiers 0.3.1.dev10__tar.gz → 0.3.1.dev12__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.3.1.dev10 → verifiers-0.3.1.dev12}/PKG-INFO +1 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/pyproject.toml +24 -18
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/conftest.py +4 -34
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/test_color_codeword_tasks.py +1 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/test_configs.py +1 -2
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/test_e2e.py +3 -3
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/test_envs.py +11 -9
- verifiers-0.3.1.dev12/tests/v1/test_scoring.py +101 -0
- verifiers-0.3.1.dev12/verifiers/__init__.py +103 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/cli/commands/build.py +1 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/cli/commands/eval.py +1 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/cli/commands/gepa.py +1 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/cli/commands/init.py +1 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/cli/commands/install.py +1 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/cli/commands/setup.py +1 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/cli/tui.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/__init__.py +25 -25
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/clients/__init__.py +13 -11
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/clients/anthropic_messages_client.py +4 -4
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/clients/client.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/clients/nemorl_chat_completions_client.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/clients/openai_chat_completions_client.py +4 -4
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/clients/openai_chat_completions_token_client.py +3 -3
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/clients/openai_completions_client.py +5 -5
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/clients/openai_responses_client.py +5 -5
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/clients/renderer_client.py +5 -5
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/env_group.py +5 -5
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/environment.py +20 -20
- verifiers-0.3.1.dev12/verifiers/legacy/envs/experimental/__init__.py +36 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/cli_agent_env.py +7 -7
- verifiers-0.3.1.dev12/verifiers/legacy/envs/experimental/composable/__init__.py +29 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/composable_env.py +8 -8
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/harness.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/harnesses/__init__.py +3 -3
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/harnesses/mini_swe_agent.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/harnesses/opencode.py +3 -3
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/harnesses/rlm.py +4 -4
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/sandbox_debug_env.py +3 -3
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/task.py +5 -5
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/__init__.py +8 -6
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/cp/cp_task.py +3 -3
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/harbor/cli_gym.py +3 -3
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/harbor/harbor.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/harbor/terminal_lego.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/math/math_task.py +7 -5
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/openswe/taskset.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +3 -3
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +3 -3
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/swe_tasksets.py +10 -10
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/gym_env.py +3 -3
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/harbor_env/env.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/harbor_env/mcp.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/mcp_env.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/opencode_env.py +5 -5
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/opencode_qa_env.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/opencode_rlm_env.py +8 -5
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/sandbox_mixin.py +4 -4
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/utils/__init__.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/utils/git_checkout_cache.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/integrations/browser_env/__init__.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/integrations/browser_env/browser_env.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/integrations/browser_env/modes/base.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/integrations/browser_env/modes/cua_mode.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/integrations/browser_env/modes/dom_mode.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/integrations/openenv_env.py +4 -4
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/integrations/reasoninggym_env.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/integrations/textarena_env.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/multiturn_env.py +5 -5
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/python_env.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/sandbox_env.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/singleturn_env.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/stateful_tool_env.py +3 -3
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/tool_env.py +4 -4
- verifiers-0.3.1.dev12/verifiers/legacy/gepa/__init__.py +14 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/gepa/adapter.py +7 -7
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/gepa/config.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/gepa/display.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/gepa/gepa_utils.py +1 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/parsers/maybe_think_parser.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/parsers/parser.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/parsers/think_parser.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/parsers/xml_parser.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/rubrics/experimental/hybrid_math_rubric.py +5 -5
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/rubrics/judge_rubric.py +4 -4
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/rubrics/math_rubric.py +6 -6
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/rubrics/rubric.py +5 -5
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/rubrics/rubric_group.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/scripts/eval.py +6 -6
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/scripts/gepa.py +11 -11
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/scripts/init.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/scripts/install.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/serve/__init__.py +7 -7
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/serve/client/env_client.py +3 -3
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/serve/client/zmq_env_client.py +4 -4
- verifiers-0.3.1.dev12/verifiers/legacy/serve/server/__init__.py +11 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/serve/server/env_router.py +5 -5
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/serve/server/env_server.py +6 -6
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/serve/server/env_worker.py +9 -9
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/serve/server/zmq_env_server.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/serve/types.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/types.py +3 -3
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/async_utils.py +5 -5
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/client_utils.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/display_utils.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/env_utils.py +3 -3
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/error_utils.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/eval_display.py +6 -6
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/eval_utils.py +17 -14
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/interception_utils.py +6 -4
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/logging_utils.py +4 -4
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/message_utils.py +2 -2
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/metric_utils.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/path_utils.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/pricing_utils.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/response_utils.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/save_utils.py +10 -8
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/threaded_sandbox_client.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/tool_utils.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/usage_utils.py +1 -1
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/version_utils.py +1 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/__init__.py +9 -3
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/dashboard/eval.py +6 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/eval/main.py +7 -21
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/eval/resume.py +12 -24
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/eval/runner.py +33 -100
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/gepa.py +1 -7
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/init.py +3 -13
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/output.py +3 -3
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/resume.py +2 -5
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/cli/env.py +3 -4
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/cli/eval.py +4 -34
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/cli/init.py +0 -2
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/client.py +1 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/env.py +3 -4
- verifiers-0.3.1.dev12/verifiers/v1/configs/task.py +64 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/episode.py +1 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/gepa/dataset.py +3 -3
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/rollout.py +2 -4
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/runtimes/limiters.py +1 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/serve/__init__.py +0 -8
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/serve/client.py +4 -35
- verifiers-0.3.1.dev12/verifiers/v1/serve/encoding.py +65 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/serve/pool.py +17 -38
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/serve/server.py +4 -41
- verifiers-0.3.1.dev12/verifiers/v1/serve/types.py +44 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/task.py +23 -4
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/types.py +1 -1
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/install.py +1 -1
- verifiers-0.3.1.dev12/verifiers/v1/utils/install_utils.py +239 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/loaders.py +58 -1
- verifiers-0.3.1.dev12/verifiers/v1/utils/paths.py +13 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/platform.py +2 -2
- verifiers-0.3.1.dev12/verifiers/v1/utils/prime_config.py +19 -0
- verifiers-0.3.1.dev10/tests/v1/fixtures/echo_multi_v0.py +0 -54
- verifiers-0.3.1.dev10/tests/v1/fixtures/echo_v0.py +0 -33
- verifiers-0.3.1.dev10/tests/v1/test_legacy.py +0 -44
- verifiers-0.3.1.dev10/tests/v1/test_scoring.py +0 -31
- verifiers-0.3.1.dev10/verifiers/envs/experimental/__init__.py +0 -36
- verifiers-0.3.1.dev10/verifiers/envs/experimental/composable/__init__.py +0 -29
- verifiers-0.3.1.dev10/verifiers/gepa/__init__.py +0 -14
- verifiers-0.3.1.dev10/verifiers/serve/server/__init__.py +0 -11
- verifiers-0.3.1.dev10/verifiers/v1/configs/legacy.py +0 -24
- verifiers-0.3.1.dev10/verifiers/v1/configs/task.py +0 -32
- verifiers-0.3.1.dev10/verifiers/v1/legacy.py +0 -580
- verifiers-0.3.1.dev10/verifiers/v1/serve/types.py +0 -86
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/.gitignore +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/LICENSE +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/README.md +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/conftest.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_browser_env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_build_script.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_client_config.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_composable_env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_env_group.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_env_server.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_environment.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_environment_extra.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_error_chain.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_eval_display.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_eval_utils.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_gym_env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_imports.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_init_script.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_install_utils.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_interception_utils.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_logging.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_math_rubric.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_message_utils.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_openenv_client.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_parser.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_path_utils.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_renderer_client.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_rubric.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_rubric_group.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_sandbox_debug_env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_save_utils.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_setup_script.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_think_parser.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_tool_env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_tool_utils.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_types.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/test_xml_parser.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/fixtures/duet_v1.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/test_graph.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/test_judges.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/test_taskset.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/tests/v1/test_trace.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/decorators.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/README.md +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/README.md +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/swe_debug_env.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/README.md +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/integrations/README.md +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/integrations/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/errors.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/parsers/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/rubrics/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/scripts/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/scripts/build.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/scripts/setup.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/scripts/tui.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/__init__.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/config_utils.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/data_utils.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/env_config_utils.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/heartbeat.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/import_utils.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/install_utils.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/process_utils.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/serve_utils.py +0 -0
- {verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/utils/thread_utils.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/acp/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/acp/runner.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/agent.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/debug.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/clients/base.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/agent.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/cli/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/cli/debug.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/cli/replay.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/cli/validate.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/judge.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/retries.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/configs/taskset.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/envs/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/envs/agentic_judge/env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/envs/best_of_n/env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/envs/single_agent/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/envs/single_agent/env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/envs/user_sim/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/envs/user_sim/env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/errors.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/graph.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/bash/program.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/browser_use/program.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/node.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/null/program.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/pool/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/pool/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/judge.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/runtimes/docker/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/runtimes/docker/egress.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/session.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/state.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/harbor/env.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/lean/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/lean/scoring.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/lean/taskset.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/trace.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/artifacts.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/compile.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/decorators.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/git.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/retries.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/score.py +0 -0
- {verifiers-0.3.1.dev10 → verifiers-0.3.1.dev12}/verifiers/v1/utils/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.3.1.
|
|
3
|
+
Version: 0.3.1.dev12
|
|
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
|
|
@@ -76,10 +76,10 @@ dev = [
|
|
|
76
76
|
# from this repo. The built-in tasksets/harnesses ship inside verifiers (verifiers/v1/...).
|
|
77
77
|
examples = [
|
|
78
78
|
"compact",
|
|
79
|
-
"gsm8k
|
|
80
|
-
"proposer-solver
|
|
81
|
-
"wordle
|
|
82
|
-
"kuhn-poker
|
|
79
|
+
"gsm8k", "glossary", "deepwiki", "wiki-search", "code-golf",
|
|
80
|
+
"proposer-solver", "reverse-text", "color-codeword",
|
|
81
|
+
"wordle", "openenv-wordle", "alphabet-sort", "scratchpad",
|
|
82
|
+
"kuhn-poker",
|
|
83
83
|
]
|
|
84
84
|
|
|
85
85
|
[project.optional-dependencies]
|
|
@@ -151,19 +151,19 @@ default = true
|
|
|
151
151
|
|
|
152
152
|
[tool.uv.sources]
|
|
153
153
|
compact = { path = "environments/compact", editable = true }
|
|
154
|
-
glossary
|
|
155
|
-
deepwiki
|
|
156
|
-
wiki-search
|
|
157
|
-
gsm8k
|
|
158
|
-
code-golf
|
|
159
|
-
proposer-solver
|
|
160
|
-
reverse-text
|
|
161
|
-
wordle
|
|
162
|
-
openenv-wordle
|
|
163
|
-
color-codeword
|
|
164
|
-
alphabet-sort
|
|
165
|
-
scratchpad
|
|
166
|
-
kuhn-poker
|
|
154
|
+
glossary = { path = "environments/glossary", editable = true }
|
|
155
|
+
deepwiki = { path = "environments/deepwiki", editable = true }
|
|
156
|
+
wiki-search = { path = "environments/wiki_search", editable = true }
|
|
157
|
+
gsm8k = { path = "environments/gsm8k", editable = true }
|
|
158
|
+
code-golf = { path = "environments/code_golf", editable = true }
|
|
159
|
+
proposer-solver = { path = "environments/proposer_solver", editable = true }
|
|
160
|
+
reverse-text = { path = "environments/reverse_text", editable = true }
|
|
161
|
+
wordle = { path = "environments/wordle", editable = true }
|
|
162
|
+
openenv-wordle = { path = "environments/openenv_wordle", editable = true }
|
|
163
|
+
color-codeword = { path = "environments/color_codeword", editable = true }
|
|
164
|
+
alphabet-sort = { path = "environments/alphabet_sort", editable = true }
|
|
165
|
+
scratchpad = { path = "environments/scratchpad", editable = true }
|
|
166
|
+
kuhn-poker = { path = "environments/kuhn_poker", editable = true }
|
|
167
167
|
|
|
168
168
|
[tool.uv.exclude-newer-package]
|
|
169
169
|
# Bounded cutoffs for the explicitly requested tool upgrades.
|
|
@@ -238,6 +238,12 @@ Documentation = "https://github.com/primeintellect-ai/verifiers"
|
|
|
238
238
|
Repository = "https://github.com/primeintellect-ai/verifiers.git"
|
|
239
239
|
Issues = "https://github.com/primeintellect-ai/verifiers/issues"
|
|
240
240
|
|
|
241
|
+
[tool.ruff.lint.isort]
|
|
242
|
+
# The legacy tree answers at both verifiers.* and verifiers.legacy.* (the
|
|
243
|
+
# package-root alias); path probing would classify the moved submodules as
|
|
244
|
+
# third-party, so pin the whole namespace first-party.
|
|
245
|
+
known-first-party = ["verifiers"]
|
|
246
|
+
|
|
241
247
|
[tool.pytest.ini_options]
|
|
242
248
|
minversion = "7.0"
|
|
243
249
|
testpaths = ["tests"]
|
|
@@ -300,7 +306,7 @@ redundant-cast = "ignore"
|
|
|
300
306
|
exclude = ["environments", "verifiers/v1"]
|
|
301
307
|
|
|
302
308
|
[[tool.ty.overrides]]
|
|
303
|
-
include = ["verifiers/envs/experimental/composable/tasksets/**"]
|
|
309
|
+
include = ["verifiers/legacy/envs/experimental/composable/tasksets/**"]
|
|
304
310
|
|
|
305
311
|
[tool.ty.overrides.rules]
|
|
306
312
|
unresolved-import = "ignore"
|
|
@@ -5,8 +5,7 @@ settings that still exercise the path, then assert on the resulting `Trace`(s)
|
|
|
5
5
|
not unit tests of individual components. They need a model API key (`PRIME_API_KEY`);
|
|
6
6
|
without one the `e2e`-marked tests skip (config parsing still runs).
|
|
7
7
|
|
|
8
|
-
`run_v1`
|
|
9
|
-
`run_legacy_eval` for a v0 env). Placement coverage (harness x harness runtime x tool
|
|
8
|
+
`run_v1` mirrors the eval CLI's server path (`run_eval`). Placement coverage (harness x harness runtime x tool
|
|
10
9
|
server runtime) is PAIRWISE, not a full cross product: each test carries a curated list of
|
|
11
10
|
combinations (in test_e2e.py) that hits every axis value and the cross-boundary pairs with
|
|
12
11
|
distinct networking. The full cross bought flake exposure and CI minutes, not coverage — add
|
|
@@ -46,9 +45,8 @@ from verifiers.v1.utils.loaders import load_environment
|
|
|
46
45
|
|
|
47
46
|
CI_MODEL = "openai/gpt-5.6-luna"
|
|
48
47
|
|
|
49
|
-
# Fixture tasksets
|
|
50
|
-
#
|
|
51
|
-
# v0 legacy bridge both resolve them by id (no install).
|
|
48
|
+
# Fixture tasksets (echo-v1, echo-agentic-v1) live in tests/v1/fixtures, added to the
|
|
49
|
+
# path via `pythonpath` in pyproject so the loader resolves them by id (no install).
|
|
52
50
|
|
|
53
51
|
# The placement fixtures translate one parametrized value each; the combinations live on
|
|
54
52
|
# the tests (`indirect=True`), so coverage is a visible, curated list — never an implicit
|
|
@@ -84,7 +82,7 @@ def pytest_configure(config) -> None:
|
|
|
84
82
|
"""Self-launching tool servers run `python -m <module>` in a fresh subprocess, which
|
|
85
83
|
inherits `PYTHONPATH` but not pytest's in-process `pythonpath`. Put the fixture dir on
|
|
86
84
|
`PYTHONPATH` so a fixture server module (e.g. `tool_response_image_v1`)
|
|
87
|
-
resolves there too — an installed example package (e.g. `
|
|
85
|
+
resolves there too — an installed example package (e.g. `glossary`) already would."""
|
|
88
86
|
fixtures = str(Path(__file__).parent / "fixtures")
|
|
89
87
|
existing = os.environ.get("PYTHONPATH", "")
|
|
90
88
|
if fixtures not in existing.split(os.pathsep):
|
|
@@ -231,31 +229,3 @@ async def live_ctx():
|
|
|
231
229
|
client=EvalClientConfig(),
|
|
232
230
|
sampling=SamplingConfig(max_tokens=2048),
|
|
233
231
|
)
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
@pytest.fixture
|
|
237
|
-
def run_v0():
|
|
238
|
-
"""Run a legacy v0 env through the v1 bridge (the eval CLI's `--legacy.id` path)."""
|
|
239
|
-
from verifiers.v1.legacy import run_legacy_eval
|
|
240
|
-
|
|
241
|
-
async def _run(
|
|
242
|
-
env_id: str,
|
|
243
|
-
*,
|
|
244
|
-
output_dir: Path,
|
|
245
|
-
n: int = 1,
|
|
246
|
-
max_tokens: int = 2048,
|
|
247
|
-
args: dict | None = None,
|
|
248
|
-
) -> list[Trace]:
|
|
249
|
-
config = EvalConfig(
|
|
250
|
-
legacy={"id": env_id, "args": args or {}},
|
|
251
|
-
model=CI_MODEL,
|
|
252
|
-
num_tasks=1,
|
|
253
|
-
num_rollouts=n,
|
|
254
|
-
sampling={"max_tokens": max_tokens},
|
|
255
|
-
rich=False,
|
|
256
|
-
output_dir=output_dir,
|
|
257
|
-
)
|
|
258
|
-
records = await run_legacy_eval(config)
|
|
259
|
-
return [t for r in records for t in r.traces]
|
|
260
|
-
|
|
261
|
-
return _run
|
|
@@ -23,5 +23,4 @@ CONFIGS = sorted(
|
|
|
23
23
|
@pytest.mark.parametrize("path", CONFIGS, ids=lambda p: p.name)
|
|
24
24
|
def test_eval_config_parses(path: Path) -> None:
|
|
25
25
|
config = EvalConfig.model_validate(tomllib.load(path.open("rb")))
|
|
26
|
-
|
|
27
|
-
assert config.env.taskset.id or config.id
|
|
26
|
+
assert config.env.taskset.id
|
|
@@ -301,7 +301,7 @@ async def test_shared_tool_isolation(
|
|
|
301
301
|
):
|
|
302
302
|
"""A shared writable tool isolates state across concurrent rollouts and runtimes."""
|
|
303
303
|
traces = await run_v1_server(
|
|
304
|
-
"scratchpad
|
|
304
|
+
"scratchpad",
|
|
305
305
|
harness="null",
|
|
306
306
|
runtime={"type": harness_runtime},
|
|
307
307
|
output_dir=tmp_path,
|
|
@@ -584,7 +584,7 @@ async def test_kuhn_poker_self_play(run_v1, tmp_path):
|
|
|
584
584
|
"""The turn-coupled proof env: one Kuhn poker hand, both seats live interactions
|
|
585
585
|
of the run's own model (self-play), refereed host-side, paid out zero-sum."""
|
|
586
586
|
traces = await run_v1(
|
|
587
|
-
"kuhn-poker
|
|
587
|
+
"kuhn-poker",
|
|
588
588
|
harness=None, # both seats pin the null harness themselves
|
|
589
589
|
output_dir=tmp_path,
|
|
590
590
|
max_turns=8,
|
|
@@ -646,7 +646,7 @@ async def test_replay_round_trip(run_v1, tmp_path):
|
|
|
646
646
|
|
|
647
647
|
run_dir = tmp_path / "run"
|
|
648
648
|
(source,) = await run_v1(
|
|
649
|
-
"reverse-text
|
|
649
|
+
"reverse-text",
|
|
650
650
|
harness="null",
|
|
651
651
|
runtime={"type": "subprocess"},
|
|
652
652
|
output_dir=run_dir,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"""Smoke-eval every
|
|
1
|
+
"""Smoke-eval every example taskset in `environments/` through the `eval` CLI.
|
|
2
2
|
|
|
3
|
-
Each
|
|
3
|
+
Each taskset runs with its required harness for one short, capped rollout, so a broken
|
|
4
4
|
example taskset fails CI. `compact` is excluded (it's a harness, not a taskset);
|
|
5
5
|
SWE/container tasksets need a docker/prime runtime and are covered by dedicated V1 e2e tests.
|
|
6
6
|
"""
|
|
@@ -18,15 +18,15 @@ EVAL_TIMEOUT = 600 # 10 minutes for a capped eval (-n 1 -r 1)
|
|
|
18
18
|
ENVIRONMENTS = Path(__file__).parent.parent.parent / "environments"
|
|
19
19
|
|
|
20
20
|
# V1 tasksets that aren't part of the default CI install.
|
|
21
|
-
SKIP_EVAL = {"
|
|
21
|
+
SKIP_EVAL = {"nemo_gym_weather"}
|
|
22
22
|
|
|
23
23
|
# Per-run caps are seat fields; recipe envs name their own seats.
|
|
24
24
|
SEATS: dict[str, tuple[str, ...]] = {
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
25
|
+
"code_golf": ("golfer",),
|
|
26
|
+
"kuhn_poker": ("player0", "player1"),
|
|
27
|
+
"openenv_wordle": ("player",),
|
|
28
|
+
"proposer_solver": ("proposer", "solver"),
|
|
29
|
+
"wordle": ("player",),
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
|
|
@@ -34,7 +34,9 @@ def v1_tasksets() -> list[str]:
|
|
|
34
34
|
if not ENVIRONMENTS.is_dir():
|
|
35
35
|
return []
|
|
36
36
|
return sorted(
|
|
37
|
-
d.name
|
|
37
|
+
d.name
|
|
38
|
+
for d in ENVIRONMENTS.iterdir()
|
|
39
|
+
if d.is_dir() and d.name != "compact" and (d / "pyproject.toml").exists()
|
|
38
40
|
)
|
|
39
41
|
|
|
40
42
|
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import verifiers.v1 as vf
|
|
2
|
+
from verifiers.v1.graph import MessageNode
|
|
3
|
+
from verifiers.v1.types import AssistantMessage, UserMessage
|
|
4
|
+
|
|
5
|
+
PLUGGED_FNS_PY = """
|
|
6
|
+
async def reply_length(trace) -> float:
|
|
7
|
+
return float(len(trace.last_reply or ""))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
async def exact_match(task, trace) -> float:
|
|
11
|
+
return float(task.answer in (trace.last_reply or ""))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
async def marker(trace) -> float:
|
|
15
|
+
return 0.125
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
async def two_turns(trace) -> bool:
|
|
19
|
+
return trace.num_turns >= 2
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class HookData(vf.TaskData):
|
|
24
|
+
answer: str = ""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class HookTask(vf.Task[HookData]):
|
|
28
|
+
@vf.stop
|
|
29
|
+
async def single_turn(self, trace: vf.Trace) -> bool:
|
|
30
|
+
return trace.num_turns >= 1
|
|
31
|
+
|
|
32
|
+
@vf.reward
|
|
33
|
+
async def lcs(self, trace: vf.Trace) -> float:
|
|
34
|
+
return 0.5
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
async def test_config_plugged_fns_merge_and_override(tmp_path) -> None:
|
|
38
|
+
fns = tmp_path / "fns.py"
|
|
39
|
+
fns.write_text(PLUGGED_FNS_PY)
|
|
40
|
+
config = vf.TaskConfig(
|
|
41
|
+
stops={"single_turn": vf.DecoratedFunctionConfig(fn=f"{fns}:two_turns")},
|
|
42
|
+
metrics={"reply_length": vf.DecoratedFunctionConfig(fn=f"{fns}:reply_length")},
|
|
43
|
+
rewards={
|
|
44
|
+
"exact_match": vf.RewardFunctionConfig(fn=f"{fns}:exact_match", weight=0.5),
|
|
45
|
+
"lcs": vf.RewardFunctionConfig(fn=f"{fns}:marker", weight=2.0),
|
|
46
|
+
},
|
|
47
|
+
)
|
|
48
|
+
task = HookTask(HookData(idx=0, prompt="abc", answer="cba"), config)
|
|
49
|
+
trace = vf.Trace(
|
|
50
|
+
agent=vf.AgentInfo(config=vf.AgentConfig()),
|
|
51
|
+
task=vf.TraceTask(type="HookTask", data=task.data),
|
|
52
|
+
nodes=[
|
|
53
|
+
MessageNode(parent=None, message=UserMessage(content="abc"), sampled=False),
|
|
54
|
+
MessageNode(
|
|
55
|
+
parent=0, message=AssistantMessage(content="cba"), sampled=True
|
|
56
|
+
),
|
|
57
|
+
],
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
# the plugged `single_turn` replaces the decorated one: no stop after one turn
|
|
61
|
+
(stop,) = task.hooks("stop")
|
|
62
|
+
assert stop.__name__ == "single_turn"
|
|
63
|
+
assert not await stop(trace)
|
|
64
|
+
|
|
65
|
+
await task.score(trace)
|
|
66
|
+
# `lcs` scored by the plugged marker (config wins the name clash), config weight
|
|
67
|
+
assert trace.rewards["lcs"].score == 0.125
|
|
68
|
+
assert trace.rewards["lcs"].weight == 2.0
|
|
69
|
+
assert trace.rewards["exact_match"].score == 1.0
|
|
70
|
+
assert trace.rewards["exact_match"].weight == 0.5
|
|
71
|
+
assert trace.metrics["reply_length"] == 3.0
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def test_compare_stdout_results_accepts_token_equal_text() -> None:
|
|
75
|
+
assert vf.compare_stdout_results("hello world\n", "hello world\n")
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def test_compare_stdout_results_keeps_numeric_tolerance() -> None:
|
|
79
|
+
assert vf.compare_stdout_results("1.0001 2.0\n", "1.0002 2.0009\n")
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def test_parse_pytest_outcomes_strips_xfail_xpass_reasons() -> None:
|
|
83
|
+
output = (
|
|
84
|
+
"XFAIL tests/test_mod.py::test_xfail - known bug - still tracked\n"
|
|
85
|
+
"XPASS tests/test_mod.py::test_xpass - always xfail - unexpectedly passed\n"
|
|
86
|
+
"FAILED tests/test_mod.py::test_param[a - b] - assert left - right\n"
|
|
87
|
+
"PASSED tests/test_mod.py::test_ok"
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
assert vf.parse_pytest_outcomes(output) == {
|
|
91
|
+
"tests/test_mod.py::test_xfail": "XFAIL",
|
|
92
|
+
"tests/test_mod.py::test_xpass": "XPASS",
|
|
93
|
+
"tests/test_mod.py::test_param[a - b]": "FAILED",
|
|
94
|
+
"tests/test_mod.py::test_ok": "PASSED",
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def test_parse_judge_choice_uses_first_choice_after_verdict_marker() -> None:
|
|
99
|
+
response = "Final Judgment: B because it is a better answer"
|
|
100
|
+
|
|
101
|
+
assert vf.parse_judge_choice(response, choices=("A", "B")) == "B"
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"""The verifiers package root.
|
|
2
|
+
|
|
3
|
+
The v1 stack lives in `verifiers.v1`; the classic (v0) stack lives in
|
|
4
|
+
`verifiers.legacy`. The v0 modules keep answering at their pre-move paths —
|
|
5
|
+
`verifiers.envs`, `verifiers.types`, `import verifiers as vf`, ... — through the
|
|
6
|
+
alias finder below, so importing this package root stays side-effect free (the
|
|
7
|
+
v0 surface only loads when something touches it).
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
import sys
|
|
11
|
+
from importlib import import_module
|
|
12
|
+
from importlib.abc import Loader, MetaPathFinder
|
|
13
|
+
from importlib.machinery import ModuleSpec
|
|
14
|
+
from importlib.metadata import PackageNotFoundError
|
|
15
|
+
from importlib.metadata import version as _version
|
|
16
|
+
from importlib.util import find_spec
|
|
17
|
+
from typing import TYPE_CHECKING
|
|
18
|
+
|
|
19
|
+
try:
|
|
20
|
+
__version__ = _version("verifiers")
|
|
21
|
+
except PackageNotFoundError: # source tree without install metadata
|
|
22
|
+
__version__ = "0.0.0+unknown"
|
|
23
|
+
|
|
24
|
+
# The v0 modules that moved under `verifiers.legacy` and stay importable at
|
|
25
|
+
# their old top-level paths.
|
|
26
|
+
LEGACY_MODULES = frozenset(
|
|
27
|
+
{
|
|
28
|
+
"clients",
|
|
29
|
+
"decorators",
|
|
30
|
+
"envs",
|
|
31
|
+
"errors",
|
|
32
|
+
"gepa",
|
|
33
|
+
"parsers",
|
|
34
|
+
"rubrics",
|
|
35
|
+
"scripts",
|
|
36
|
+
"serve",
|
|
37
|
+
"types",
|
|
38
|
+
"utils",
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class LegacyAliasFinder(MetaPathFinder, Loader):
|
|
44
|
+
"""Resolve `verifiers.<v0 module>` to `verifiers.legacy.<module>`.
|
|
45
|
+
|
|
46
|
+
The loaded module is the legacy module object itself (one instance, aliased
|
|
47
|
+
in `sys.modules` under both names), so `verifiers.types.State is
|
|
48
|
+
verifiers.legacy.types.State` and pre-move imports — including the absolute
|
|
49
|
+
ones inside the moved code — keep working. Installed at the *front* of
|
|
50
|
+
`sys.meta_path` so the path finder never re-executes an aliased package's
|
|
51
|
+
children under the old name.
|
|
52
|
+
"""
|
|
53
|
+
|
|
54
|
+
_prefix = "verifiers."
|
|
55
|
+
_legacy_prefix = "verifiers.legacy."
|
|
56
|
+
|
|
57
|
+
def find_spec(self, fullname, path=None, target=None):
|
|
58
|
+
if not fullname.startswith(self._prefix) or fullname.startswith(
|
|
59
|
+
self._legacy_prefix
|
|
60
|
+
):
|
|
61
|
+
return None
|
|
62
|
+
tail = fullname.removeprefix(self._prefix)
|
|
63
|
+
if tail.split(".", 1)[0] not in LEGACY_MODULES:
|
|
64
|
+
return None
|
|
65
|
+
try:
|
|
66
|
+
legacy_spec = find_spec(self._legacy_prefix + tail)
|
|
67
|
+
except ModuleNotFoundError:
|
|
68
|
+
legacy_spec = None
|
|
69
|
+
if legacy_spec is None: # unknown submodule: fail like any missing import
|
|
70
|
+
return None
|
|
71
|
+
spec = ModuleSpec(
|
|
72
|
+
fullname,
|
|
73
|
+
self,
|
|
74
|
+
origin=legacy_spec.origin,
|
|
75
|
+
is_package=legacy_spec.submodule_search_locations is not None,
|
|
76
|
+
)
|
|
77
|
+
return spec
|
|
78
|
+
|
|
79
|
+
def create_module(self, spec):
|
|
80
|
+
# The already-initialized legacy module keeps its own __name__/__spec__
|
|
81
|
+
# (`module_from_spec` only fills attributes that are missing).
|
|
82
|
+
return import_module(self._legacy_prefix + spec.name.removeprefix(self._prefix))
|
|
83
|
+
|
|
84
|
+
def exec_module(self, module):
|
|
85
|
+
pass # imported (or in progress) under its legacy name already
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
if not any(isinstance(finder, LegacyAliasFinder) for finder in sys.meta_path):
|
|
89
|
+
sys.meta_path.insert(0, LegacyAliasFinder())
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def __getattr__(name: str):
|
|
93
|
+
"""`vf.XMLParser`-style access forwards to the v0 surface in
|
|
94
|
+
`verifiers.legacy` (loaded on first touch). `__all__` forwards too, so
|
|
95
|
+
`from verifiers import *` keeps its pre-move meaning."""
|
|
96
|
+
if name.startswith("_") and name != "__all__":
|
|
97
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
98
|
+
legacy = import_module("verifiers.legacy")
|
|
99
|
+
return getattr(legacy, name)
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
if TYPE_CHECKING: # static view of the forwarded surface
|
|
103
|
+
from verifiers.legacy import *
|
|
@@ -109,39 +109,39 @@ __all__ = [
|
|
|
109
109
|
]
|
|
110
110
|
|
|
111
111
|
_LAZY_IMPORTS = {
|
|
112
|
-
"Client": "verifiers.clients.client:Client",
|
|
112
|
+
"Client": "verifiers.legacy.clients.client:Client",
|
|
113
113
|
"AnthropicMessagesClient": (
|
|
114
|
-
"verifiers.clients.anthropic_messages_client:AnthropicMessagesClient"
|
|
114
|
+
"verifiers.legacy.clients.anthropic_messages_client:AnthropicMessagesClient"
|
|
115
115
|
),
|
|
116
116
|
"OpenAIChatCompletionsClient": (
|
|
117
|
-
"verifiers.clients.openai_chat_completions_client:OpenAIChatCompletionsClient"
|
|
117
|
+
"verifiers.legacy.clients.openai_chat_completions_client:OpenAIChatCompletionsClient"
|
|
118
118
|
),
|
|
119
|
-
"RendererClient": ("verifiers.clients.renderer_client:RendererClient"),
|
|
119
|
+
"RendererClient": ("verifiers.legacy.clients.renderer_client:RendererClient"),
|
|
120
120
|
"OpenAICompletionsClient": (
|
|
121
|
-
"verifiers.clients.openai_completions_client:OpenAICompletionsClient"
|
|
121
|
+
"verifiers.legacy.clients.openai_completions_client:OpenAICompletionsClient"
|
|
122
122
|
),
|
|
123
123
|
"OpenAIResponsesClient": (
|
|
124
|
-
"verifiers.clients.openai_responses_client:OpenAIResponsesClient"
|
|
124
|
+
"verifiers.legacy.clients.openai_responses_client:OpenAIResponsesClient"
|
|
125
125
|
),
|
|
126
|
-
"Environment": "verifiers.envs.environment:Environment",
|
|
127
|
-
"MultiTurnEnv": "verifiers.envs.multiturn_env:MultiTurnEnv",
|
|
128
|
-
"SingleTurnEnv": "verifiers.envs.singleturn_env:SingleTurnEnv",
|
|
129
|
-
"StatefulToolEnv": "verifiers.envs.stateful_tool_env:StatefulToolEnv",
|
|
130
|
-
"ToolEnv": "verifiers.envs.tool_env:ToolEnv",
|
|
131
|
-
"EnvGroup": "verifiers.envs.env_group:EnvGroup",
|
|
132
|
-
"JudgeRubric": "verifiers.rubrics.judge_rubric:JudgeRubric",
|
|
133
|
-
"load_environment": "verifiers.utils.env_utils:load_environment",
|
|
134
|
-
"MathRubric": "verifiers.rubrics.math_rubric:MathRubric",
|
|
135
|
-
"SandboxEnv": "verifiers.envs.sandbox_env:SandboxEnv",
|
|
136
|
-
"PythonEnv": "verifiers.envs.python_env:PythonEnv",
|
|
137
|
-
"GymEnv": "verifiers.envs.experimental.gym_env:GymEnv",
|
|
138
|
-
"CliAgentEnv": "verifiers.envs.experimental.cli_agent_env:CliAgentEnv",
|
|
139
|
-
"HarborEnv": "verifiers.envs.experimental.harbor_env:HarborEnv",
|
|
140
|
-
"MCPEnv": "verifiers.envs.experimental.mcp_env:MCPEnv",
|
|
141
|
-
"ReasoningGymEnv": "verifiers.envs.integrations.reasoninggym_env:ReasoningGymEnv",
|
|
142
|
-
"TextArenaEnv": "verifiers.envs.integrations.textarena_env:TextArenaEnv",
|
|
143
|
-
"BrowserEnv": "verifiers.envs.integrations.browser_env:BrowserEnv",
|
|
144
|
-
"OpenEnvEnv": "verifiers.envs.integrations.openenv_env:OpenEnvEnv",
|
|
126
|
+
"Environment": "verifiers.legacy.envs.environment:Environment",
|
|
127
|
+
"MultiTurnEnv": "verifiers.legacy.envs.multiturn_env:MultiTurnEnv",
|
|
128
|
+
"SingleTurnEnv": "verifiers.legacy.envs.singleturn_env:SingleTurnEnv",
|
|
129
|
+
"StatefulToolEnv": "verifiers.legacy.envs.stateful_tool_env:StatefulToolEnv",
|
|
130
|
+
"ToolEnv": "verifiers.legacy.envs.tool_env:ToolEnv",
|
|
131
|
+
"EnvGroup": "verifiers.legacy.envs.env_group:EnvGroup",
|
|
132
|
+
"JudgeRubric": "verifiers.legacy.rubrics.judge_rubric:JudgeRubric",
|
|
133
|
+
"load_environment": "verifiers.legacy.utils.env_utils:load_environment",
|
|
134
|
+
"MathRubric": "verifiers.legacy.rubrics.math_rubric:MathRubric",
|
|
135
|
+
"SandboxEnv": "verifiers.legacy.envs.sandbox_env:SandboxEnv",
|
|
136
|
+
"PythonEnv": "verifiers.legacy.envs.python_env:PythonEnv",
|
|
137
|
+
"GymEnv": "verifiers.legacy.envs.experimental.gym_env:GymEnv",
|
|
138
|
+
"CliAgentEnv": "verifiers.legacy.envs.experimental.cli_agent_env:CliAgentEnv",
|
|
139
|
+
"HarborEnv": "verifiers.legacy.envs.experimental.harbor_env:HarborEnv",
|
|
140
|
+
"MCPEnv": "verifiers.legacy.envs.experimental.mcp_env:MCPEnv",
|
|
141
|
+
"ReasoningGymEnv": "verifiers.legacy.envs.integrations.reasoninggym_env:ReasoningGymEnv",
|
|
142
|
+
"TextArenaEnv": "verifiers.legacy.envs.integrations.textarena_env:TextArenaEnv",
|
|
143
|
+
"BrowserEnv": "verifiers.legacy.envs.integrations.browser_env:BrowserEnv",
|
|
144
|
+
"OpenEnvEnv": "verifiers.legacy.envs.integrations.openenv_env:OpenEnvEnv",
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
|
{verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/clients/__init__.py
RENAMED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
# ruff: noqa
|
|
2
2
|
|
|
3
|
-
from verifiers.clients.anthropic_messages_client import AnthropicMessagesClient
|
|
4
|
-
from verifiers.clients.client import Client
|
|
5
|
-
from verifiers.clients.nemorl_chat_completions_client import (
|
|
3
|
+
from verifiers.legacy.clients.anthropic_messages_client import AnthropicMessagesClient
|
|
4
|
+
from verifiers.legacy.clients.client import Client
|
|
5
|
+
from verifiers.legacy.clients.nemorl_chat_completions_client import (
|
|
6
6
|
NeMoRLChatCompletionsClient,
|
|
7
7
|
)
|
|
8
|
-
from verifiers.clients.openai_chat_completions_client import
|
|
9
|
-
|
|
8
|
+
from verifiers.legacy.clients.openai_chat_completions_client import (
|
|
9
|
+
OpenAIChatCompletionsClient,
|
|
10
|
+
)
|
|
11
|
+
from verifiers.legacy.clients.openai_chat_completions_token_client import (
|
|
10
12
|
OpenAIChatCompletionsTokenClient,
|
|
11
13
|
)
|
|
12
|
-
from verifiers.clients.openai_completions_client import OpenAICompletionsClient
|
|
13
|
-
from verifiers.clients.openai_responses_client import OpenAIResponsesClient
|
|
14
|
-
from verifiers.types import ClientConfig
|
|
14
|
+
from verifiers.legacy.clients.openai_completions_client import OpenAICompletionsClient
|
|
15
|
+
from verifiers.legacy.clients.openai_responses_client import OpenAIResponsesClient
|
|
16
|
+
from verifiers.legacy.types import ClientConfig
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
def resolve_client(client_or_config: Client | ClientConfig) -> Client:
|
|
@@ -31,7 +33,7 @@ def resolve_client(client_or_config: Client | ClientConfig) -> Client:
|
|
|
31
33
|
case "openai_responses":
|
|
32
34
|
return OpenAIResponsesClient(client_or_config)
|
|
33
35
|
case "renderer":
|
|
34
|
-
from verifiers.clients.renderer_client import RendererClient
|
|
36
|
+
from verifiers.legacy.clients.renderer_client import RendererClient
|
|
35
37
|
|
|
36
38
|
return RendererClient(client_or_config)
|
|
37
39
|
case "anthropic_messages":
|
|
@@ -44,10 +46,10 @@ def resolve_client(client_or_config: Client | ClientConfig) -> Client:
|
|
|
44
46
|
|
|
45
47
|
def __getattr__(name: str):
|
|
46
48
|
if name == "RendererClient":
|
|
47
|
-
from verifiers.clients.renderer_client import RendererClient
|
|
49
|
+
from verifiers.legacy.clients.renderer_client import RendererClient
|
|
48
50
|
|
|
49
51
|
return RendererClient
|
|
50
|
-
raise AttributeError(f"module 'verifiers.clients' has no attribute '{name}'")
|
|
52
|
+
raise AttributeError(f"module 'verifiers.legacy.clients' has no attribute '{name}'")
|
|
51
53
|
|
|
52
54
|
|
|
53
55
|
__all__ = [
|
|
@@ -30,9 +30,9 @@ from anthropic.types import (
|
|
|
30
30
|
ToolParam as AnthropicToolParam,
|
|
31
31
|
)
|
|
32
32
|
|
|
33
|
-
from verifiers.clients.client import Client
|
|
34
|
-
from verifiers.errors import EmptyModelResponseError, OverlongPromptError
|
|
35
|
-
from verifiers.types import (
|
|
33
|
+
from verifiers.legacy.clients.client import Client
|
|
34
|
+
from verifiers.legacy.errors import EmptyModelResponseError, OverlongPromptError
|
|
35
|
+
from verifiers.legacy.types import (
|
|
36
36
|
AssistantMessage,
|
|
37
37
|
ClientConfig,
|
|
38
38
|
FinishReason,
|
|
@@ -49,7 +49,7 @@ from verifiers.types import (
|
|
|
49
49
|
Usage,
|
|
50
50
|
UserMessage,
|
|
51
51
|
)
|
|
52
|
-
from verifiers.utils.client_utils import setup_anthropic_client
|
|
52
|
+
from verifiers.legacy.utils.client_utils import setup_anthropic_client
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
ANTHROPIC_ADAPTIVE_THINKING_MODELS = {
|
{verifiers-0.3.1.dev10/verifiers → verifiers-0.3.1.dev12/verifiers/legacy}/clients/client.py
RENAMED
|
@@ -13,8 +13,8 @@ from anthropic import (
|
|
|
13
13
|
from openai import AuthenticationError as OpenAIAuthenticationError
|
|
14
14
|
from openai import PermissionDeniedError as OpenAIPermissionDeniedError
|
|
15
15
|
|
|
16
|
-
from verifiers.errors import Error, ModelError
|
|
17
|
-
from verifiers.types import (
|
|
16
|
+
from verifiers.legacy.errors import Error, ModelError
|
|
17
|
+
from verifiers.legacy.types import (
|
|
18
18
|
ClientConfig,
|
|
19
19
|
Messages,
|
|
20
20
|
Response,
|