verifiers 0.3.2.dev85__tar.gz → 0.3.2.dev86__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 (217) hide show
  1. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/PKG-INFO +1 -1
  2. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/dialects/chat.py +7 -2
  3. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/utils/core.py +25 -2
  4. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/interception/server.py +13 -2
  5. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/.gitignore +0 -0
  6. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/LICENSE +0 -0
  7. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/README.md +0 -0
  8. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/pyproject.toml +0 -0
  9. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/conftest.py +0 -0
  10. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/fixtures/counter_tool_v1.py +0 -0
  11. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/fixtures/duet_v1.py +0 -0
  12. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
  13. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
  14. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/fixtures/echo_tool_v1.py +0 -0
  15. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
  16. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/fixtures/echo_v1.py +0 -0
  17. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/fixtures/pyproject.toml +0 -0
  18. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
  19. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/test_color_codeword_tasks.py +0 -0
  20. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/test_configs.py +0 -0
  21. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/test_e2e.py +0 -0
  22. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/test_envs.py +0 -0
  23. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/test_graph.py +0 -0
  24. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/test_judges.py +0 -0
  25. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/test_platform_run.py +0 -0
  26. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/test_scoring.py +0 -0
  27. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/test_taskset.py +0 -0
  28. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/tests/v1/test_trace.py +0 -0
  29. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/__init__.py +0 -0
  30. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/cli/commands/init.py +0 -0
  31. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/__init__.py +0 -0
  32. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/acp/__init__.py +0 -0
  33. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/acp/runner.py +0 -0
  34. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/agent.py +0 -0
  35. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/__init__.py +0 -0
  36. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/dashboard/__init__.py +0 -0
  37. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/dashboard/base.py +0 -0
  38. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/dashboard/eval.py +0 -0
  39. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/dashboard/replay.py +0 -0
  40. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/dashboard/validate.py +0 -0
  41. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/debug.py +0 -0
  42. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/eval/__init__.py +0 -0
  43. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/eval/main.py +0 -0
  44. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/eval/resume.py +0 -0
  45. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/eval/runner.py +0 -0
  46. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/gepa.py +0 -0
  47. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/init.py +0 -0
  48. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/output.py +0 -0
  49. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/replay.py +0 -0
  50. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/resolve.py +0 -0
  51. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/resume.py +0 -0
  52. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/cli/validate.py +0 -0
  53. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/clients/__init__.py +0 -0
  54. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/clients/base.py +0 -0
  55. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/clients/client.py +0 -0
  56. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/clients/eval.py +0 -0
  57. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/clients/train.py +0 -0
  58. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/__init__.py +0 -0
  59. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/agent.py +0 -0
  60. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/cli/__init__.py +0 -0
  61. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/cli/debug.py +0 -0
  62. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/cli/env.py +0 -0
  63. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/cli/eval.py +0 -0
  64. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/cli/init.py +0 -0
  65. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/cli/replay.py +0 -0
  66. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/cli/validate.py +0 -0
  67. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/client.py +0 -0
  68. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/env.py +0 -0
  69. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/harness.py +0 -0
  70. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/judge.py +0 -0
  71. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/retries.py +0 -0
  72. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/runtime.py +0 -0
  73. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/serve.py +0 -0
  74. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/task.py +0 -0
  75. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/configs/taskset.py +0 -0
  76. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/dialects/__init__.py +0 -0
  77. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/dialects/anthropic.py +0 -0
  78. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/dialects/base.py +0 -0
  79. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/dialects/responses.py +0 -0
  80. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/env.py +0 -0
  81. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/envs/__init__.py +0 -0
  82. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
  83. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/envs/agentic_judge/env.py +0 -0
  84. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
  85. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/envs/best_of_n/env.py +0 -0
  86. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/envs/isolated_verifier/__init__.py +0 -0
  87. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/envs/isolated_verifier/env.py +0 -0
  88. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
  89. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/envs/single_agent/__init__.py +0 -0
  90. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/envs/single_agent/env.py +0 -0
  91. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/envs/user_sim/__init__.py +0 -0
  92. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/envs/user_sim/env.py +0 -0
  93. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/episode.py +0 -0
  94. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/errors.py +0 -0
  95. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/gepa/__init__.py +0 -0
  96. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/gepa/adapter.py +0 -0
  97. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/gepa/config.py +0 -0
  98. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/gepa/dataset.py +0 -0
  99. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/gepa/reflection.py +0 -0
  100. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/gepa/runner.py +0 -0
  101. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/graph.py +0 -0
  102. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harness.py +0 -0
  103. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/__init__.py +0 -0
  104. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/bash/__init__.py +0 -0
  105. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/bash/harness.py +0 -0
  106. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
  107. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
  108. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/browser_use/program.py +0 -0
  109. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
  110. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
  111. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/codex/__init__.py +0 -0
  112. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/codex/harness.py +0 -0
  113. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
  114. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
  115. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
  116. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
  117. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
  118. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
  119. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
  120. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
  121. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/node.py +0 -0
  122. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/null/__init__.py +0 -0
  123. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/null/harness.py +0 -0
  124. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
  125. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
  126. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/pi/__init__.py +0 -0
  127. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/pi/harness.py +0 -0
  128. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/pool/__init__.py +0 -0
  129. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/pool/harness.py +0 -0
  130. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
  131. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
  132. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
  133. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/rlm/harness.py +0 -0
  134. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
  135. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
  136. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
  137. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/utils/__init__.py +0 -0
  138. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/utils/compaction.py +0 -0
  139. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/utils/install.py +0 -0
  140. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/utils/launch.py +0 -0
  141. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/harnesses/utils/mcp.py +0 -0
  142. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/interception/__init__.py +0 -0
  143. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/interception/base.py +0 -0
  144. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/interception/pool.py +0 -0
  145. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/interception/tool.py +0 -0
  146. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/interception/tunnel/__init__.py +0 -0
  147. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/interception/tunnel/base.py +0 -0
  148. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/interception/tunnel/custom.py +0 -0
  149. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/interception/tunnel/prime.py +0 -0
  150. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/judge.py +0 -0
  151. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/judges/__init__.py +0 -0
  152. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/judges/reference.py +0 -0
  153. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/judges/reference.txt +0 -0
  154. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/judges/rubric.py +0 -0
  155. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/judges/rubric.txt +0 -0
  156. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/mcp/__init__.py +0 -0
  157. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/mcp/launch.py +0 -0
  158. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/mcp/server.py +0 -0
  159. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/mcp/toolset.py +0 -0
  160. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/rollout.py +0 -0
  161. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/runtimes/__init__.py +0 -0
  162. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/runtimes/base.py +0 -0
  163. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/runtimes/docker/__init__.py +0 -0
  164. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/runtimes/docker/egress.py +0 -0
  165. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/runtimes/limiters.py +0 -0
  166. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/runtimes/modal.py +0 -0
  167. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/runtimes/prime.py +0 -0
  168. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/runtimes/subprocess.py +0 -0
  169. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/semantic.py +0 -0
  170. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/serve/__init__.py +0 -0
  171. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/serve/client.py +0 -0
  172. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/serve/encoding.py +0 -0
  173. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/serve/pool.py +0 -0
  174. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/serve/server.py +0 -0
  175. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/serve/types.py +0 -0
  176. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/session.py +0 -0
  177. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/state.py +0 -0
  178. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/task.py +0 -0
  179. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/taskset.py +0 -0
  180. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/__init__.py +0 -0
  181. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
  182. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/harbor/env.py +0 -0
  183. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
  184. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/harbor/toolset.py +0 -0
  185. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/lean/__init__.py +0 -0
  186. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/lean/scoring.py +0 -0
  187. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/lean/taskset.py +0 -0
  188. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
  189. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
  190. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
  191. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
  192. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
  193. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
  194. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
  195. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
  196. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
  197. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/trace.py +0 -0
  198. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/types.py +0 -0
  199. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/__init__.py +0 -0
  200. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/aio.py +0 -0
  201. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/artifacts.py +0 -0
  202. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/compile.py +0 -0
  203. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/decorators.py +0 -0
  204. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/format.py +0 -0
  205. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/generic.py +0 -0
  206. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/git.py +0 -0
  207. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/image.py +0 -0
  208. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/interrupt.py +0 -0
  209. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/loaders.py +0 -0
  210. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/logging.py +0 -0
  211. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/memory.py +0 -0
  212. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/paths.py +0 -0
  213. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/platform.py +0 -0
  214. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/prime.py +0 -0
  215. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/retries.py +0 -0
  216. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/verifiers/v1/utils/score.py +0 -0
  217. {verifiers-0.3.2.dev85 → verifiers-0.3.2.dev86}/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.dev85
3
+ Version: 0.3.2.dev86
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
@@ -549,14 +549,19 @@ class ChatDialect(Dialect[ChatCompletion]):
549
549
 
550
550
  def stream_events(self, raw: dict) -> list[bytes]:
551
551
  choice = (raw.get("choices") or [{}])[0]
552
+ message = dict(choice.get("message") or {"role": "assistant", "content": ""})
553
+ if message.get("tool_calls"):
554
+ message["tool_calls"] = [
555
+ {**call, "index": index}
556
+ for index, call in enumerate(message["tool_calls"])
557
+ ]
552
558
  chunk = {
553
559
  **{key: value for key, value in raw.items() if key != "choices"},
554
560
  "object": "chat.completion.chunk",
555
561
  "choices": [
556
562
  {
557
563
  "index": 0,
558
- "delta": choice.get("message")
559
- or {"role": "assistant", "content": ""},
564
+ "delta": message,
560
565
  "finish_reason": choice.get("finish_reason"),
561
566
  }
562
567
  ],
@@ -9,7 +9,8 @@ from pathlib import Path
9
9
  from typing import TYPE_CHECKING
10
10
 
11
11
  import httpx
12
- from openai import APIStatusError, AsyncOpenAI
12
+ from openai import APIStatusError, AsyncOpenAI, omit
13
+ from openai.lib.streaming.chat import AsyncChatCompletionStream
13
14
 
14
15
  if TYPE_CHECKING:
15
16
  # The harness bundles this module into the generated script before execution.
@@ -191,7 +192,29 @@ async def chat(
191
192
  kwargs = {"model": model, "messages": messages, "tools": tools or None}
192
193
  if tools and tool_choice is not None:
193
194
  kwargs["tool_choice"] = tool_choice
194
- return await client.chat.completions.create(**kwargs)
195
+ raw_stream = await client.chat.completions.create(
196
+ **kwargs, stream=True, stream_options={"include_usage": True}
197
+ )
198
+ # Accumulate native deltas without auto-parsing tool arguments or treating
199
+ # finish_reason="length" as an exception: compaction owns that decision.
200
+ async with AsyncChatCompletionStream(
201
+ raw_stream=raw_stream, response_format=omit, input_tools=[]
202
+ ) as response:
203
+ completion = None
204
+ async for event in response:
205
+ if event.type == "chunk":
206
+ completion = event.snapshot
207
+ if (
208
+ completion is None
209
+ or not completion.choices
210
+ or any(choice.finish_reason is None for choice in completion.choices)
211
+ ):
212
+ raise RuntimeError("model stream ended before a completion finished")
213
+ for choice in completion.choices:
214
+ # Some providers repeat the role in each delta. The SDK concatenates
215
+ # these strings, but the role is metadata, not incremental content.
216
+ choice.message.role = "assistant"
217
+ return completion
195
218
 
196
219
 
197
220
  async def run_tool_hook(
@@ -41,7 +41,11 @@ from pydantic_core import PydanticSerializationError, from_json, to_json
41
41
  from verifiers.v1 import graph
42
42
  from verifiers.v1.clients import Client, resolve_client
43
43
  from verifiers.v1.clients.base import join_url
44
- from verifiers.v1.configs.client import BaseClientConfig, resolve_api_key
44
+ from verifiers.v1.configs.client import (
45
+ BaseClientConfig,
46
+ TrainClientConfig,
47
+ resolve_api_key,
48
+ )
45
49
  from verifiers.v1.dialects import DIALECTS, Dialect
46
50
  from verifiers.v1.dialects.base import (
47
51
  PROVIDER_CAPABILITY_POLICY_CODE,
@@ -648,7 +652,7 @@ class InterceptionServer(Interception):
648
652
  return self._fail(session, dialect, error)
649
653
 
650
654
  inspect_response = bool(session.response_interceptors or session.response_stops)
651
- if streaming:
655
+ if streaming and not isinstance(session.ctx.client, TrainClientConfig):
652
656
  return await self._stream(
653
657
  request,
654
658
  session,
@@ -663,6 +667,13 @@ class InterceptionServer(Interception):
663
667
  )
664
668
 
665
669
  def serve(response: Response) -> web.Response:
670
+ if streaming:
671
+ # Training generates a complete response with token metadata.
672
+ # Commit it through the normal path, then frame it for SSE clients.
673
+ return web.Response(
674
+ body=b"".join(dialect.stream_events(response.raw or {})),
675
+ content_type="text/event-stream",
676
+ )
666
677
  served = _completion_response(response.raw)
667
678
  if idempotent is not None:
668
679
  idempotent.response = _capture_response(served)
File without changes