verifiers 0.1.15.dev8__tar.gz → 0.1.15.dev9__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.dev8 → verifiers-0.1.15.dev9}/PKG-INFO +10 -6
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/README.md +9 -5
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_envs.py +7 -3
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_imports.py +20 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_rlm_env.py +1 -40
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_tool_utils.py +11 -6
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_v1_config_extension.py +196 -714
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_v1_harbor_cli.py +5 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_v1_taskset_bindings.py +84 -2
- verifiers-0.1.15.dev9/tests/test_v1_textarena_taskset.py +219 -0
- verifiers-0.1.15.dev9/tests/test_wordle_v1_env.py +118 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/__init__.py +7 -7
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/clients/renderer_client.py +0 -13
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/env_group.py +0 -16
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/environment.py +0 -11
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/sandbox_env.py +1 -5
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/gepa/display.py +2 -2
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rubrics/rubric.py +0 -21
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/scripts/init.py +36 -45
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/async_utils.py +0 -8
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/client_utils.py +0 -7
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/data_utils.py +0 -52
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/display_utils.py +1 -23
- verifiers-0.1.15.dev9/verifiers/utils/env_utils.py +259 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/error_utils.py +0 -10
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/message_utils.py +0 -6
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/thread_utils.py +0 -12
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/tool_utils.py +1 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/ENVIRONMENT_BEST_PRACTICES.md +54 -53
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/README.md +56 -64
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/RE_MIGRATION.md +23 -16
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/__init__.py +12 -3
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/config.py +5 -129
- verifiers-0.1.15.dev9/verifiers/v1/env.py +180 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/harness.py +11 -13
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/packages/harnesses/command.py +1 -1
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/packages/harnesses/configs.py +1 -1
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/packages/harnesses/mini_swe_agent.py +3 -3
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/packages/harnesses/opencode.py +3 -3
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/packages/harnesses/pi.py +4 -4
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/packages/harnesses/rlm.py +3 -2
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/packages/harnesses/terminus_2.py +3 -3
- verifiers-0.1.15.dev9/verifiers/v1/packages/tasksets/__init__.py +17 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/packages/tasksets/harbor.py +4 -2
- verifiers-0.1.15.dev9/verifiers/v1/packages/tasksets/textarena.py +153 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/runtime.py +42 -10
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/taskset.py +11 -9
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/types.py +1 -1
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/config_utils.py +2 -68
- verifiers-0.1.15.dev9/verifiers/v1/utils/object_utils.py +59 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/runtime_owner_utils.py +1 -6
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/scoring_utils.py +0 -13
- verifiers-0.1.15.dev8/verifiers/utils/env_utils.py +0 -195
- verifiers-0.1.15.dev8/verifiers/utils/tunnel_utils.py +0 -266
- verifiers-0.1.15.dev8/verifiers/v1/env.py +0 -351
- verifiers-0.1.15.dev8/verifiers/v1/packages/tasksets/__init__.py +0 -3
- verifiers-0.1.15.dev8/verifiers/v1/utils/component_utils.py +0 -136
- verifiers-0.1.15.dev8/verifiers/v1/utils/object_utils.py +0 -52
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/.gitignore +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/LICENSE +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/pyproject.toml +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/AGENTS.md +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/README.md +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/conftest.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_browser_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_build_script.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_client_config.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_composable_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_env_group.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_env_server.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_environment.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_environment_extra.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_error_chain.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_eval_cli.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_eval_display.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_eval_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_gym_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_install_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_interception_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_langchain_deep_agents_wikispeedia.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_lean_task.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_logging.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_math_rubric.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_mcp_search_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_message_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_opencode_harbor.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_openenv_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_parser.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_path_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_renderer_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_rubric.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_rubric_group.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_save_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_setup_script.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_think_parser.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_tool_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_types.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_v1_bfcl.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_v1_empty_completions.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_v1_endpoint_protocols.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_v1_example_counts.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_v1_group_reward_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_v1_mini_swe_agent.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_v1_rlm_swe.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_v1_runtime_lifecycle.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_v1_scoring_functions.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_wiki_search_v1.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_wordle_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/tests/test_xml_parser.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/AGENTS.md +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/cli/commands/build.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/cli/commands/eval.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/cli/commands/gepa.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/cli/commands/install.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/cli/commands/setup.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/cli/tui.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/clients/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/clients/anthropic_messages_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/clients/client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/clients/openai_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/clients/openai_completions_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/clients/openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/decorators.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/AGENTS.md +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/README.md +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/README.md +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/composable_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/harness.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/task.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/lean/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/lean/lean_task.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/swe/_test_patch.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/swe/create_fix_patch.sh +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/swe/log_parser.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/swe/openswe.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2_log_parsers.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/gym_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/harbor_env/env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/mcp_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/opencode_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/rlm_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/integrations/README.md +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/integrations/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/integrations/openenv_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/integrations/textarena_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/multiturn_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/python_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/singleturn_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/envs/tool_env.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/errors.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/gepa/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/gepa/adapter.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/gepa/config.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/gepa/gepa_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/parsers/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/parsers/maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/parsers/parser.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/parsers/think_parser.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/parsers/xml_parser.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rl/README.md +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rl/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rl/inference/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rl/inference/client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rl/inference/server.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rl/trainer/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rl/trainer/config.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rl/trainer/orchestrator.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rl/trainer/trainer.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rl/trainer/utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rubrics/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rubrics/judge_rubric.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rubrics/math_rubric.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/rubrics/rubric_group.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/scripts/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/scripts/build.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/scripts/eval.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/scripts/gepa.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/scripts/install.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/scripts/rl.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/scripts/setup.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/scripts/train.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/scripts/tui.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/scripts/vllm.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/serve/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/serve/client/env_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/serve/client/zmq_env_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/serve/server/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/serve/server/env_router.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/serve/server/env_server.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/serve/server/env_worker.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/serve/server/zmq_env_server.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/serve/types.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/types.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/config_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/env_config_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/eval_display.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/eval_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/heartbeat.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/import_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/install_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/interception_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/logging_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/metric_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/path_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/pricing_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/process_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/response_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/save_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/serve_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/threaded_sandbox_client.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/usage_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/utils/version_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/packages/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/packages/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/state.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/task.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/toolset.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/user.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/artifact_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/binding_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/config_callable_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/endpoint_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/json_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/judge_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/lifecycle_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/mcp_proxy_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/mcp_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/program_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/prompt_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/runtime_registry.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/sandbox_program_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/sandbox_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/serialization_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/task_freeze_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/taskset_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/timing_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/tool_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/trajectory_utils.py +0 -0
- {verifiers-0.1.15.dev8 → verifiers-0.1.15.dev9}/verifiers/v1/utils/usage_utils.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.dev9
|
|
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
|
|
@@ -227,7 +227,8 @@ class MyTasksetConfig(vf.TasksetConfig):
|
|
|
227
227
|
split: str = "train"
|
|
228
228
|
|
|
229
229
|
|
|
230
|
-
class MyTaskset(vf.Taskset
|
|
230
|
+
class MyTaskset(vf.Taskset):
|
|
231
|
+
config: MyTasksetConfig
|
|
231
232
|
_default_rewards = (contains_answer,)
|
|
232
233
|
|
|
233
234
|
def rows(self) -> list[dict[str, object]]:
|
|
@@ -242,12 +243,15 @@ class MyTaskset(vf.Taskset[MyTasksetConfig]):
|
|
|
242
243
|
return [row for row in rows if row["split"] == self.config.split]
|
|
243
244
|
|
|
244
245
|
|
|
245
|
-
|
|
246
|
-
|
|
246
|
+
def load_taskset(config: MyTasksetConfig) -> MyTaskset:
|
|
247
|
+
assert isinstance(config, MyTasksetConfig)
|
|
248
|
+
return MyTaskset(config=config)
|
|
247
249
|
|
|
248
250
|
|
|
249
|
-
def load_environment(config:
|
|
250
|
-
|
|
251
|
+
def load_environment(config: vf.EnvConfig) -> vf.Env:
|
|
252
|
+
taskset_config = config.taskset
|
|
253
|
+
assert isinstance(taskset_config, MyTasksetConfig)
|
|
254
|
+
return vf.Env(taskset=load_taskset(taskset_config))
|
|
251
255
|
```
|
|
252
256
|
If no harness is passed, `vf.Env` uses the base endpoint-backed harness. See
|
|
253
257
|
**[BYO Harness](docs/byo-harness.md)** for the advanced v1 taskset/harness API.
|
|
@@ -151,7 +151,8 @@ class MyTasksetConfig(vf.TasksetConfig):
|
|
|
151
151
|
split: str = "train"
|
|
152
152
|
|
|
153
153
|
|
|
154
|
-
class MyTaskset(vf.Taskset
|
|
154
|
+
class MyTaskset(vf.Taskset):
|
|
155
|
+
config: MyTasksetConfig
|
|
155
156
|
_default_rewards = (contains_answer,)
|
|
156
157
|
|
|
157
158
|
def rows(self) -> list[dict[str, object]]:
|
|
@@ -166,12 +167,15 @@ class MyTaskset(vf.Taskset[MyTasksetConfig]):
|
|
|
166
167
|
return [row for row in rows if row["split"] == self.config.split]
|
|
167
168
|
|
|
168
169
|
|
|
169
|
-
|
|
170
|
-
|
|
170
|
+
def load_taskset(config: MyTasksetConfig) -> MyTaskset:
|
|
171
|
+
assert isinstance(config, MyTasksetConfig)
|
|
172
|
+
return MyTaskset(config=config)
|
|
171
173
|
|
|
172
174
|
|
|
173
|
-
def load_environment(config:
|
|
174
|
-
|
|
175
|
+
def load_environment(config: vf.EnvConfig) -> vf.Env:
|
|
176
|
+
taskset_config = config.taskset
|
|
177
|
+
assert isinstance(taskset_config, MyTasksetConfig)
|
|
178
|
+
return vf.Env(taskset=load_taskset(taskset_config))
|
|
175
179
|
```
|
|
176
180
|
If no harness is passed, `vf.Env` uses the base endpoint-backed harness. See
|
|
177
181
|
**[BYO Harness](docs/byo-harness.md)** for the advanced v1 taskset/harness API.
|
|
@@ -216,10 +216,14 @@ def help_test_can_load_env(tmp_venv_dir: Path, env_dir: Path):
|
|
|
216
216
|
|
|
217
217
|
def help_test_can_eval_env(tmp_venv_dir: Path, env_dir: Path):
|
|
218
218
|
"""Test that the environment can be run via vf-eval."""
|
|
219
|
-
if os.getenv("
|
|
220
|
-
|
|
221
|
-
|
|
219
|
+
if env_dir.name == "tau2_bench_v1" and not os.getenv("PRIME_API_KEY"):
|
|
220
|
+
pytest.skip(
|
|
221
|
+
"Skipping tau2 default eval because PRIME_API_KEY is not configured"
|
|
222
|
+
)
|
|
223
|
+
if os.getenv("PRIME_API_KEY"):
|
|
222
224
|
model_flags = "-m openai/gpt-4.1-mini -b https://api.pinference.ai/api/v1 -k PRIME_API_KEY"
|
|
225
|
+
elif os.getenv("OPENAI_API_KEY"):
|
|
226
|
+
model_flags = "-m gpt-4.1-mini -b https://api.openai.com/v1 -k OPENAI_API_KEY"
|
|
223
227
|
else:
|
|
224
228
|
pytest.skip("Skipping vf-eval smoke test because no API key is configured")
|
|
225
229
|
|
|
@@ -1,6 +1,26 @@
|
|
|
1
|
+
import importlib
|
|
2
|
+
import sys
|
|
3
|
+
|
|
1
4
|
import verifiers
|
|
2
5
|
|
|
3
6
|
|
|
7
|
+
def test_v1_taskset_imports_do_not_import_textarena():
|
|
8
|
+
textarena_module = "verifiers.v1.packages.tasksets.textarena"
|
|
9
|
+
sys.modules.pop(textarena_module, None)
|
|
10
|
+
|
|
11
|
+
tasksets = importlib.import_module("verifiers.v1.packages.tasksets")
|
|
12
|
+
tasksets.__dict__.pop("TextArenaTaskset", None)
|
|
13
|
+
tasksets.__dict__.pop("TextArenaTasksetConfig", None)
|
|
14
|
+
importlib.reload(tasksets)
|
|
15
|
+
assert textarena_module not in sys.modules
|
|
16
|
+
|
|
17
|
+
v1 = importlib.import_module("verifiers.v1")
|
|
18
|
+
v1.__dict__.pop("TextArenaTaskset", None)
|
|
19
|
+
v1.__dict__.pop("TextArenaTasksetConfig", None)
|
|
20
|
+
importlib.reload(v1)
|
|
21
|
+
assert textarena_module not in sys.modules
|
|
22
|
+
|
|
23
|
+
|
|
4
24
|
class TestImports:
|
|
5
25
|
"""Test that all public API imports work correctly.
|
|
6
26
|
This was inspired by issue #349.
|
|
@@ -1467,46 +1467,7 @@ class TestSubLLMTrajectorySteps:
|
|
|
1467
1467
|
|
|
1468
1468
|
|
|
1469
1469
|
# =============================================================================
|
|
1470
|
-
# 13.
|
|
1471
|
-
# =============================================================================
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
class TestExtractTunnelUrlFromLine:
|
|
1475
|
-
def test_extract_valid_url(self):
|
|
1476
|
-
from verifiers.utils.tunnel_utils import extract_tunnel_url_from_line
|
|
1477
|
-
|
|
1478
|
-
line = (
|
|
1479
|
-
"2024-01-01 12:00:00 INF https://random-words.trycloudflare.com registered"
|
|
1480
|
-
)
|
|
1481
|
-
url = extract_tunnel_url_from_line(line)
|
|
1482
|
-
assert url == "https://random-words.trycloudflare.com"
|
|
1483
|
-
|
|
1484
|
-
def test_return_none_for_no_url(self):
|
|
1485
|
-
from verifiers.utils.tunnel_utils import extract_tunnel_url_from_line
|
|
1486
|
-
|
|
1487
|
-
line = "Starting cloudflared tunnel..."
|
|
1488
|
-
url = extract_tunnel_url_from_line(line)
|
|
1489
|
-
assert url is None
|
|
1490
|
-
|
|
1491
|
-
def test_handle_trailing_characters(self):
|
|
1492
|
-
from verifiers.utils.tunnel_utils import extract_tunnel_url_from_line
|
|
1493
|
-
|
|
1494
|
-
line = "https://test-tunnel.trycloudflare.com/path?query=1 some text"
|
|
1495
|
-
url = extract_tunnel_url_from_line(line)
|
|
1496
|
-
assert url is not None
|
|
1497
|
-
assert url.startswith("https://")
|
|
1498
|
-
assert ".trycloudflare.com" in url
|
|
1499
|
-
|
|
1500
|
-
def test_no_https_prefix(self):
|
|
1501
|
-
from verifiers.utils.tunnel_utils import extract_tunnel_url_from_line
|
|
1502
|
-
|
|
1503
|
-
line = "something.trycloudflare.com without https"
|
|
1504
|
-
url = extract_tunnel_url_from_line(line)
|
|
1505
|
-
assert url is None
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
# =============================================================================
|
|
1509
|
-
# 14. RLM Exception Hierarchy
|
|
1470
|
+
# 13. RLM Exception Hierarchy
|
|
1510
1471
|
# =============================================================================
|
|
1511
1472
|
|
|
1512
1473
|
|
|
@@ -7,6 +7,10 @@ from pydantic import Field
|
|
|
7
7
|
from verifiers.utils.tool_utils import convert_func_to_tool_def
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
def tool_dump_without_strict(tool):
|
|
11
|
+
return tool.model_dump(exclude={"strict"}, exclude_none=True)
|
|
12
|
+
|
|
13
|
+
|
|
10
14
|
class TestToolUtils:
|
|
11
15
|
"""Test cases for the tool_utils module."""
|
|
12
16
|
|
|
@@ -28,7 +32,8 @@ class TestToolUtils:
|
|
|
28
32
|
return 1.0
|
|
29
33
|
|
|
30
34
|
result = convert_func_to_tool_def(test_func)
|
|
31
|
-
assert result.
|
|
35
|
+
assert result.strict is True
|
|
36
|
+
assert tool_dump_without_strict(result) == {
|
|
32
37
|
"name": "test_func",
|
|
33
38
|
"description": "This is a test function.",
|
|
34
39
|
"parameters": {
|
|
@@ -63,7 +68,7 @@ class TestToolUtils:
|
|
|
63
68
|
return 1.0
|
|
64
69
|
|
|
65
70
|
result = convert_func_to_tool_def(test_func)
|
|
66
|
-
assert result
|
|
71
|
+
assert tool_dump_without_strict(result) == {
|
|
67
72
|
"name": "test_func",
|
|
68
73
|
"description": "",
|
|
69
74
|
"parameters": {
|
|
@@ -94,7 +99,7 @@ class TestToolUtils:
|
|
|
94
99
|
return None
|
|
95
100
|
|
|
96
101
|
result = convert_func_to_tool_def(test_func)
|
|
97
|
-
assert result
|
|
102
|
+
assert tool_dump_without_strict(result) == {
|
|
98
103
|
"name": "test_func",
|
|
99
104
|
"description": "",
|
|
100
105
|
"parameters": {
|
|
@@ -121,7 +126,7 @@ class TestToolUtils:
|
|
|
121
126
|
return None
|
|
122
127
|
|
|
123
128
|
result = convert_func_to_tool_def(test_func)
|
|
124
|
-
assert result
|
|
129
|
+
assert tool_dump_without_strict(result) == {
|
|
125
130
|
"name": "test_func",
|
|
126
131
|
"description": "",
|
|
127
132
|
"parameters": {
|
|
@@ -147,7 +152,7 @@ class TestToolUtils:
|
|
|
147
152
|
return None
|
|
148
153
|
|
|
149
154
|
result = convert_func_to_tool_def(test_func)
|
|
150
|
-
assert result
|
|
155
|
+
assert tool_dump_without_strict(result) == {
|
|
151
156
|
"name": "test_func",
|
|
152
157
|
"description": "This is a test function.",
|
|
153
158
|
"parameters": {
|
|
@@ -171,7 +176,7 @@ class TestToolUtils:
|
|
|
171
176
|
return None
|
|
172
177
|
|
|
173
178
|
result = convert_func_to_tool_def(test_func)
|
|
174
|
-
assert result
|
|
179
|
+
assert tool_dump_without_strict(result) == {
|
|
175
180
|
"name": "test_func",
|
|
176
181
|
"description": "Search pages.",
|
|
177
182
|
"parameters": {
|