verifiers 0.2.2.dev34__tar.gz → 0.2.2.dev35__tar.gz

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