verifiers 0.2.1.dev8__tar.gz → 0.2.1.dev11__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 (409) hide show
  1. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/PKG-INFO +1 -1
  2. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/pyproject.toml +2 -1
  3. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/codex/harness.py +63 -2
  4. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/default/harness.py +7 -4
  5. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/default/program.py +7 -6
  6. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/null/harness.py +7 -4
  7. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/null/program.py +8 -6
  8. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/serve/pool.py +6 -23
  9. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/.gitignore +0 -0
  10. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/LICENSE +0 -0
  11. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/README.md +0 -0
  12. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/AGENTS.md +0 -0
  13. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/__init__.py +0 -0
  14. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/conftest.py +0 -0
  15. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_browser_env.py +0 -0
  16. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_build_script.py +0 -0
  17. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_cli_agent_env.py +0 -0
  18. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_client_auth_errors.py +0 -0
  19. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_client_config.py +0 -0
  20. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_client_multimodal_types.py +0 -0
  21. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_composable_env.py +0 -0
  22. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_context_token_metrics.py +0 -0
  23. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_decorator_ranks.py +0 -0
  24. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_endpoint_registry.py +0 -0
  25. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_env_group.py +0 -0
  26. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_env_server.py +0 -0
  27. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_environment.py +0 -0
  28. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_environment_extra.py +0 -0
  29. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_envs.py +0 -0
  30. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_error_chain.py +0 -0
  31. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_eval_display.py +0 -0
  32. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_eval_utils.py +0 -0
  33. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_gepa_cli.py +0 -0
  34. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_gepa_utils.py +0 -0
  35. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_gym_env.py +0 -0
  36. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_harbor_env_mcp.py +0 -0
  37. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_imports.py +0 -0
  38. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_init_script.py +0 -0
  39. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_install_utils.py +0 -0
  40. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_interception_utils.py +0 -0
  41. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_logging.py +0 -0
  42. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_math_rubric.py +0 -0
  43. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_maybe_think_parser.py +0 -0
  44. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_message_utils.py +0 -0
  45. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_message_utils_multimodal.py +0 -0
  46. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_multiturn_env.py +0 -0
  47. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_nemorl_client.py +0 -0
  48. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_openai_chat_completions_token_client.py +0 -0
  49. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_openai_responses_client.py +0 -0
  50. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_opencode_rlm_env.py +0 -0
  51. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_openenv_client.py +0 -0
  52. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_parser.py +0 -0
  53. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_path_utils.py +0 -0
  54. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_per_turn_timing.py +0 -0
  55. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_pricing_utils.py +0 -0
  56. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_prime_plugin.py +0 -0
  57. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_renderer_client.py +0 -0
  58. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_renderer_e2e.py +0 -0
  59. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_rlm_composable_env.py +0 -0
  60. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_rubric.py +0 -0
  61. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_rubric_group.py +0 -0
  62. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_sandbox_debug_env.py +0 -0
  63. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_sandbox_env.py +0 -0
  64. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_sandbox_mixin.py +0 -0
  65. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_save_utils.py +0 -0
  66. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_setup_script.py +0 -0
  67. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_singleturn_env.py +0 -0
  68. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_stateful_tool_env.py +0 -0
  69. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_think_parser.py +0 -0
  70. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_tool_env.py +0 -0
  71. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_tool_utils.py +0 -0
  72. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_trajectory_processing.py +0 -0
  73. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_tui_info_formatting.py +0 -0
  74. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_types.py +0 -0
  75. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_wordle_env.py +0 -0
  76. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/test_xml_parser.py +0 -0
  77. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/conftest.py +0 -0
  78. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/fixtures/counter_tool_v1.py +0 -0
  79. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
  80. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/fixtures/echo_multi_v0.py +0 -0
  81. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/fixtures/echo_tool_v1.py +0 -0
  82. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
  83. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/fixtures/echo_v0.py +0 -0
  84. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/fixtures/echo_v1.py +0 -0
  85. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/fixtures/pyproject.toml +0 -0
  86. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
  87. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/test_color_codeword_tasks.py +0 -0
  88. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/test_configs.py +0 -0
  89. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/test_e2e.py +0 -0
  90. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/test_envs.py +0 -0
  91. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/test_graph.py +0 -0
  92. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/test_judges.py +0 -0
  93. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/test_legacy.py +0 -0
  94. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/test_scoring.py +0 -0
  95. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/tests/v1/test_trace.py +0 -0
  96. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/__init__.py +0 -0
  97. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/cli/__init__.py +0 -0
  98. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/cli/commands/__init__.py +0 -0
  99. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/cli/commands/build.py +0 -0
  100. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/cli/commands/eval.py +0 -0
  101. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/cli/commands/gepa.py +0 -0
  102. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/cli/commands/init.py +0 -0
  103. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/cli/commands/install.py +0 -0
  104. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/cli/commands/setup.py +0 -0
  105. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/cli/plugins/__init__.py +0 -0
  106. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/cli/plugins/prime.py +0 -0
  107. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/cli/tui.py +0 -0
  108. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/clients/__init__.py +0 -0
  109. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/clients/anthropic_messages_client.py +0 -0
  110. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/clients/client.py +0 -0
  111. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
  112. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/clients/openai_chat_completions_client.py +0 -0
  113. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
  114. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/clients/openai_completions_client.py +0 -0
  115. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/clients/openai_responses_client.py +0 -0
  116. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/clients/renderer_client.py +0 -0
  117. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/decorators.py +0 -0
  118. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/AGENTS.md +0 -0
  119. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/__init__.py +0 -0
  120. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/env_group.py +0 -0
  121. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/environment.py +0 -0
  122. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/README.md +0 -0
  123. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/__init__.py +0 -0
  124. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/cli_agent_env.py +0 -0
  125. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/README.md +0 -0
  126. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/__init__.py +0 -0
  127. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/_filter.py +0 -0
  128. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/composable_env.py +0 -0
  129. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/harness.py +0 -0
  130. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
  131. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
  132. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
  133. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
  134. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
  135. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
  136. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
  137. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/task.py +0 -0
  138. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
  139. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
  140. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
  141. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
  142. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
  143. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
  144. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
  145. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
  146. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
  147. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
  148. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/README.md +0 -0
  149. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/__init__.py +0 -0
  150. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/openseeker/README.md +0 -0
  151. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/openseeker/__init__.py +0 -0
  152. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/openseeker/taskset.py +0 -0
  153. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/README.md +0 -0
  154. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/__init__.py +0 -0
  155. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/__init__.py +0 -0
  156. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/__init__.py +0 -0
  157. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/tool_pdf.py +0 -0
  158. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/eval_toolkit.py +0 -0
  159. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/evaluator.py +0 -0
  160. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/__init__.py +0 -0
  161. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/base_client.py +0 -0
  162. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/__init__.py +0 -0
  163. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/cache_prompts.py +0 -0
  164. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/__init__.py +0 -0
  165. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/cache_filesys.py +0 -0
  166. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/load_eval_script.py +0 -0
  167. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/misc.py +0 -0
  168. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/tool_visit.py +0 -0
  169. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/url_tools.py +0 -0
  170. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/verification_tree.py +0 -0
  171. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/open_ended.py +0 -0
  172. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/quest/taskset.py +0 -0
  173. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/README.md +0 -0
  174. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/__init__.py +0 -0
  175. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/taskset.py +0 -0
  176. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/search/search_tasksets.py +0 -0
  177. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
  178. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
  179. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
  180. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
  181. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
  182. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
  183. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
  184. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
  185. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
  186. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
  187. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
  188. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
  189. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
  190. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
  191. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
  192. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
  193. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
  194. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
  195. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
  196. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
  197. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
  198. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
  199. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
  200. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
  201. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/gym_env.py +0 -0
  202. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
  203. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/harbor_env/env.py +0 -0
  204. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
  205. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/mcp_env.py +0 -0
  206. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/opencode_env.py +0 -0
  207. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
  208. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
  209. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
  210. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/utils/__init__.py +0 -0
  211. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/utils/file_locks.py +0 -0
  212. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
  213. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/integrations/README.md +0 -0
  214. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/integrations/__init__.py +0 -0
  215. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/integrations/browser_env/README.md +0 -0
  216. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
  217. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
  218. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
  219. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
  220. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
  221. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
  222. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/integrations/openenv_env.py +0 -0
  223. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
  224. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/integrations/textarena_env.py +0 -0
  225. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/multiturn_env.py +0 -0
  226. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/python_env.py +0 -0
  227. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/sandbox_env.py +0 -0
  228. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/singleturn_env.py +0 -0
  229. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/stateful_tool_env.py +0 -0
  230. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/envs/tool_env.py +0 -0
  231. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/errors.py +0 -0
  232. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/gepa/__init__.py +0 -0
  233. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/gepa/adapter.py +0 -0
  234. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/gepa/config.py +0 -0
  235. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/gepa/display.py +0 -0
  236. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/gepa/gepa_utils.py +0 -0
  237. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/parsers/__init__.py +0 -0
  238. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/parsers/maybe_think_parser.py +0 -0
  239. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/parsers/parser.py +0 -0
  240. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/parsers/think_parser.py +0 -0
  241. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/parsers/xml_parser.py +0 -0
  242. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/rubrics/__init__.py +0 -0
  243. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
  244. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/rubrics/judge_rubric.py +0 -0
  245. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/rubrics/math_rubric.py +0 -0
  246. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/rubrics/rubric.py +0 -0
  247. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/rubrics/rubric_group.py +0 -0
  248. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/scripts/__init__.py +0 -0
  249. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/scripts/build.py +0 -0
  250. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/scripts/eval.py +0 -0
  251. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/scripts/gepa.py +0 -0
  252. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/scripts/init.py +0 -0
  253. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/scripts/install.py +0 -0
  254. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/scripts/setup.py +0 -0
  255. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/scripts/tui.py +0 -0
  256. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/serve/__init__.py +0 -0
  257. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/serve/client/env_client.py +0 -0
  258. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/serve/client/zmq_env_client.py +0 -0
  259. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/serve/server/__init__.py +0 -0
  260. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/serve/server/env_router.py +0 -0
  261. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/serve/server/env_server.py +0 -0
  262. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/serve/server/env_worker.py +0 -0
  263. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/serve/server/zmq_env_server.py +0 -0
  264. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/serve/types.py +0 -0
  265. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/types.py +0 -0
  266. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/__init__.py +0 -0
  267. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/async_utils.py +0 -0
  268. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/client_utils.py +0 -0
  269. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/config_utils.py +0 -0
  270. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/data_utils.py +0 -0
  271. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/display_utils.py +0 -0
  272. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/env_config_utils.py +0 -0
  273. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/env_utils.py +0 -0
  274. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/error_utils.py +0 -0
  275. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/eval_display.py +0 -0
  276. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/eval_utils.py +0 -0
  277. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/heartbeat.py +0 -0
  278. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/import_utils.py +0 -0
  279. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/install_utils.py +0 -0
  280. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/interception_utils.py +0 -0
  281. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/logging_utils.py +0 -0
  282. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/message_utils.py +0 -0
  283. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/metric_utils.py +0 -0
  284. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/path_utils.py +0 -0
  285. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/pricing_utils.py +0 -0
  286. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/process_utils.py +0 -0
  287. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/response_utils.py +0 -0
  288. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/save_utils.py +0 -0
  289. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/serve_utils.py +0 -0
  290. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/thread_utils.py +0 -0
  291. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/threaded_sandbox_client.py +0 -0
  292. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/tool_utils.py +0 -0
  293. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/usage_utils.py +0 -0
  294. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/utils/version_utils.py +0 -0
  295. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/__init__.py +0 -0
  296. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/__init__.py +0 -0
  297. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/dashboard/__init__.py +0 -0
  298. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/dashboard/base.py +0 -0
  299. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/dashboard/eval.py +0 -0
  300. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/dashboard/replay.py +0 -0
  301. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/dashboard/validate.py +0 -0
  302. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/debug.py +0 -0
  303. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/eval/__init__.py +0 -0
  304. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/eval/main.py +0 -0
  305. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/eval/resume.py +0 -0
  306. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/eval/runner.py +0 -0
  307. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/gepa.py +0 -0
  308. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/init.py +0 -0
  309. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/output.py +0 -0
  310. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/replay.py +0 -0
  311. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/resolve.py +0 -0
  312. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/serve.py +0 -0
  313. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/cli/validate.py +0 -0
  314. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/clients/__init__.py +0 -0
  315. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/clients/client.py +0 -0
  316. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/clients/config.py +0 -0
  317. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/clients/eval.py +0 -0
  318. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/clients/train.py +0 -0
  319. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/configs/__init__.py +0 -0
  320. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/configs/debug.py +0 -0
  321. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/configs/eval.py +0 -0
  322. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/configs/init.py +0 -0
  323. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/configs/replay.py +0 -0
  324. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/configs/serve.py +0 -0
  325. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/configs/validate.py +0 -0
  326. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/decorators.py +0 -0
  327. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/dialects/__init__.py +0 -0
  328. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/dialects/anthropic.py +0 -0
  329. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/dialects/base.py +0 -0
  330. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/dialects/chat.py +0 -0
  331. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/dialects/responses.py +0 -0
  332. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/env.py +0 -0
  333. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/episode.py +0 -0
  334. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/errors.py +0 -0
  335. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/gepa/__init__.py +0 -0
  336. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/gepa/adapter.py +0 -0
  337. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/gepa/config.py +0 -0
  338. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/gepa/dataset.py +0 -0
  339. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/gepa/reflection.py +0 -0
  340. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/gepa/runner.py +0 -0
  341. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/graph.py +0 -0
  342. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harness.py +0 -0
  343. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/__init__.py +0 -0
  344. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/codex/__init__.py +0 -0
  345. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/default/__init__.py +0 -0
  346. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
  347. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
  348. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
  349. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
  350. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
  351. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/null/__init__.py +0 -0
  352. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
  353. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/rlm/harness.py +0 -0
  354. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
  355. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
  356. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
  357. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/interception/__init__.py +0 -0
  358. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/interception/pool.py +0 -0
  359. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/interception/server.py +0 -0
  360. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/judge.py +0 -0
  361. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/judges/__init__.py +0 -0
  362. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/judges/reference.py +0 -0
  363. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/judges/reference.txt +0 -0
  364. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/judges/rubric.py +0 -0
  365. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/judges/rubric.txt +0 -0
  366. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/legacy.py +0 -0
  367. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/loaders.py +0 -0
  368. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/mcp/__init__.py +0 -0
  369. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/mcp/launch.py +0 -0
  370. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/mcp/server.py +0 -0
  371. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/mcp/toolset.py +0 -0
  372. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/mcp/user.py +0 -0
  373. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/push.py +0 -0
  374. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/retries.py +0 -0
  375. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/rollout.py +0 -0
  376. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/runtimes/__init__.py +0 -0
  377. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/runtimes/base.py +0 -0
  378. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/runtimes/docker.py +0 -0
  379. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/runtimes/limiters.py +0 -0
  380. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/runtimes/modal.py +0 -0
  381. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/runtimes/prime.py +0 -0
  382. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/runtimes/subprocess.py +0 -0
  383. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/scoring.py +0 -0
  384. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/serve/__init__.py +0 -0
  385. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/serve/client.py +0 -0
  386. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/serve/server.py +0 -0
  387. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/serve/types.py +0 -0
  388. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/state.py +0 -0
  389. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/task.py +0 -0
  390. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/taskset.py +0 -0
  391. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/tasksets/__init__.py +0 -0
  392. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
  393. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
  394. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/tasksets/lean/__init__.py +0 -0
  395. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/tasksets/lean/scoring.py +0 -0
  396. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/tasksets/lean/taskset.py +0 -0
  397. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
  398. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
  399. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/trace.py +0 -0
  400. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/types.py +0 -0
  401. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/utils/__init__.py +0 -0
  402. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/utils/aio.py +0 -0
  403. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/utils/format.py +0 -0
  404. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/utils/generic.py +0 -0
  405. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/utils/install.py +0 -0
  406. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/utils/interrupt.py +0 -0
  407. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/utils/logging.py +0 -0
  408. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/utils/memory.py +0 -0
  409. {verifiers-0.2.1.dev8 → verifiers-0.2.1.dev11}/verifiers/v1/utils/sampling.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: verifiers
3
- Version: 0.2.1.dev8
3
+ Version: 0.2.1.dev11
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
@@ -80,7 +80,7 @@ examples = [
80
80
  "compact",
81
81
  "gsm8k-v1", "glossary-v1", "deepwiki-v1", "wiki-search-v1", "code-golf-v1",
82
82
  "reverse-text-v1", "color-codeword-v1",
83
- "wordle-v1", "alphabet-sort-v1", "scratchpad-v1",
83
+ "wordle-v1", "alphabet-sort-v1", "scratchpad-v1", "mmmu-v1",
84
84
  ]
85
85
 
86
86
  [project.optional-dependencies]
@@ -148,6 +148,7 @@ wordle-v1 = { path = "environments/wordle_v1", editable = true }
148
148
  color-codeword-v1 = { path = "environments/color_codeword_v1", editable = true }
149
149
  alphabet-sort-v1 = { path = "environments/alphabet_sort_v1", editable = true }
150
150
  scratchpad-v1 = { path = "environments/scratchpad_v1", editable = true }
151
+ mmmu-v1 = { path = "environments/mmmu_v1", editable = true }
151
152
 
152
153
  [tool.uv.exclude-newer-package]
153
154
  # PrimeIntellect-published on PyPI (trusted publisher)
@@ -3,13 +3,16 @@
3
3
  The static musl binary runs in Linux containers without additional runtime dependencies.
4
4
  """
5
5
 
6
+ import base64
6
7
  import logging
8
+ import re
7
9
  import shlex
8
10
 
9
11
  from verifiers.v1.clients import ModelContext
10
12
  from verifiers.v1.harness import Harness, HarnessConfig
11
13
  from verifiers.v1.runtimes import ProgramResult, Runtime
12
14
  from verifiers.v1.trace import Trace
15
+ from verifiers.v1.types import TextContentPart
13
16
 
14
17
  logger = logging.getLogger(__name__)
15
18
 
@@ -42,6 +45,7 @@ class CodexHarnessConfig(HarnessConfig):
42
45
  class CodexHarness(Harness[CodexHarnessConfig]):
43
46
  APPENDS_SYSTEM_PROMPT = False # TODO
44
47
  SUPPORTS_MCP = False # TODO
48
+ SUPPORTS_MESSAGE_PROMPT = True
45
49
 
46
50
  async def setup(self, runtime: Runtime) -> None:
47
51
  logger.info("codex: ensuring codex %s is installed", self.config.version)
@@ -68,7 +72,53 @@ class CodexHarness(Harness[CodexHarnessConfig]):
68
72
  secret: str,
69
73
  mcp_urls: dict[str, str],
70
74
  ) -> ProgramResult:
71
- _, prompt = self.resolve_prompt(trace.task.data)
75
+ task = trace.task.data
76
+ if (
77
+ task.system_prompt is not None
78
+ and task.prompt is not None
79
+ and not isinstance(task.prompt, str)
80
+ ):
81
+ system_prompt, prompt = task.system_prompt, task.prompt
82
+ else:
83
+ system_prompt, prompt = self.resolve_prompt(task)
84
+ image_args: list[str] = []
85
+ image_dir = f".vf-codex-images-{trace.id}"
86
+ if prompt is not None and not isinstance(prompt, str):
87
+ # Codex seeds one initial turn, so Messages system text joins its prompt.
88
+ texts = [system_prompt] if system_prompt else []
89
+ image_index = 0
90
+ for message in prompt:
91
+ if message.role not in ("system", "user"):
92
+ raise ValueError(
93
+ "codex exec only supports system and user initial messages"
94
+ )
95
+ parts = (
96
+ [TextContentPart(text=message.content)]
97
+ if isinstance(message.content, str)
98
+ else message.content
99
+ )
100
+ for part in parts:
101
+ if isinstance(part, TextContentPart):
102
+ texts.append(part.text)
103
+ continue
104
+ metadata, separator, encoded = part.image_url.url.partition(",")
105
+ media_type, *parameters = metadata.removeprefix("data:").split(";")
106
+ if (
107
+ not separator
108
+ or not metadata.startswith("data:image/")
109
+ or not any(p.lower() == "base64" for p in parameters)
110
+ ):
111
+ raise ValueError(
112
+ "codex image prompts require base64 data:image URLs"
113
+ )
114
+ extension = re.sub(
115
+ r"[^a-zA-Z0-9]+", "_", media_type.removeprefix("image/")
116
+ ).strip("_")
117
+ path = f"{image_dir}/image_{image_index}.{extension or 'image'}"
118
+ await runtime.write(path, base64.b64decode(encoded))
119
+ image_args += ["-i", path]
120
+ image_index += 1
121
+ prompt = "\n\n".join(texts)
72
122
  # codex authenticates to the interception server with the session secret (its provider
73
123
  # api key) and posts Responses calls to `{endpoint}/responses`.
74
124
  env = {**self.config.resolved_env, KEY_VAR: secret}
@@ -111,7 +161,18 @@ class CodexHarness(Harness[CodexHarnessConfig]):
111
161
  "-c",
112
162
  f"model_providers.{PROVIDER}.requires_openai_auth=false",
113
163
  *tool_config,
164
+ *image_args,
114
165
  "--",
115
166
  prompt,
116
167
  ]
117
- return await runtime.run_program(argv, env)
168
+ try:
169
+ return await runtime.run_program(argv, env)
170
+ finally:
171
+ if image_args:
172
+ try:
173
+ await runtime.run(["rm", "-rf", image_dir], {})
174
+ except Exception:
175
+ # Runtime teardown is the fallback; preserve the rollout result.
176
+ logger.warning(
177
+ "failed to clean up Codex prompt images", exc_info=True
178
+ )
@@ -103,13 +103,16 @@ class DefaultHarness(Harness[DefaultHarnessConfig]):
103
103
  }
104
104
  )
105
105
  )
106
- # A Messages prompt (e.g. an image-bearing prompt) seeds the chat loop directly via env
107
- # (it can be large multimodal content that overflows argv); a plain string is the single
108
- # first user message; None means the task has no prompt and the user simulator opens it.
109
106
  if isinstance(prompt, str):
110
107
  args.append(f"--prompt={prompt}")
111
108
  elif prompt is not None:
112
- env["INITIAL_MESSAGES"] = json.dumps([message_to_wire(m) for m in prompt])
109
+ # Base64 images can exceed exec limits, so hand Messages off through a file.
110
+ path = f".vf-initial-messages-{trace.id}.json"
111
+ await runtime.write(
112
+ path,
113
+ json.dumps([message_to_wire(m) for m in prompt]).encode(),
114
+ )
115
+ args.append(f"--initial-messages-file={path}")
113
116
  program = await runtime.prepare_uv_script(
114
117
  PROGRAM_SOURCE, self.config.resolved_env
115
118
  )
@@ -7,7 +7,6 @@
7
7
  import argparse
8
8
  import asyncio
9
9
  import json
10
- import os
11
10
  import subprocess
12
11
  from contextlib import AsyncExitStack
13
12
  from pathlib import Path
@@ -244,6 +243,7 @@ def parse_args() -> argparse.Namespace:
244
243
  parser.add_argument("--model", required=True)
245
244
  parser.add_argument("--system-prompt", default="")
246
245
  parser.add_argument("--prompt", default="")
246
+ parser.add_argument("--initial-messages-file", default="")
247
247
  parser.add_argument("--mcp-config", default="")
248
248
  parser.add_argument("--edit", action="store_true")
249
249
  parser.add_argument("--search", action="store_true")
@@ -253,6 +253,12 @@ def parse_args() -> argparse.Namespace:
253
253
 
254
254
  async def main() -> None:
255
255
  args = parse_args()
256
+ initial = []
257
+ if args.initial_messages_file:
258
+ path = Path(args.initial_messages_file)
259
+ payload = path.read_bytes()
260
+ path.unlink()
261
+ initial = json.loads(payload)
256
262
  # No client-side retries: re-sending a request whose turn the interception already committed
257
263
  # re-samples it and forks the trace into an extra dead-end branch. A generous timeout lets a
258
264
  # slow turn finish instead of timing out and re-sending; genuine failures surface as error rows.
@@ -275,11 +281,6 @@ async def main() -> None:
275
281
  if args.system_prompt
276
282
  else []
277
283
  )
278
- # A Messages prompt (e.g. an image-bearing prompt) arrives pre-built as OpenAI wire dicts
279
- # via INITIAL_MESSAGES (kept in env: it can be large multimodal content that overflows
280
- # argv, and it's prompt content, not a credential); otherwise --prompt is the opening
281
- # message. Both empty means the task has no prompt — the user simulator seeds the opening.
282
- initial = json.loads(os.environ.get("INITIAL_MESSAGES", "[]"))
283
284
  if initial:
284
285
  messages.extend(initial)
285
286
  elif args.prompt:
@@ -54,13 +54,16 @@ class NullHarness(Harness[NullHarnessConfig]):
54
54
  }
55
55
  )
56
56
  )
57
- # A Messages prompt (e.g. an image-bearing prompt) seeds the chat loop directly via env
58
- # (it can be large multimodal content that overflows argv); a plain string is the single
59
- # first user message; None means the task has no prompt and the user simulator opens it.
60
57
  if isinstance(prompt, str):
61
58
  args.append(f"--prompt={prompt}")
62
59
  elif prompt is not None:
63
- env["INITIAL_MESSAGES"] = json.dumps([message_to_wire(m) for m in prompt])
60
+ # Base64 images can exceed exec limits, so hand Messages off through a file.
61
+ path = f".vf-initial-messages-{trace.id}.json"
62
+ await runtime.write(
63
+ path,
64
+ json.dumps([message_to_wire(m) for m in prompt]).encode(),
65
+ )
66
+ args.append(f"--initial-messages-file={path}")
64
67
  program = await runtime.prepare_uv_script(
65
68
  PROGRAM_SOURCE, self.config.resolved_env
66
69
  )
@@ -7,8 +7,8 @@
7
7
  import argparse
8
8
  import asyncio
9
9
  import json
10
- import os
11
10
  from contextlib import AsyncExitStack
11
+ from pathlib import Path
12
12
 
13
13
  from openai import AsyncOpenAI
14
14
 
@@ -88,12 +88,19 @@ def parse_args() -> argparse.Namespace:
88
88
  parser.add_argument("--model", required=True)
89
89
  parser.add_argument("--system-prompt", default="")
90
90
  parser.add_argument("--prompt", default="")
91
+ parser.add_argument("--initial-messages-file", default="")
91
92
  parser.add_argument("--mcp-config", default="")
92
93
  return parser.parse_args()
93
94
 
94
95
 
95
96
  async def main() -> None:
96
97
  args = parse_args()
98
+ initial = []
99
+ if args.initial_messages_file:
100
+ path = Path(args.initial_messages_file)
101
+ payload = path.read_bytes()
102
+ path.unlink()
103
+ initial = json.loads(payload)
97
104
  client = AsyncOpenAI(base_url=args.base_url, api_key=args.api_key)
98
105
  config = json.loads(args.mcp_config or "{}")
99
106
  async with AsyncExitStack() as stack:
@@ -105,11 +112,6 @@ async def main() -> None:
105
112
  if args.system_prompt
106
113
  else []
107
114
  )
108
- # A Messages prompt (e.g. an image-bearing prompt) arrives pre-built as OpenAI wire dicts
109
- # via INITIAL_MESSAGES (kept in env: it can be large multimodal content that overflows
110
- # argv, and it's prompt content, not a credential); otherwise --prompt is the opening
111
- # message. Both empty means the task has no prompt — the user simulator seeds the opening.
112
- initial = json.loads(os.environ.get("INITIAL_MESSAGES", "[]"))
113
115
  if initial:
114
116
  messages.extend(initial)
115
117
  elif args.prompt:
@@ -69,27 +69,6 @@ def _arm_teardown(death_pipe=None) -> None:
69
69
  threading.Thread(target=_watch, daemon=True).start()
70
70
 
71
71
 
72
- def _worker_entry(
73
- *, server_kwargs: dict, address: str, death_pipe, legacy: bool, log_setup=None
74
- ) -> None:
75
- """Spawned worker: an ordinary EnvServer/LegacyEnvServer bound to `address` (ipc).
76
- A native config arrives as a dict (`config_data`): the eval/serve CLI's narrowed
77
- config type is dynamic and unpicklable, so we rebuild it here via EnvConfig's
78
- id-resolving validator. `log_setup` (if given) configures this fresh process's
79
- logging so per-rollout logs surface — a spawned worker inherits no handlers."""
80
- from verifiers.v1.legacy import LegacyEnvServer
81
-
82
- _arm_teardown(death_pipe)
83
- if log_setup is not None:
84
- log_setup()
85
- if "config_data" in server_kwargs:
86
- server_kwargs = {
87
- "config": EnvConfig.model_validate(server_kwargs["config_data"])
88
- }
89
- cls = LegacyEnvServer if legacy else EnvServer
90
- cls.run_server(address=address, **server_kwargs)
91
-
92
-
93
72
  class EnvServerPool:
94
73
  """ROUTER broker that elastically scales worker processes (least-busy dispatch).
95
74
 
@@ -138,13 +117,14 @@ class EnvServerPool:
138
117
  address = f"ipc://{self._worker_path(i)}"
139
118
  parent_conn, child_conn = self._mpctx.Pipe()
140
119
  proc = self._mpctx.Process(
141
- target=_worker_entry,
120
+ target=serve_env,
142
121
  kwargs=dict(
143
- server_kwargs=self.server_kwargs,
122
+ max_workers=1,
144
123
  address=address,
145
124
  death_pipe=child_conn,
146
125
  legacy=self.legacy,
147
126
  log_setup=self.log_setup,
127
+ **self.server_kwargs,
148
128
  ),
149
129
  daemon=False,
150
130
  )
@@ -363,3 +343,6 @@ def serve_env(
363
343
  )
364
344
  except KeyboardInterrupt:
365
345
  pass
346
+ except Exception:
347
+ logger.exception("Env server failed")
348
+ raise
File without changes