verifiers 0.4.1.dev56__tar.gz → 0.4.1.dev63__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 (282) hide show
  1. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/PKG-INFO +2 -2
  2. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/pyproject.toml +3 -1
  3. verifiers-0.4.1.dev63/tests/unit/test_api.py +66 -0
  4. verifiers-0.4.1.dev63/verifiers/v1/__init__.py +599 -0
  5. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/agent.py +3 -3
  6. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/cli/debug.py +1 -1
  7. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/cli/eval.py +2 -3
  8. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/cli/validate.py +2 -2
  9. verifiers-0.4.1.dev63/verifiers/v1/configs/deployment.py +12 -0
  10. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/env.py +12 -1
  11. verifiers-0.4.1.dev63/verifiers/v1/configs/interception.py +90 -0
  12. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/judge.py +1 -1
  13. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/runtime.py +107 -3
  14. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/scoring.py +1 -2
  15. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/envs/agentic_judge/env.py +9 -9
  16. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/envs/single_agent/env.py +1 -10
  17. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/errors.py +5 -0
  18. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/interception/__init__.py +10 -17
  19. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/interception/base.py +0 -8
  20. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/interception/pool.py +6 -28
  21. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/interception/server.py +3 -19
  22. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/interception/tunnel/__init__.py +9 -12
  23. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/interception/tunnel/base.py +1 -7
  24. verifiers-0.4.1.dev63/verifiers/v1/interception/tunnel/custom.py +23 -0
  25. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/interception/tunnel/prime.py +3 -9
  26. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/judges/rubric.py +69 -24
  27. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/rollout.py +17 -0
  28. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/runtimes/__init__.py +8 -19
  29. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/runtimes/backends/custom.py +3 -24
  30. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/runtimes/backends/docker.py +2 -20
  31. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/runtimes/backends/prime.py +2 -48
  32. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/runtimes/backends/subprocess.py +2 -7
  33. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/runtimes/deployment.py +1 -10
  34. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/task.py +11 -1
  35. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/types.py +12 -3
  36. verifiers-0.4.1.dev56/verifiers/v1/__init__.py +0 -418
  37. verifiers-0.4.1.dev56/verifiers/v1/interception/tunnel/custom.py +0 -42
  38. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/.gitignore +0 -0
  39. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/LICENSE +0 -0
  40. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/README.md +0 -0
  41. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/conftest.py +0 -0
  42. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/agent_user.py +0 -0
  43. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/agent_user_harness.py +0 -0
  44. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/counter_tool.py +0 -0
  45. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/duet.py +0 -0
  46. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/echo.py +0 -0
  47. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/echo_acp_resume.py +0 -0
  48. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/echo_agentic.py +0 -0
  49. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/echo_tool.py +0 -0
  50. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/echo_tool_compose/docker-compose.yaml +0 -0
  51. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/echo_user_sim.py +0 -0
  52. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/fetch_tool.py +0 -0
  53. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/network_policy.py +0 -0
  54. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/parallel.py +0 -0
  55. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/pyproject.toml +0 -0
  56. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/skill_codeword.py +0 -0
  57. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/skills/project-codeword/SKILL.md +0 -0
  58. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/fixtures/tool_response_image.py +0 -0
  59. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/grid.py +0 -0
  60. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_agent_user.py +0 -0
  61. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_agentic_judge.py +0 -0
  62. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_compose_scoring.py +0 -0
  63. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_examples.py +0 -0
  64. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_limits.py +0 -0
  65. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_multi_agent.py +0 -0
  66. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_multi_turn.py +0 -0
  67. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_multi_turn_tool.py +0 -0
  68. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_multimodal_tool.py +0 -0
  69. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_network_policy.py +0 -0
  70. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_parallel.py +0 -0
  71. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_resume_tool.py +0 -0
  72. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_rubric_judge.py +0 -0
  73. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_sampling.py +0 -0
  74. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_scoring_network.py +0 -0
  75. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_shared_tool.py +0 -0
  76. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_single_turn.py +0 -0
  77. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_skills.py +0 -0
  78. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_stateful_tool.py +0 -0
  79. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_tool_vms.py +0 -0
  80. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_user_echo.py +0 -0
  81. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/integration/test_user_sim.py +0 -0
  82. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/cli/test_replay.py +0 -0
  83. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/conftest.py +0 -0
  84. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/harnesses/test_core.py +0 -0
  85. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/harnesses/test_rlm.py +0 -0
  86. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/interception/test_tunnel.py +0 -0
  87. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/judges/conftest.py +0 -0
  88. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/judges/test_judge.py +0 -0
  89. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/judges/test_reference.py +0 -0
  90. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/judges/test_rubric.py +0 -0
  91. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/runtimes/test_private_network.py +0 -0
  92. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/serve/test_client.py +0 -0
  93. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/serve/test_delta.py +0 -0
  94. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/serve/test_pool.py +0 -0
  95. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/test_agent.py +0 -0
  96. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/test_dialects.py +0 -0
  97. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/test_graph.py +0 -0
  98. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/test_harbor_grading_network.py +0 -0
  99. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/test_runtimes.py +0 -0
  100. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/test_scoring_network.py +0 -0
  101. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/test_semantic.py +0 -0
  102. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/test_task.py +0 -0
  103. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/test_taskset.py +0 -0
  104. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/test_trace.py +0 -0
  105. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/utils/test_compile.py +0 -0
  106. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/utils/test_loaders.py +0 -0
  107. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/utils/test_platform.py +0 -0
  108. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/tests/unit/utils/test_score.py +0 -0
  109. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/__init__.py +0 -0
  110. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/acp/__init__.py +0 -0
  111. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/acp/runner.py +0 -0
  112. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/agent.py +0 -0
  113. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/__init__.py +0 -0
  114. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/dashboard/__init__.py +0 -0
  115. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/dashboard/base.py +0 -0
  116. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/dashboard/eval.py +0 -0
  117. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/dashboard/replay.py +0 -0
  118. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/dashboard/validate.py +0 -0
  119. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/debug.py +0 -0
  120. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/eval/__init__.py +0 -0
  121. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/eval/hint.py +0 -0
  122. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/eval/main.py +0 -0
  123. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/eval/resume.py +0 -0
  124. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/eval/runner.py +0 -0
  125. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/gepa.py +0 -0
  126. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/output.py +0 -0
  127. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/replay.py +0 -0
  128. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/resolve.py +0 -0
  129. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/resume.py +0 -0
  130. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/cli/validate.py +0 -0
  131. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/clients/__init__.py +0 -0
  132. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/clients/base.py +0 -0
  133. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/clients/client.py +0 -0
  134. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/clients/eval.py +0 -0
  135. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/clients/train.py +0 -0
  136. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/__init__.py +0 -0
  137. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/cli/__init__.py +0 -0
  138. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/cli/env.py +0 -0
  139. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/cli/replay.py +0 -0
  140. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/client.py +0 -0
  141. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/harness.py +0 -0
  142. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/retries.py +0 -0
  143. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/select.py +0 -0
  144. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/serve.py +0 -0
  145. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/task.py +0 -0
  146. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/configs/taskset.py +0 -0
  147. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/dialects/__init__.py +0 -0
  148. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/dialects/anthropic.py +0 -0
  149. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/dialects/base.py +0 -0
  150. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/dialects/chat.py +0 -0
  151. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/dialects/responses.py +0 -0
  152. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/env.py +0 -0
  153. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/envs/__init__.py +0 -0
  154. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
  155. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
  156. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/envs/best_of_n/env.py +0 -0
  157. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/envs/single_agent/__init__.py +0 -0
  158. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/envs/user_sim/__init__.py +0 -0
  159. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/envs/user_sim/env.py +0 -0
  160. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/episode.py +0 -0
  161. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/gepa/__init__.py +0 -0
  162. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/gepa/adapter.py +0 -0
  163. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/gepa/config.py +0 -0
  164. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/gepa/dataset.py +0 -0
  165. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/gepa/reflection.py +0 -0
  166. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/gepa/runner.py +0 -0
  167. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/grading.py +0 -0
  168. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/graph.py +0 -0
  169. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harness.py +0 -0
  170. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/__init__.py +0 -0
  171. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/bash/__init__.py +0 -0
  172. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/bash/harness.py +0 -0
  173. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
  174. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
  175. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/browser_use/program.py +0 -0
  176. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
  177. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
  178. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/codex/__init__.py +0 -0
  179. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/codex/gate.mjs +0 -0
  180. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/codex/harness.py +0 -0
  181. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/deepseek/__init__.py +0 -0
  182. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/deepseek/gate.mjs +0 -0
  183. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/deepseek/harness.py +0 -0
  184. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/deepseek/usage.mjs +0 -0
  185. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
  186. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
  187. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
  188. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
  189. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
  190. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
  191. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
  192. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
  193. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/node.py +0 -0
  194. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/null/__init__.py +0 -0
  195. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/null/harness.py +0 -0
  196. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
  197. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
  198. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/opencode/__init__.py +0 -0
  199. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/opencode/harness.py +0 -0
  200. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/opencode/mcp-ready.js +0 -0
  201. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/pi/__init__.py +0 -0
  202. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/pi/gate.mjs +0 -0
  203. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/pi/harness.py +0 -0
  204. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
  205. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
  206. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
  207. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/rlm/harness.py +0 -0
  208. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
  209. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
  210. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
  211. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/utils/__init__.py +0 -0
  212. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/utils/compaction.py +0 -0
  213. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/utils/core.py +0 -0
  214. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/utils/install.py +0 -0
  215. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/utils/launch.py +0 -0
  216. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/utils/mcp.py +0 -0
  217. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/harnesses/utils/replay.py +0 -0
  218. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/judge.py +0 -0
  219. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/judges/__init__.py +0 -0
  220. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/judges/decision.py +0 -0
  221. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/judges/reference.py +0 -0
  222. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/judges/reference.txt +0 -0
  223. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/judges/rubric.txt +0 -0
  224. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/mcp/__init__.py +0 -0
  225. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/mcp/launch.py +0 -0
  226. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/mcp/server.py +0 -0
  227. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/mcp/toolset.py +0 -0
  228. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/runtimes/base.py +0 -0
  229. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/runtimes/compose.py +0 -0
  230. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/runtimes/egress.py +0 -0
  231. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/runtimes/limiters.py +0 -0
  232. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/runtimes/private_network.py +0 -0
  233. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/runtimes/runtime.py +0 -0
  234. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/runtimes/strategies.py +0 -0
  235. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/semantic.py +0 -0
  236. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/serve/__init__.py +0 -0
  237. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/serve/client.py +0 -0
  238. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/serve/delta.py +0 -0
  239. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/serve/encoding.py +0 -0
  240. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/serve/pool.py +0 -0
  241. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/serve/server.py +0 -0
  242. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/serve/types.py +0 -0
  243. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/session.py +0 -0
  244. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/state.py +0 -0
  245. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/taskset.py +0 -0
  246. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/tasksets/__init__.py +0 -0
  247. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
  248. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
  249. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/tasksets/harbor/toolset.py +0 -0
  250. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
  251. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
  252. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
  253. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
  254. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
  255. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
  256. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
  257. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
  258. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
  259. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/trace.py +0 -0
  260. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/__init__.py +0 -0
  261. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/aio.py +0 -0
  262. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/artifacts.py +0 -0
  263. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/compile.py +0 -0
  264. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/decorators.py +0 -0
  265. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/env.py +0 -0
  266. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/eval.py +0 -0
  267. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/format.py +0 -0
  268. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/generic.py +0 -0
  269. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/git.py +0 -0
  270. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/image.py +0 -0
  271. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/interrupt.py +0 -0
  272. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/loaders.py +0 -0
  273. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/logging.py +0 -0
  274. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/memory.py +0 -0
  275. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/paths.py +0 -0
  276. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/platform.py +0 -0
  277. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/prime.py +0 -0
  278. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/retries.py +0 -0
  279. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/scope.py +0 -0
  280. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/score.py +0 -0
  281. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/trace_store.py +0 -0
  282. {verifiers-0.4.1.dev56 → verifiers-0.4.1.dev63}/verifiers/v1/utils/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: verifiers
3
- Version: 0.4.1.dev56
3
+ Version: 0.4.1.dev63
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
@@ -36,7 +36,7 @@ Requires-Dist: numpy>=2.1.0
36
36
  Requires-Dist: openai<3.0.0,>=2.54.0
37
37
  Requires-Dist: prime-pydantic-config[toml]>=0.4.3
38
38
  Requires-Dist: prime-runs>=0.1.4
39
- Requires-Dist: prime-sandboxes>=0.4.7
39
+ Requires-Dist: prime-sandboxes>=0.5.0
40
40
  Requires-Dist: prime-tunnel>=0.1.14
41
41
  Requires-Dist: pydantic>=2.12.3
42
42
  Requires-Dist: pyzmq>=27.1.0
@@ -33,7 +33,7 @@ dependencies = [
33
33
  "math-verify>=0.8.0",
34
34
  "openai>=2.54.0,<3.0.0",
35
35
  "prime-tunnel>=0.1.14",
36
- "prime-sandboxes>=0.4.7",
36
+ "prime-sandboxes>=0.5.0",
37
37
  "prime-runs>=0.1.4",
38
38
  "pydantic>=2.12.3",
39
39
  "rich>=11.0.0",
@@ -131,6 +131,8 @@ bash-interception = { path = "environments/bash_interception", editable = true }
131
131
  web-search-interception = { path = "environments/web_search_interception", editable = true }
132
132
 
133
133
  [tool.uv.exclude-newer-package]
134
+ # CA bundle: security fixes (e.g. 2026.10.19 for the eMudhra compromise) must not wait out the cooldown
135
+ certifi = false
134
136
  # Bounded cutoffs for the explicitly requested tool upgrades.
135
137
  # Full UTC timestamps: bare dates resolve to local-tz midnight and churn the
136
138
  # lockfile across timezones.
@@ -0,0 +1,66 @@
1
+ """The `verifiers.v1` namespace: its lazy names stay in sync with what type checkers
2
+ see, and the config tree imports without the runtime."""
3
+
4
+ import ast
5
+ import json
6
+ import subprocess
7
+ import sys
8
+ from pathlib import Path
9
+
10
+ import verifiers.v1 as vf
11
+
12
+ # What the config tree may load: a trainer validates its configs against it in an
13
+ # environment that installs nothing else.
14
+ CONFIG_TREE_PACKAGES = {
15
+ "annotated_types",
16
+ "pydantic",
17
+ "pydantic_config",
18
+ "pydantic_core",
19
+ "renderers",
20
+ "tomli",
21
+ "tomli_w",
22
+ "typing_extensions",
23
+ "typing_inspection",
24
+ "verifiers",
25
+ }
26
+
27
+ IMPORT_CONFIG_TREE = """
28
+ import importlib, json, pkgutil, sys
29
+ import verifiers.v1.configs as configs
30
+ for module in pkgutil.walk_packages(configs.__path__, "verifiers.v1.configs."):
31
+ importlib.import_module(module.name)
32
+ packages = {name.partition(".")[0] for name in sys.modules if not name.startswith("_")}
33
+ print(json.dumps(sorted(packages - sys.stdlib_module_names)))
34
+ """
35
+
36
+
37
+ def type_checking_name_to_module() -> dict[str, str]:
38
+ tree = ast.parse(Path(vf.__file__).read_text())
39
+ block = next(node for node in tree.body if isinstance(node, ast.If))
40
+ return {alias.name: node.module for node in block.body for alias in node.names}
41
+
42
+
43
+ def test_lazy_names_match_type_checking_imports():
44
+ assert vf._NAME_TO_MODULE == type_checking_name_to_module()
45
+
46
+
47
+ def test_all_exports_every_lazy_name():
48
+ assert sorted(vf.__all__) == sorted(vf._NAME_TO_MODULE)
49
+
50
+
51
+ def test_every_lazy_name_resolves():
52
+ resolved = {name: getattr(vf, name) for name in vf.__all__}
53
+
54
+ assert sorted(resolved) == sorted(vf.__all__)
55
+
56
+
57
+ def test_config_tree_imports_without_the_runtime():
58
+ result = subprocess.run(
59
+ [sys.executable, "-c", IMPORT_CONFIG_TREE],
60
+ capture_output=True,
61
+ check=True,
62
+ text=True,
63
+ timeout=60,
64
+ )
65
+
66
+ assert set(json.loads(result.stdout)) - CONFIG_TREE_PACKAGES == set()
@@ -0,0 +1,599 @@
1
+ """The verifiers v1 API, imported as `import verifiers.v1 as vf`.
2
+
3
+ Names resolve on first access (PEP 562), so importing one module, such as the
4
+ config tree a trainer validates against, loads only that module's dependencies
5
+ and not the whole runtime.
6
+ """
7
+
8
+ import importlib
9
+ import logging as _logging
10
+ from typing import TYPE_CHECKING
11
+
12
+ if TYPE_CHECKING:
13
+ from pydantic_config import BaseConfig
14
+
15
+ from verifiers.v1.acp import ACPConfig, ACPHarness, ACPTurn
16
+ from verifiers.v1.agent import Agent, Agents, Interaction, Segment, make_agent
17
+ from verifiers.v1.clients import Client, ModelContext, resolve_client
18
+ from verifiers.v1.configs.agent import AgentConfig
19
+ from verifiers.v1.configs.cli.env import narrowed_env_annotation, resolve_env_field
20
+ from verifiers.v1.configs.client import (
21
+ BaseClientConfig,
22
+ ClientConfig,
23
+ EvalClientConfig,
24
+ TrainClientConfig,
25
+ )
26
+ from verifiers.v1.configs.deployment import DeploymentConfig
27
+ from verifiers.v1.configs.env import (
28
+ EnvConfig,
29
+ SharedEnvConfig,
30
+ SingleAgentEnvConfig,
31
+ default_agent_harness,
32
+ )
33
+ from verifiers.v1.configs.harness import HarnessConfig
34
+ from verifiers.v1.configs.judge import JudgeConfig, Judges
35
+ from verifiers.v1.configs.retries import RetryConfig, RetryRule
36
+ from verifiers.v1.configs.runtime import (
37
+ CustomRuntimeConfig,
38
+ DockerConfig,
39
+ NetworkPolicyConfig,
40
+ PrimeConfig,
41
+ RuntimeConfig,
42
+ SubprocessConfig,
43
+ )
44
+ from verifiers.v1.configs.scoring import ScoringConfig
45
+ from verifiers.v1.configs.select import (
46
+ SelectCLIConfig,
47
+ SelectConfig,
48
+ TaskMatchConfig,
49
+ )
50
+ from verifiers.v1.configs.serve import (
51
+ ElasticPoolConfig,
52
+ ServeConfig,
53
+ StaticPoolConfig,
54
+ pool_serve_kwargs,
55
+ )
56
+ from verifiers.v1.configs.task import (
57
+ DecoratedFunctionConfig,
58
+ RewardFunctionConfig,
59
+ TaskConfig,
60
+ )
61
+ from verifiers.v1.configs.taskset import SharedTasksetConfig, TasksetConfig
62
+ from verifiers.v1.env import Env
63
+ from verifiers.v1.envs.single_agent import SingleAgentEnv
64
+ from verifiers.v1.episode import (
65
+ EnvInfo,
66
+ Episode,
67
+ EvalRunInfo,
68
+ EvalWorkInfo,
69
+ GroupInfo,
70
+ PolicySpan,
71
+ RunInfo,
72
+ TrainRunInfo,
73
+ TrainWorkInfo,
74
+ WireEpisode,
75
+ WorkInfo,
76
+ )
77
+ from verifiers.v1.errors import (
78
+ EnvError,
79
+ HarnessError,
80
+ InterceptionError,
81
+ ProviderError,
82
+ RolloutError,
83
+ SandboxError,
84
+ TaskError,
85
+ ToolsetError,
86
+ TunnelError,
87
+ UnscoredError,
88
+ )
89
+ from verifiers.v1.grading import grade_submission
90
+ from verifiers.v1.graph import MessageNode
91
+ from verifiers.v1.harness import Harness, HarnessSession
92
+ from verifiers.v1.judge import Judge, JudgeResponse, JudgeView
93
+ from verifiers.v1.judges import (
94
+ Criterion,
95
+ DecisionJudge,
96
+ DecisionJudgeConfig,
97
+ ReferenceJudge,
98
+ ReferenceJudgeConfig,
99
+ RubricJudge,
100
+ RubricJudgeConfig,
101
+ )
102
+ from verifiers.v1.mcp import SharedToolsetConfig, Toolset, ToolsetConfig
103
+ from verifiers.v1.runtimes import (
104
+ ProgramResult,
105
+ Runtime,
106
+ RuntimeInfo,
107
+ RuntimeProcess,
108
+ )
109
+ from verifiers.v1.runtimes.compose import ComposeSpec
110
+ from verifiers.v1.runtimes.deployment import Deployment
111
+ from verifiers.v1.semantic import (
112
+ ACP_SEMANTIC_EDGES_METADATA_KEY,
113
+ ACPInfo,
114
+ ParentLink,
115
+ SemanticEdge,
116
+ SemanticEdgeSet,
117
+ )
118
+ from verifiers.v1.state import State, StateT
119
+ from verifiers.v1.task import (
120
+ Task,
121
+ TaskData,
122
+ TaskResources,
123
+ TaskTimeout,
124
+ WireTaskData,
125
+ )
126
+ from verifiers.v1.taskset import Taskset
127
+ from verifiers.v1.trace import (
128
+ TRACE_VERSION,
129
+ AgentInfo,
130
+ AgentSpan,
131
+ Branch,
132
+ Error,
133
+ InterceptRecord,
134
+ ModelCall,
135
+ PolicyEvent,
136
+ Reward,
137
+ TimeSpan,
138
+ TimeSplit,
139
+ Timing,
140
+ Trace,
141
+ TraceTask,
142
+ VersionInfo,
143
+ WireTrace,
144
+ )
145
+ from verifiers.v1.types import (
146
+ ID,
147
+ AssistantMessage,
148
+ ContentPart,
149
+ ImageUrlContentPart,
150
+ ImageUrlSource,
151
+ Message,
152
+ MessageContent,
153
+ Messages,
154
+ Request,
155
+ Response,
156
+ Sampling,
157
+ SamplingConfig,
158
+ SamplingMask,
159
+ SystemMessage,
160
+ TextContentPart,
161
+ Tool,
162
+ ToolCall,
163
+ ToolMessage,
164
+ TopLogprobs,
165
+ TurnTokens,
166
+ Usage,
167
+ UserMessage,
168
+ )
169
+ from verifiers.v1.utils.artifacts import ARTIFACTS_DIR, Artifact, collect, restore
170
+ from verifiers.v1.utils.decorators import intercept, metric, reward, stop, tool
171
+ from verifiers.v1.utils.generic import merge_defaults
172
+ from verifiers.v1.utils.git import PATCH_CAP_BYTES, capture_patch, resolve_head
173
+ from verifiers.v1.utils.loaders import (
174
+ default_harness_id,
175
+ env_config_type,
176
+ environment_class,
177
+ harness_config_type,
178
+ import_environment,
179
+ import_harness,
180
+ import_judge,
181
+ import_taskset,
182
+ judge_config_type,
183
+ load_environment,
184
+ load_harness,
185
+ load_judge,
186
+ load_taskset,
187
+ resolve_env_config,
188
+ task_type,
189
+ taskset_config_type,
190
+ )
191
+ from verifiers.v1.utils.score import (
192
+ compare_stdout_results,
193
+ extract_boxed_answer,
194
+ parse_judge_choice,
195
+ parse_pytest_outcomes,
196
+ read_answer_file_or_last_reply,
197
+ verify_boxed_math_answer,
198
+ )
199
+
200
+ _NAME_TO_MODULE = {
201
+ "ACPConfig": "verifiers.v1.acp",
202
+ "ACPHarness": "verifiers.v1.acp",
203
+ "ACPInfo": "verifiers.v1.semantic",
204
+ "ACPTurn": "verifiers.v1.acp",
205
+ "ACP_SEMANTIC_EDGES_METADATA_KEY": "verifiers.v1.semantic",
206
+ "ARTIFACTS_DIR": "verifiers.v1.utils.artifacts",
207
+ "Agent": "verifiers.v1.agent",
208
+ "AgentConfig": "verifiers.v1.configs.agent",
209
+ "AgentInfo": "verifiers.v1.trace",
210
+ "AgentSpan": "verifiers.v1.trace",
211
+ "Agents": "verifiers.v1.agent",
212
+ "Artifact": "verifiers.v1.utils.artifacts",
213
+ "AssistantMessage": "verifiers.v1.types",
214
+ "BaseClientConfig": "verifiers.v1.configs.client",
215
+ "BaseConfig": "pydantic_config",
216
+ "Branch": "verifiers.v1.trace",
217
+ "Client": "verifiers.v1.clients",
218
+ "ClientConfig": "verifiers.v1.configs.client",
219
+ "ComposeSpec": "verifiers.v1.runtimes.compose",
220
+ "ContentPart": "verifiers.v1.types",
221
+ "Criterion": "verifiers.v1.judges",
222
+ "CustomRuntimeConfig": "verifiers.v1.configs.runtime",
223
+ "DecisionJudge": "verifiers.v1.judges",
224
+ "DecisionJudgeConfig": "verifiers.v1.judges",
225
+ "DecoratedFunctionConfig": "verifiers.v1.configs.task",
226
+ "Deployment": "verifiers.v1.runtimes.deployment",
227
+ "DeploymentConfig": "verifiers.v1.configs.deployment",
228
+ "DockerConfig": "verifiers.v1.configs.runtime",
229
+ "ElasticPoolConfig": "verifiers.v1.configs.serve",
230
+ "Env": "verifiers.v1.env",
231
+ "EnvConfig": "verifiers.v1.configs.env",
232
+ "EnvError": "verifiers.v1.errors",
233
+ "EnvInfo": "verifiers.v1.episode",
234
+ "Episode": "verifiers.v1.episode",
235
+ "Error": "verifiers.v1.trace",
236
+ "EvalClientConfig": "verifiers.v1.configs.client",
237
+ "EvalRunInfo": "verifiers.v1.episode",
238
+ "EvalWorkInfo": "verifiers.v1.episode",
239
+ "GroupInfo": "verifiers.v1.episode",
240
+ "Harness": "verifiers.v1.harness",
241
+ "HarnessConfig": "verifiers.v1.configs.harness",
242
+ "HarnessError": "verifiers.v1.errors",
243
+ "HarnessSession": "verifiers.v1.harness",
244
+ "ID": "verifiers.v1.types",
245
+ "ImageUrlContentPart": "verifiers.v1.types",
246
+ "ImageUrlSource": "verifiers.v1.types",
247
+ "Interaction": "verifiers.v1.agent",
248
+ "InterceptRecord": "verifiers.v1.trace",
249
+ "InterceptionError": "verifiers.v1.errors",
250
+ "Judge": "verifiers.v1.judge",
251
+ "JudgeConfig": "verifiers.v1.configs.judge",
252
+ "JudgeResponse": "verifiers.v1.judge",
253
+ "JudgeView": "verifiers.v1.judge",
254
+ "Judges": "verifiers.v1.configs.judge",
255
+ "Message": "verifiers.v1.types",
256
+ "MessageContent": "verifiers.v1.types",
257
+ "MessageNode": "verifiers.v1.graph",
258
+ "Messages": "verifiers.v1.types",
259
+ "ModelCall": "verifiers.v1.trace",
260
+ "ModelContext": "verifiers.v1.clients",
261
+ "NetworkPolicyConfig": "verifiers.v1.configs.runtime",
262
+ "PATCH_CAP_BYTES": "verifiers.v1.utils.git",
263
+ "ParentLink": "verifiers.v1.semantic",
264
+ "PolicyEvent": "verifiers.v1.trace",
265
+ "PolicySpan": "verifiers.v1.episode",
266
+ "PrimeConfig": "verifiers.v1.configs.runtime",
267
+ "ProgramResult": "verifiers.v1.runtimes",
268
+ "ProviderError": "verifiers.v1.errors",
269
+ "ReferenceJudge": "verifiers.v1.judges",
270
+ "ReferenceJudgeConfig": "verifiers.v1.judges",
271
+ "Request": "verifiers.v1.types",
272
+ "Response": "verifiers.v1.types",
273
+ "RetryConfig": "verifiers.v1.configs.retries",
274
+ "RetryRule": "verifiers.v1.configs.retries",
275
+ "Reward": "verifiers.v1.trace",
276
+ "RewardFunctionConfig": "verifiers.v1.configs.task",
277
+ "RolloutError": "verifiers.v1.errors",
278
+ "RubricJudge": "verifiers.v1.judges",
279
+ "RubricJudgeConfig": "verifiers.v1.judges",
280
+ "RunInfo": "verifiers.v1.episode",
281
+ "Runtime": "verifiers.v1.runtimes",
282
+ "RuntimeConfig": "verifiers.v1.configs.runtime",
283
+ "RuntimeInfo": "verifiers.v1.runtimes",
284
+ "RuntimeProcess": "verifiers.v1.runtimes",
285
+ "Sampling": "verifiers.v1.types",
286
+ "SamplingConfig": "verifiers.v1.types",
287
+ "SamplingMask": "verifiers.v1.types",
288
+ "SandboxError": "verifiers.v1.errors",
289
+ "ScoringConfig": "verifiers.v1.configs.scoring",
290
+ "Segment": "verifiers.v1.agent",
291
+ "SelectCLIConfig": "verifiers.v1.configs.select",
292
+ "SelectConfig": "verifiers.v1.configs.select",
293
+ "SemanticEdge": "verifiers.v1.semantic",
294
+ "SemanticEdgeSet": "verifiers.v1.semantic",
295
+ "ServeConfig": "verifiers.v1.configs.serve",
296
+ "SharedEnvConfig": "verifiers.v1.configs.env",
297
+ "SharedTasksetConfig": "verifiers.v1.configs.taskset",
298
+ "SharedToolsetConfig": "verifiers.v1.mcp",
299
+ "SingleAgentEnv": "verifiers.v1.envs.single_agent",
300
+ "SingleAgentEnvConfig": "verifiers.v1.configs.env",
301
+ "State": "verifiers.v1.state",
302
+ "StateT": "verifiers.v1.state",
303
+ "StaticPoolConfig": "verifiers.v1.configs.serve",
304
+ "SubprocessConfig": "verifiers.v1.configs.runtime",
305
+ "SystemMessage": "verifiers.v1.types",
306
+ "TRACE_VERSION": "verifiers.v1.trace",
307
+ "Task": "verifiers.v1.task",
308
+ "TaskConfig": "verifiers.v1.configs.task",
309
+ "TaskData": "verifiers.v1.task",
310
+ "TaskError": "verifiers.v1.errors",
311
+ "TaskMatchConfig": "verifiers.v1.configs.select",
312
+ "TaskResources": "verifiers.v1.task",
313
+ "TaskTimeout": "verifiers.v1.task",
314
+ "Taskset": "verifiers.v1.taskset",
315
+ "TasksetConfig": "verifiers.v1.configs.taskset",
316
+ "TextContentPart": "verifiers.v1.types",
317
+ "TimeSpan": "verifiers.v1.trace",
318
+ "TimeSplit": "verifiers.v1.trace",
319
+ "Timing": "verifiers.v1.trace",
320
+ "Tool": "verifiers.v1.types",
321
+ "ToolCall": "verifiers.v1.types",
322
+ "ToolMessage": "verifiers.v1.types",
323
+ "Toolset": "verifiers.v1.mcp",
324
+ "ToolsetConfig": "verifiers.v1.mcp",
325
+ "ToolsetError": "verifiers.v1.errors",
326
+ "TopLogprobs": "verifiers.v1.types",
327
+ "Trace": "verifiers.v1.trace",
328
+ "TraceTask": "verifiers.v1.trace",
329
+ "TrainClientConfig": "verifiers.v1.configs.client",
330
+ "TrainRunInfo": "verifiers.v1.episode",
331
+ "TrainWorkInfo": "verifiers.v1.episode",
332
+ "TunnelError": "verifiers.v1.errors",
333
+ "TurnTokens": "verifiers.v1.types",
334
+ "UnscoredError": "verifiers.v1.errors",
335
+ "Usage": "verifiers.v1.types",
336
+ "UserMessage": "verifiers.v1.types",
337
+ "VersionInfo": "verifiers.v1.trace",
338
+ "WireEpisode": "verifiers.v1.episode",
339
+ "WireTaskData": "verifiers.v1.task",
340
+ "WireTrace": "verifiers.v1.trace",
341
+ "WorkInfo": "verifiers.v1.episode",
342
+ "capture_patch": "verifiers.v1.utils.git",
343
+ "collect": "verifiers.v1.utils.artifacts",
344
+ "compare_stdout_results": "verifiers.v1.utils.score",
345
+ "default_agent_harness": "verifiers.v1.configs.env",
346
+ "default_harness_id": "verifiers.v1.utils.loaders",
347
+ "env_config_type": "verifiers.v1.utils.loaders",
348
+ "environment_class": "verifiers.v1.utils.loaders",
349
+ "extract_boxed_answer": "verifiers.v1.utils.score",
350
+ "grade_submission": "verifiers.v1.grading",
351
+ "harness_config_type": "verifiers.v1.utils.loaders",
352
+ "import_environment": "verifiers.v1.utils.loaders",
353
+ "import_harness": "verifiers.v1.utils.loaders",
354
+ "import_judge": "verifiers.v1.utils.loaders",
355
+ "import_taskset": "verifiers.v1.utils.loaders",
356
+ "intercept": "verifiers.v1.utils.decorators",
357
+ "judge_config_type": "verifiers.v1.utils.loaders",
358
+ "load_environment": "verifiers.v1.utils.loaders",
359
+ "load_harness": "verifiers.v1.utils.loaders",
360
+ "load_judge": "verifiers.v1.utils.loaders",
361
+ "load_taskset": "verifiers.v1.utils.loaders",
362
+ "make_agent": "verifiers.v1.agent",
363
+ "merge_defaults": "verifiers.v1.utils.generic",
364
+ "metric": "verifiers.v1.utils.decorators",
365
+ "narrowed_env_annotation": "verifiers.v1.configs.cli.env",
366
+ "parse_judge_choice": "verifiers.v1.utils.score",
367
+ "parse_pytest_outcomes": "verifiers.v1.utils.score",
368
+ "pool_serve_kwargs": "verifiers.v1.configs.serve",
369
+ "read_answer_file_or_last_reply": "verifiers.v1.utils.score",
370
+ "resolve_client": "verifiers.v1.clients",
371
+ "resolve_env_config": "verifiers.v1.utils.loaders",
372
+ "resolve_env_field": "verifiers.v1.configs.cli.env",
373
+ "resolve_head": "verifiers.v1.utils.git",
374
+ "restore": "verifiers.v1.utils.artifacts",
375
+ "reward": "verifiers.v1.utils.decorators",
376
+ "stop": "verifiers.v1.utils.decorators",
377
+ "task_type": "verifiers.v1.utils.loaders",
378
+ "taskset_config_type": "verifiers.v1.utils.loaders",
379
+ "tool": "verifiers.v1.utils.decorators",
380
+ "verify_boxed_math_answer": "verifiers.v1.utils.score",
381
+ }
382
+
383
+ __all__ = [ # noqa: RUF022 - grouped by public API area
384
+ # types
385
+ "ID",
386
+ "AssistantMessage",
387
+ "ContentPart",
388
+ "ImageUrlContentPart",
389
+ "ImageUrlSource",
390
+ "Message",
391
+ "MessageContent",
392
+ "Messages",
393
+ "Request",
394
+ "Response",
395
+ "Sampling",
396
+ "SamplingConfig",
397
+ "SystemMessage",
398
+ "TextContentPart",
399
+ "Tool",
400
+ "ToolCall",
401
+ "ToolMessage",
402
+ "Usage",
403
+ "UserMessage",
404
+ # task / trace / state
405
+ "Task",
406
+ "TaskData",
407
+ "WireTaskData",
408
+ "TaskResources",
409
+ "TaskTimeout",
410
+ "Trace",
411
+ "TraceTask",
412
+ "WireTrace",
413
+ "Reward",
414
+ "EnvInfo",
415
+ "Episode",
416
+ "WireEpisode",
417
+ "GroupInfo",
418
+ "TRACE_VERSION",
419
+ "AgentInfo",
420
+ "RunInfo",
421
+ "EvalRunInfo",
422
+ "EvalWorkInfo",
423
+ "ModelCall",
424
+ "ACPInfo",
425
+ "ACP_SEMANTIC_EDGES_METADATA_KEY",
426
+ "ParentLink",
427
+ "SemanticEdge",
428
+ "SemanticEdgeSet",
429
+ "PolicyEvent",
430
+ "TrainRunInfo",
431
+ "TrainWorkInfo",
432
+ "WorkInfo",
433
+ "PolicySpan",
434
+ "VersionInfo",
435
+ "State",
436
+ "StateT",
437
+ "MessageNode",
438
+ "Branch",
439
+ "TurnTokens",
440
+ "SamplingMask",
441
+ "TopLogprobs",
442
+ "Timing",
443
+ "TimeSpan",
444
+ "TimeSplit",
445
+ "AgentSpan",
446
+ "Error",
447
+ # decorators
448
+ "intercept",
449
+ "stop",
450
+ "tool",
451
+ "metric",
452
+ "reward",
453
+ # interception
454
+ "InterceptRecord",
455
+ # errors
456
+ "RolloutError",
457
+ "EnvError",
458
+ "ProviderError",
459
+ "HarnessError",
460
+ "ToolsetError",
461
+ "SandboxError",
462
+ "TaskError",
463
+ "UnscoredError",
464
+ "InterceptionError",
465
+ "TunnelError",
466
+ # clients
467
+ "Client",
468
+ "BaseClientConfig",
469
+ "ClientConfig",
470
+ "EvalClientConfig",
471
+ "TrainClientConfig",
472
+ "resolve_client",
473
+ # taskset / harness / runtime / environment
474
+ "Taskset",
475
+ "TaskConfig",
476
+ "SelectConfig",
477
+ "SelectCLIConfig",
478
+ "TaskMatchConfig",
479
+ "TasksetConfig",
480
+ "SharedTasksetConfig",
481
+ "DecoratedFunctionConfig",
482
+ "RewardFunctionConfig",
483
+ "BaseConfig",
484
+ "Harness",
485
+ "HarnessSession",
486
+ "HarnessConfig",
487
+ "ACPConfig",
488
+ "ACPHarness",
489
+ "ACPTurn",
490
+ "ModelContext",
491
+ "Runtime",
492
+ "RuntimeProcess",
493
+ "RuntimeConfig",
494
+ "RuntimeInfo",
495
+ "ProgramResult",
496
+ "SubprocessConfig",
497
+ "DockerConfig",
498
+ "CustomRuntimeConfig",
499
+ "NetworkPolicyConfig",
500
+ "PrimeConfig",
501
+ "Env",
502
+ "SingleAgentEnv",
503
+ "EnvConfig",
504
+ "SharedEnvConfig",
505
+ "ServeConfig",
506
+ "resolve_env_field",
507
+ "merge_defaults",
508
+ "narrowed_env_annotation",
509
+ "SingleAgentEnvConfig",
510
+ "AgentConfig",
511
+ "StaticPoolConfig",
512
+ "ElasticPoolConfig",
513
+ "default_agent_harness",
514
+ "pool_serve_kwargs",
515
+ "RetryConfig",
516
+ "RetryRule",
517
+ # agent
518
+ "Agent",
519
+ "Agents",
520
+ "make_agent",
521
+ # loaders
522
+ "import_taskset",
523
+ "import_harness",
524
+ "import_judge",
525
+ "import_environment",
526
+ "load_environment",
527
+ "load_taskset",
528
+ "load_harness",
529
+ "load_judge",
530
+ "environment_class",
531
+ "task_type",
532
+ "taskset_config_type",
533
+ "harness_config_type",
534
+ "judge_config_type",
535
+ "env_config_type",
536
+ "resolve_env_config",
537
+ "default_harness_id",
538
+ # judge
539
+ "Judge",
540
+ "JudgeConfig",
541
+ "Judges",
542
+ "JudgeResponse",
543
+ "JudgeView",
544
+ "DecisionJudge",
545
+ "DecisionJudgeConfig",
546
+ "ReferenceJudge",
547
+ "ReferenceJudgeConfig",
548
+ "RubricJudge",
549
+ "RubricJudgeConfig",
550
+ "Criterion",
551
+ # git patch capture
552
+ "PATCH_CAP_BYTES",
553
+ "capture_patch",
554
+ "resolve_head",
555
+ "grade_submission",
556
+ # grading artifacts
557
+ "ARTIFACTS_DIR",
558
+ "Artifact",
559
+ "collect",
560
+ "restore",
561
+ # scoring
562
+ "compare_stdout_results",
563
+ "extract_boxed_answer",
564
+ "parse_judge_choice",
565
+ "parse_pytest_outcomes",
566
+ "read_answer_file_or_last_reply",
567
+ "verify_boxed_math_answer",
568
+ # mcp
569
+ "Toolset",
570
+ "SharedToolsetConfig",
571
+ "ToolsetConfig",
572
+ # the user channel
573
+ "Interaction",
574
+ "Segment",
575
+ # deployment and scoring
576
+ "ComposeSpec",
577
+ "Deployment",
578
+ "DeploymentConfig",
579
+ "ScoringConfig",
580
+ ]
581
+
582
+
583
+ def __getattr__(name: str):
584
+ module = _NAME_TO_MODULE.get(name)
585
+ if module is None:
586
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
587
+ value = getattr(importlib.import_module(module), name)
588
+ globals()[name] = value
589
+ return value
590
+
591
+
592
+ def __dir__() -> list[str]:
593
+ return sorted(set(globals()) | set(_NAME_TO_MODULE))
594
+
595
+
596
+ # The library logs via stdlib logging (per-module `getLogger(__name__)`), but is
597
+ # silent until an app opts in: a NullHandler on the package root absorbs records
598
+ # so nothing is emitted (and no "no handler" warning) unless handlers are added.
599
+ _logging.getLogger(__name__).addHandler(_logging.NullHandler())