verifiers 0.3.2.dev89__py3-none-any.whl → 0.3.2.dev91__py3-none-any.whl

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.
@@ -20,7 +20,6 @@ from verifiers.v1.harnesses.mini_swe_agent import (
20
20
  from verifiers.v1.harnesses.null import NullHarness, NullHarnessConfig
21
21
  from verifiers.v1.harnesses.openclaw import OpenClawHarness, OpenClawHarnessConfig
22
22
  from verifiers.v1.harnesses.pi import PiHarness, PiHarnessConfig
23
- from verifiers.v1.harnesses.pool import PoolHarness, PoolHarnessConfig
24
23
  from verifiers.v1.harnesses.prime_agent import (
25
24
  PrimeAgentHarness,
26
25
  PrimeAgentHarnessConfig,
@@ -49,8 +48,6 @@ __all__ = [
49
48
  "OpenClawHarnessConfig",
50
49
  "PiHarness",
51
50
  "PiHarnessConfig",
52
- "PoolHarness",
53
- "PoolHarnessConfig",
54
51
  "PrimeAgentHarness",
55
52
  "PrimeAgentHarnessConfig",
56
53
  "RLMHarness",
@@ -31,7 +31,7 @@ BuiltinTool = Literal["bash", "edit", "fetch", "ipython"]
31
31
  RLM_REPO = "github.com/PrimeIntellect-ai/nano-rlm.git"
32
32
  RLM_CACHE_DIR = "/tmp/vf-rlm"
33
33
  SKILLS_DIR = "/task/rlm-skills"
34
- RLM_STATE_DIR = ".vf-rlm"
34
+ RLM_STATE_DIR = "/tmp/vf-rlm-state"
35
35
  RLM_RUNTIME_METADATA_KEY = "ai.prime.rlm/runtime-v1"
36
36
  RLM_SESSION_METADATA_KEY = "ai.prime.rlm/session-v1"
37
37
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: verifiers
3
- Version: 0.3.2.dev89
3
+ Version: 0.3.2.dev91
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
@@ -82,7 +82,7 @@ verifiers/v1/gepa/config.py,sha256=PhZRLkhaPciNm_IhwVX3e9DM8Y2IdCe4Fbi5WjH5aro,4
82
82
  verifiers/v1/gepa/dataset.py,sha256=hFuR7dou4VSKa0ujb8sFmGm9a19mjrsmTa1MMW1Kv7I,2177
83
83
  verifiers/v1/gepa/reflection.py,sha256=ptHhx0lcDLcWhWhXuslh9T8gPVNpnX5XLPtXoneW1yA,1054
84
84
  verifiers/v1/gepa/runner.py,sha256=fGEyFzejdQKBzBbvdiTDHV3JtRhXMXMGSBU5y8C8i3w,6054
85
- verifiers/v1/harnesses/__init__.py,sha256=0FVi-mPF36fF0vpLY4H2vbK3U_om1Svz3KgJ3i-phs0,1918
85
+ verifiers/v1/harnesses/__init__.py,sha256=2JPwrRoYoigH-HfBtiFnatRdFEVHLv4rwlKfsFEibyE,1803
86
86
  verifiers/v1/harnesses/node.py,sha256=-lDPh30p65IETPVLkKn4yhEK49rtEGVQf9TNs7MVQYE,2133
87
87
  verifiers/v1/harnesses/bash/__init__.py,sha256=IAV4eMMqDHSl-9ANb0Q3kxmBZ22SeHZFBM448X4gQio,140
88
88
  verifiers/v1/harnesses/bash/harness.py,sha256=nsjLKFMGFSya4s9fMHiNVrO92RRCTS3VHqTK3rv3AFA,5233
@@ -107,12 +107,10 @@ verifiers/v1/harnesses/openclaw/__init__.py,sha256=kNyfPB1sGwEf4K3mTfKN0VEyxun3S
107
107
  verifiers/v1/harnesses/openclaw/harness.py,sha256=tucrQb_Osi7KAEtpyO4i55IXI5SFtLnyItB8eV4kjng,10534
108
108
  verifiers/v1/harnesses/pi/__init__.py,sha256=1mSnzOf-RdEchdeg6IHtcdobG5KIpAhuTdUIgsCIn74,117
109
109
  verifiers/v1/harnesses/pi/harness.py,sha256=11V9d6_npjE9vEEgIG7y80kfaX1Ilfi3lbYsqGsN1NE,6496
110
- verifiers/v1/harnesses/pool/__init__.py,sha256=HTYsNiWGdiNEsSHj4xhPmshJSNb7SHjQ7d4yZQ4p3HM,127
111
- verifiers/v1/harnesses/pool/harness.py,sha256=TsELYhW4mMOt_laiDN6nAQJxFL3iCcKvckQWYve2XiE,3571
112
110
  verifiers/v1/harnesses/prime_agent/__init__.py,sha256=xfPC4RrlnyYWaf38tPAOZq4YL6M55lMpj5BoRLmaK8I,171
113
111
  verifiers/v1/harnesses/prime_agent/harness.py,sha256=cMvkNdqEutzCoX3lrmCQ5dAi_HSDV3Vhw6K1N-LiBtA,10630
114
112
  verifiers/v1/harnesses/rlm/__init__.py,sha256=hwx51xTdEWzzYgMj-p4ETNcptoub3IPMDbEdJ4uB8Ns,122
115
- verifiers/v1/harnesses/rlm/harness.py,sha256=zL-3WhtorjXp_LABjYotUdWppq0Xs_4Oh_TRWYTqxbs,11893
113
+ verifiers/v1/harnesses/rlm/harness.py,sha256=6IYZLC4l2SrkBfaEf_pJv9IQoK4GcFw0gDNXMO_ERf4,11903
116
114
  verifiers/v1/harnesses/terminus_2/__init__.py,sha256=l1pwfg1HyVDEqT9efdnFWcXqaZwtKwe7TrplkyxZSA0,166
117
115
  verifiers/v1/harnesses/terminus_2/harness.py,sha256=DMTY1bzvydyjHqzmvBSBGKJsmUzYEgxqd215a7cG7tg,3052
118
116
  verifiers/v1/harnesses/terminus_2/program.py,sha256=X8MZdyItU3gbXGXnGOlJ9LWcUTnqIDaxlhkZvoRiqKY,2703
@@ -190,8 +188,8 @@ verifiers/v1/utils/prime.py,sha256=UTYRjp9cbjNb6CVmBHda-1wWZAIIfxNOmTyNuT7_wL4,9
190
188
  verifiers/v1/utils/retries.py,sha256=Y2ZgrAjn-qNkRKZP_RVNL_7EK0iaRcZeCa404lpGYi4,5417
191
189
  verifiers/v1/utils/score.py,sha256=493yJVMw8teCu9JxapxMFPFzI0hNUqdo0Y2nGW4kckk,6200
192
190
  verifiers/v1/utils/version.py,sha256=-obEo_-l9-D8FLef4hYxncOe-uJpxrM1g2Hig_37Sgs,1607
193
- verifiers-0.3.2.dev89.dist-info/METADATA,sha256=DY9UBh4G2UWBWU0GlGCI40TJ5AkQPxHrwW0J1dJH8kc,4237
194
- verifiers-0.3.2.dev89.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
195
- verifiers-0.3.2.dev89.dist-info/entry_points.txt,sha256=uqQje0TMsr7k6nXlWxlPs13Si0evb3pVCEDF6c-YL80,241
196
- verifiers-0.3.2.dev89.dist-info/licenses/LICENSE,sha256=v0RrUsdV3IDoZhrRce297IXS3xMHNJ-_LdLpFAUWb9k,1072
197
- verifiers-0.3.2.dev89.dist-info/RECORD,,
191
+ verifiers-0.3.2.dev91.dist-info/METADATA,sha256=W64AiabtjsEzMLS4FGBGLw3lDVI-CWSyOAIzuyQ8qWA,4237
192
+ verifiers-0.3.2.dev91.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
193
+ verifiers-0.3.2.dev91.dist-info/entry_points.txt,sha256=uqQje0TMsr7k6nXlWxlPs13Si0evb3pVCEDF6c-YL80,241
194
+ verifiers-0.3.2.dev91.dist-info/licenses/LICENSE,sha256=v0RrUsdV3IDoZhrRce297IXS3xMHNJ-_LdLpFAUWb9k,1072
195
+ verifiers-0.3.2.dev91.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- from verifiers.v1.harnesses.pool.harness import PoolHarness, PoolHarnessConfig
2
-
3
- __all__ = ["PoolHarness", "PoolHarnessConfig"]
@@ -1,96 +0,0 @@
1
- """Run Poolside's native ACP server against interception."""
2
-
3
- import json
4
- import shlex
5
-
6
- from verifiers.v1.acp import ACPConfig, ACPHarness
7
- from verifiers.v1.clients import ModelContext
8
- from verifiers.v1.configs.harness import HarnessConfig, PinnedVersion
9
- from verifiers.v1.harnesses.utils.install import ensure_installed
10
- from verifiers.v1.runtimes import Runtime
11
- from verifiers.v1.task import TaskData
12
- from verifiers.v1.trace import Trace
13
-
14
- POOL_DIR = "/tmp/vf-pool-{version}"
15
- SKILLS_DIR = ".poolside/skills"
16
- INSTALL = r"""
17
- set -e
18
- command -v curl >/dev/null || (apt-get update -qq && apt-get install -y -qq curl ca-certificates >/dev/null)
19
- command -v tar >/dev/null || (apt-get update -qq && apt-get install -y -qq tar >/dev/null)
20
- case "$(uname -s)" in Linux) os=linux ;; Darwin) os=darwin ;; *) echo "unsupported os: $(uname -s)" >&2; exit 1 ;; esac
21
- case "$(uname -m)" in aarch64|arm64) arch=arm64 ;; x86_64|amd64) arch=amd64 ;; *) echo "unsupported arch: $(uname -m)" >&2; exit 1 ;; esac
22
- mkdir -p {dir}
23
- curl -fsSL "https://github.com/poolsideai/pool/releases/download/v{version}/pool-$os-$arch.tar.gz" | tar -xz -C {dir}
24
- mv "{dir}/pool-$os-$arch" "{dir}/pool"
25
- chmod +x "{dir}/pool"
26
- """
27
-
28
-
29
- class PoolHarnessConfig(HarnessConfig):
30
- version: PinnedVersion = "1.0.15"
31
- """Pool release to install, pinned for reproducibility."""
32
-
33
-
34
- class PoolHarness(ACPHarness[PoolHarnessConfig]):
35
- APPENDS_SYSTEM_PROMPT = True
36
- SUPPORTS_MCP = True
37
- SUPPORTS_SKILLS = True
38
-
39
- async def setup(self, runtime: Runtime) -> None:
40
- await self.install_skills(runtime, SKILLS_DIR)
41
- directory = POOL_DIR.format(version=self.config.version)
42
- binary = f"{directory}/pool"
43
- script = INSTALL.replace("{version}", self.config.version).replace(
44
- "{dir}", directory
45
- )
46
- await ensure_installed(
47
- runtime,
48
- directory=directory,
49
- ready=f"[ -x {binary} ]",
50
- install=script,
51
- env=self.config.resolved_env,
52
- label="Pool",
53
- shell=("bash", "-o", "pipefail", "-c"),
54
- )
55
- await super().setup(runtime)
56
-
57
- async def prepare_acp(
58
- self,
59
- ctx: ModelContext,
60
- trace: Trace,
61
- runtime: Runtime,
62
- endpoint: str,
63
- secret: str,
64
- mcp_urls: dict[str, str],
65
- data: TaskData,
66
- ) -> ACPConfig:
67
- system_prompt, prompt = self.resolve_prompt(data)
68
- env = {
69
- **self.config.resolved_env,
70
- # Standalone provider mode sends this bearer and model to interception.
71
- "POOLSIDE_API_KEY": secret,
72
- "POOLSIDE_STANDALONE_BASE_URL": endpoint,
73
- "POOLSIDE_STANDALONE_MODEL": ctx.model,
74
- }
75
- pool_home = f".vf-pool/{trace.id}"
76
- # Values are Pool tool names such as `shell`, `read`, or `edit`.
77
- tools = {name: {"disabled": True} for name in self.config.disabled_tools or []}
78
- settings = shlex.quote(json.dumps({"tools": tools}))
79
- command = [
80
- "sh",
81
- "-c",
82
- (
83
- f'export HOME="$PWD/{pool_home}/home" '
84
- f'XDG_CONFIG_HOME="$PWD/{pool_home}/config" '
85
- f'XDG_STATE_HOME="$PWD/{pool_home}/state"; '
86
- f"exec {POOL_DIR.format(version=self.config.version)}/pool acp "
87
- f"--sandbox disabled --settings {settings}"
88
- ),
89
- ]
90
- return ACPConfig(
91
- env=env,
92
- command=command,
93
- prompt=prompt,
94
- mcp_urls=mcp_urls,
95
- system_prompt=system_prompt,
96
- )