verifiers 0.3.2.dev162__tar.gz → 0.3.2.dev164__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 (221) hide show
  1. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/PKG-INFO +1 -1
  2. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/clients/base.py +8 -5
  3. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/clients/eval.py +2 -2
  4. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/client.py +17 -1
  5. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/harbor/taskset.py +9 -4
  6. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/.gitignore +0 -0
  7. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/LICENSE +0 -0
  8. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/README.md +0 -0
  9. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/pyproject.toml +0 -0
  10. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/conftest.py +0 -0
  11. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/fixtures/counter_tool_v1.py +0 -0
  12. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/fixtures/duet_v1.py +0 -0
  13. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
  14. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
  15. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/fixtures/echo_tool_v1.py +0 -0
  16. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
  17. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/fixtures/echo_v1.py +0 -0
  18. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/fixtures/pyproject.toml +0 -0
  19. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
  20. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/test_color_codeword_tasks.py +0 -0
  21. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/test_configs.py +0 -0
  22. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/test_e2e.py +0 -0
  23. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/test_envs.py +0 -0
  24. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/test_graph.py +0 -0
  25. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/test_judges.py +0 -0
  26. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/test_platform_run.py +0 -0
  27. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/test_scoring.py +0 -0
  28. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/test_serve_delta.py +0 -0
  29. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/test_taskset.py +0 -0
  30. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/tests/v1/test_trace.py +0 -0
  31. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/__init__.py +0 -0
  32. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/__init__.py +0 -0
  33. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/acp/__init__.py +0 -0
  34. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/acp/runner.py +0 -0
  35. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/agent.py +0 -0
  36. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/__init__.py +0 -0
  37. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/dashboard/__init__.py +0 -0
  38. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/dashboard/base.py +0 -0
  39. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/dashboard/eval.py +0 -0
  40. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/dashboard/replay.py +0 -0
  41. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/dashboard/validate.py +0 -0
  42. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/debug.py +0 -0
  43. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/eval/__init__.py +0 -0
  44. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/eval/hint.py +0 -0
  45. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/eval/main.py +0 -0
  46. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/eval/resume.py +0 -0
  47. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/eval/runner.py +0 -0
  48. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/gepa.py +0 -0
  49. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/init.py +0 -0
  50. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/output.py +0 -0
  51. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/replay.py +0 -0
  52. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/resolve.py +0 -0
  53. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/resume.py +0 -0
  54. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/cli/validate.py +0 -0
  55. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/clients/__init__.py +0 -0
  56. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/clients/client.py +0 -0
  57. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/clients/train.py +0 -0
  58. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/__init__.py +0 -0
  59. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/agent.py +0 -0
  60. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/cli/__init__.py +0 -0
  61. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/cli/debug.py +0 -0
  62. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/cli/env.py +0 -0
  63. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/cli/eval.py +0 -0
  64. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/cli/init.py +0 -0
  65. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/cli/replay.py +0 -0
  66. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/cli/validate.py +0 -0
  67. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/env.py +0 -0
  68. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/harness.py +0 -0
  69. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/judge.py +0 -0
  70. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/retries.py +0 -0
  71. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/runtime.py +0 -0
  72. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/select.py +0 -0
  73. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/serve.py +0 -0
  74. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/task.py +0 -0
  75. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/configs/taskset.py +0 -0
  76. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/dialects/__init__.py +0 -0
  77. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/dialects/anthropic.py +0 -0
  78. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/dialects/base.py +0 -0
  79. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/dialects/chat.py +0 -0
  80. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/dialects/responses.py +0 -0
  81. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/env.py +0 -0
  82. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/envs/__init__.py +0 -0
  83. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
  84. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/envs/agentic_judge/env.py +0 -0
  85. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
  86. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/envs/best_of_n/env.py +0 -0
  87. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/envs/isolated_verifier/__init__.py +0 -0
  88. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/envs/isolated_verifier/env.py +0 -0
  89. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
  90. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/envs/single_agent/__init__.py +0 -0
  91. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/envs/single_agent/env.py +0 -0
  92. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/envs/user_sim/__init__.py +0 -0
  93. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/envs/user_sim/env.py +0 -0
  94. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/episode.py +0 -0
  95. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/errors.py +0 -0
  96. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/gepa/__init__.py +0 -0
  97. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/gepa/adapter.py +0 -0
  98. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/gepa/config.py +0 -0
  99. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/gepa/dataset.py +0 -0
  100. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/gepa/reflection.py +0 -0
  101. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/gepa/runner.py +0 -0
  102. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/graph.py +0 -0
  103. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harness.py +0 -0
  104. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/__init__.py +0 -0
  105. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/bash/__init__.py +0 -0
  106. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/bash/harness.py +0 -0
  107. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
  108. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
  109. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/browser_use/program.py +0 -0
  110. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
  111. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
  112. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/codex/__init__.py +0 -0
  113. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/codex/gate.mjs +0 -0
  114. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/codex/harness.py +0 -0
  115. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
  116. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
  117. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
  118. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
  119. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
  120. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
  121. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
  122. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
  123. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/node.py +0 -0
  124. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/null/__init__.py +0 -0
  125. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/null/harness.py +0 -0
  126. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
  127. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
  128. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/pi/__init__.py +0 -0
  129. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/pi/gate.mjs +0 -0
  130. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/pi/harness.py +0 -0
  131. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
  132. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
  133. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
  134. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/rlm/harness.py +0 -0
  135. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
  136. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
  137. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
  138. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/utils/__init__.py +0 -0
  139. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/utils/compaction.py +0 -0
  140. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/utils/core.py +0 -0
  141. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/utils/install.py +0 -0
  142. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/utils/launch.py +0 -0
  143. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/harnesses/utils/mcp.py +0 -0
  144. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/interception/__init__.py +0 -0
  145. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/interception/base.py +0 -0
  146. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/interception/pool.py +0 -0
  147. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/interception/server.py +0 -0
  148. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/interception/tunnel/__init__.py +0 -0
  149. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/interception/tunnel/base.py +0 -0
  150. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/interception/tunnel/custom.py +0 -0
  151. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/interception/tunnel/prime.py +0 -0
  152. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/judge.py +0 -0
  153. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/judges/__init__.py +0 -0
  154. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/judges/reference.py +0 -0
  155. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/judges/reference.txt +0 -0
  156. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/judges/rubric.py +0 -0
  157. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/judges/rubric.txt +0 -0
  158. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/mcp/__init__.py +0 -0
  159. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/mcp/launch.py +0 -0
  160. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/mcp/server.py +0 -0
  161. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/mcp/toolset.py +0 -0
  162. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/rollout.py +0 -0
  163. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/runtimes/__init__.py +0 -0
  164. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/runtimes/apptainer.py +0 -0
  165. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/runtimes/base.py +0 -0
  166. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/runtimes/container.py +0 -0
  167. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/runtimes/docker/__init__.py +0 -0
  168. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/runtimes/docker/egress.py +0 -0
  169. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/runtimes/limiters.py +0 -0
  170. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/runtimes/modal.py +0 -0
  171. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/runtimes/prime.py +0 -0
  172. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/runtimes/subprocess.py +0 -0
  173. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/semantic.py +0 -0
  174. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/serve/__init__.py +0 -0
  175. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/serve/client.py +0 -0
  176. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/serve/delta.py +0 -0
  177. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/serve/encoding.py +0 -0
  178. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/serve/pool.py +0 -0
  179. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/serve/server.py +0 -0
  180. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/serve/types.py +0 -0
  181. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/session.py +0 -0
  182. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/state.py +0 -0
  183. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/task.py +0 -0
  184. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/taskset.py +0 -0
  185. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/__init__.py +0 -0
  186. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
  187. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/harbor/compose.py +0 -0
  188. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/harbor/env.py +0 -0
  189. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/harbor/toolset.py +0 -0
  190. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
  191. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
  192. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
  193. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
  194. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
  195. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
  196. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
  197. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
  198. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
  199. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/trace.py +0 -0
  200. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/types.py +0 -0
  201. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/__init__.py +0 -0
  202. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/aio.py +0 -0
  203. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/artifacts.py +0 -0
  204. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/compile.py +0 -0
  205. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/decorators.py +0 -0
  206. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/format.py +0 -0
  207. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/generic.py +0 -0
  208. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/git.py +0 -0
  209. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/image.py +0 -0
  210. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/interrupt.py +0 -0
  211. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/loaders.py +0 -0
  212. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/logging.py +0 -0
  213. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/memory.py +0 -0
  214. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/paths.py +0 -0
  215. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/platform.py +0 -0
  216. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/prime.py +0 -0
  217. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/retries.py +0 -0
  218. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/scope.py +0 -0
  219. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/score.py +0 -0
  220. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/trace_store.py +0 -0
  221. {verifiers-0.3.2.dev162 → verifiers-0.3.2.dev164}/verifiers/v1/utils/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: verifiers
3
- Version: 0.3.2.dev162
3
+ Version: 0.3.2.dev164
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
@@ -7,9 +7,6 @@ from openai import AsyncOpenAI
7
7
 
8
8
  from verifiers.v1.configs.client import BaseClientConfig, resolve_api_key
9
9
 
10
- # No read timeout: agentic completions are slow and the rollout timeout is the real
11
- # backstop. The connect bound stays so an unreachable endpoint still fails fast.
12
- DEFAULT_TIMEOUT = httpx.Timeout(connect=5.0, read=None, write=None, pool=None)
13
10
  DEFAULT_LIMITS = httpx.Limits(max_connections=1000, max_keepalive_connections=100)
14
11
  MAX_RETRIES = 0
15
12
  """No client-side retries: failures surface to the harness SDK and the trace instead of
@@ -19,14 +16,20 @@ being silently reattempted."""
19
16
  VERSION_SEGMENT = re.compile(r"v\d+")
20
17
 
21
18
 
19
+ def build_async_httpx(config: BaseClientConfig) -> httpx.AsyncClient:
20
+ return httpx.AsyncClient(
21
+ timeout=httpx.Timeout(**config.timeout.model_dump()), limits=DEFAULT_LIMITS
22
+ )
23
+
24
+
22
25
  def build_async_openai(config: BaseClientConfig) -> AsyncOpenAI:
26
+ # The SDK adopts the http client's timeout, so it is configured in one place.
23
27
  return AsyncOpenAI(
24
28
  base_url=config.base_url,
25
29
  api_key=resolve_api_key(config),
26
30
  default_headers=config.headers or None,
27
- timeout=DEFAULT_TIMEOUT,
28
31
  max_retries=MAX_RETRIES,
29
- http_client=httpx.AsyncClient(timeout=DEFAULT_TIMEOUT, limits=DEFAULT_LIMITS),
32
+ http_client=build_async_httpx(config),
30
33
  )
31
34
 
32
35
 
@@ -7,7 +7,7 @@ import httpx
7
7
  from pydantic import ValidationError
8
8
  from pydantic_core import from_json, to_json
9
9
 
10
- from verifiers.v1.clients.base import DEFAULT_LIMITS, DEFAULT_TIMEOUT, join_url
10
+ from verifiers.v1.clients.base import build_async_httpx, join_url
11
11
  from verifiers.v1.clients.client import SESSION_ID_HEADER, Client, RelayReply
12
12
  from verifiers.v1.configs.client import BaseClientConfig, resolve_api_key
13
13
  from verifiers.v1.dialects import Dialect
@@ -68,7 +68,7 @@ class EvalClient(Client):
68
68
  # Keep endpoint headers separate so they can override intercepted request headers before
69
69
  # the dialect's provider authentication is applied.
70
70
  self.headers = dict(config.headers or {})
71
- self.client = httpx.AsyncClient(timeout=DEFAULT_TIMEOUT, limits=DEFAULT_LIMITS)
71
+ self.client = build_async_httpx(config)
72
72
 
73
73
  async def get_response(
74
74
  self,
@@ -26,6 +26,21 @@ PRIME_INFERENCE_HOST = "pinference.ai"
26
26
  PRIME_TEAM_ID_HEADER = "X-Prime-Team-ID"
27
27
 
28
28
 
29
+ class ClientTimeoutConfig(BaseConfig):
30
+ """Timeouts (in seconds) for each phase of an HTTP request to the endpoint; `None`
31
+ waits indefinitely. Distinct from the agent's stage timeouts, which bound a rollout."""
32
+
33
+ connect: float | None = Field(30.0, gt=0)
34
+ """Time to establish a connection, so an unreachable endpoint still fails fast."""
35
+ read: float | None = Field(None, gt=0)
36
+ """Time between received bytes. Unbounded by default: agentic completions are slow
37
+ and the rollout timeout is the real backstop."""
38
+ write: float | None = Field(None, gt=0)
39
+ """Time between sent bytes."""
40
+ pool: float | None = Field(None, gt=0)
41
+ """Time to acquire a connection from the pool."""
42
+
43
+
29
44
  class BaseClientConfig(BaseConfig):
30
45
  """An OpenAI-compatible endpoint. The API key is read from an env var."""
31
46
 
@@ -33,6 +48,7 @@ class BaseClientConfig(BaseConfig):
33
48
  api_key_var: str = "PRIME_API_KEY"
34
49
  headers: dict[str, str] = Field(default_factory=dict)
35
50
  """Extra HTTP headers sent on every request."""
51
+ timeout: ClientTimeoutConfig = ClientTimeoutConfig()
36
52
 
37
53
  @model_validator(mode="after")
38
54
  def apply_prime_config(self) -> "BaseClientConfig":
@@ -65,7 +81,7 @@ class EvalClientConfig(BaseClientConfig):
65
81
 
66
82
  class TrainClientConfig(BaseClientConfig):
67
83
  """Training: a vLLM `/inference/v1/generate` endpoint with client-side tokenization (via
68
- `TrainClient`), so responses carry token ids + logprobs. Needs a running vLLM engine."""
84
+ `TrainClient`), so responses carry token IDs and logprobs. Needs a running vLLM engine."""
69
85
 
70
86
  type: Literal["train"] = "train"
71
87
  renderer: RendererConfig | None = None
@@ -372,7 +372,8 @@ class HarborTask(Task[HarborData, State, HarborTaskConfig]):
372
372
  ) -> float | dict[str, float]:
373
373
  # By absolute path, in the runtime's configured workdir: Harbor execs the
374
374
  # script the same way, and scripts do grade the agent's work at `$PWD`.
375
- await runtime.run(
375
+ # The reward file is authoritative even when the script exits nonzero.
376
+ result = await runtime.run(
376
377
  ["bash", "/tests/test.sh"], resolve_env(self.data.verifier_env)
377
378
  )
378
379
  scores = await self.read_reward_json(runtime)
@@ -393,9 +394,13 @@ class HarborTask(Task[HarborData, State, HarborTaskConfig]):
393
394
  .decode()
394
395
  .strip()
395
396
  )
396
- return float(reward or 0)
397
- except (SandboxError, OSError, ValueError):
398
- return 0.0
397
+ return REWARD_JSON_ADAPTER.validate_python(float(reward))
398
+ except (SandboxError, OSError, ValueError) as exc:
399
+ raise TaskError(
400
+ "Harbor verifier produced no valid reward.json or reward.txt "
401
+ f"(exit {result.exit_code}): "
402
+ f"{(result.stderr or result.stdout).strip()[-500:]}"
403
+ ) from exc
399
404
 
400
405
  async def read_reward_json(
401
406
  self, runtime: Runtime