verifiers 0.4.2.dev32__py3-none-any.whl → 0.4.2.dev34__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.
- verifiers/v1/harnesses/node.py +32 -18
- verifiers/v1/tasksets/harbor/toolset.py +5 -0
- {verifiers-0.4.2.dev32.dist-info → verifiers-0.4.2.dev34.dist-info}/METADATA +1 -1
- {verifiers-0.4.2.dev32.dist-info → verifiers-0.4.2.dev34.dist-info}/RECORD +7 -7
- {verifiers-0.4.2.dev32.dist-info → verifiers-0.4.2.dev34.dist-info}/WHEEL +0 -0
- {verifiers-0.4.2.dev32.dist-info → verifiers-0.4.2.dev34.dist-info}/entry_points.txt +0 -0
- {verifiers-0.4.2.dev32.dist-info → verifiers-0.4.2.dev34.dist-info}/licenses/LICENSE +0 -0
verifiers/v1/harnesses/node.py
CHANGED
|
@@ -11,13 +11,37 @@ node=/var/tmp/vf-node
|
|
|
11
11
|
# Node bundles Brotli; a newer major alone does not prove CVE-2026-111497 is fixed.
|
|
12
12
|
node_ok() { "$1" -e 'const [a,b,c]=process.versions.node.split(".").map(Number); const f={22:[23,4],24:[22,1],26:[12,1]}[a]; process.exit(f && (b>f[0] || b===f[0] && c>=f[1]) ? 0 : 1)'; }
|
|
13
13
|
|
|
14
|
+
install_node() {
|
|
15
|
+
if [ -x "$node/bin/node" ] && [ -x "$node/bin/npm" ] \
|
|
16
|
+
&& [ "$("$node/bin/node" --version 2>/dev/null)" = "v$VF_NODE_VERSION" ]; then
|
|
17
|
+
return
|
|
18
|
+
fi
|
|
19
|
+
# Finish downloading, extracting and validating before replacing the shared installation.
|
|
20
|
+
download_dir=$(mktemp -d "$node.XXXXXX")
|
|
21
|
+
trap 'rm -rf "$download_dir"' EXIT
|
|
22
|
+
curl -fsSL --retry 5 --retry-all-errors "https://nodejs.org/dist/v$VF_NODE_VERSION/node-v$VF_NODE_VERSION-$1.tar.gz" \
|
|
23
|
+
-o "$download_dir/node.tar.gz"
|
|
24
|
+
mkdir "$download_dir/node"
|
|
25
|
+
tar -xzf "$download_dir/node.tar.gz" -C "$download_dir/node" --strip-components=1
|
|
26
|
+
node_ok "$download_dir/node/bin/node"
|
|
27
|
+
rm -rf "$node"
|
|
28
|
+
mv "$download_dir/node" "$node"
|
|
29
|
+
}
|
|
30
|
+
|
|
14
31
|
if [ -f /etc/alpine-release ]; then
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
32
|
+
if [ "$(uname -m)" = x86_64 ]; then
|
|
33
|
+
# Old task images' repositories lack patched Node. Use its musl build
|
|
34
|
+
# with bundled npm, without replacing the task's system Node or Alpine release.
|
|
35
|
+
apk add --no-cache curl ca-certificates libstdc++ libatomic >/dev/null
|
|
36
|
+
install_node linux-x64-musl
|
|
37
|
+
else
|
|
38
|
+
# Node publishes musl binaries only for x64; retain apk on other architectures.
|
|
39
|
+
apk add --upgrade --no-cache curl ca-certificates nodejs-current npm >/dev/null
|
|
40
|
+
mkdir -p "$node/bin"
|
|
41
|
+
# An image-provided /usr/local/bin/node may appear first on PATH.
|
|
42
|
+
ln -sf /usr/bin/node "$node/bin/node"
|
|
43
|
+
ln -sf /usr/bin/npm "$node/bin/npm"
|
|
44
|
+
fi
|
|
21
45
|
else
|
|
22
46
|
if ! command -v curl >/dev/null 2>&1 \
|
|
23
47
|
&& ! (apt-get update -qq && apt-get install -y -qq curl ca-certificates >/dev/null); then
|
|
@@ -64,18 +88,8 @@ else
|
|
|
64
88
|
)
|
|
65
89
|
fi
|
|
66
90
|
case "$(uname -s)" in Linux) node_os=linux ;; Darwin) node_os=darwin ;; *) echo "unsupported os: $(uname -s)" >&2; exit 1 ;; esac
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
# Finish downloading and extracting before replacing the shared installation.
|
|
70
|
-
download_dir=$(mktemp -d "$node.XXXXXX")
|
|
71
|
-
trap 'rm -rf "$download_dir"' EXIT
|
|
72
|
-
curl -fsSL --retry 5 --retry-all-errors "https://nodejs.org/dist/v$VF_NODE_VERSION/node-v$VF_NODE_VERSION-${node_os}-${node_arch}.tar.gz" \
|
|
73
|
-
-o "$download_dir/node.tar.gz"
|
|
74
|
-
mkdir "$download_dir/node"
|
|
75
|
-
tar -xzf "$download_dir/node.tar.gz" -C "$download_dir/node" --strip-components=1
|
|
76
|
-
rm -rf "$node"
|
|
77
|
-
mv "$download_dir/node" "$node"
|
|
78
|
-
fi
|
|
91
|
+
case "$(uname -m)" in aarch64|arm64) node_arch=arm64 ;; *) node_arch=x64 ;; esac
|
|
92
|
+
install_node "$node_os-$node_arch"
|
|
79
93
|
fi
|
|
80
94
|
node_ok "$node/bin/node" || { echo "ACP adapters require patched Node.js (22.23.4, 24.22.1 or 26.12.1 minimum)" >&2; exit 1; }
|
|
81
95
|
"""
|
|
@@ -8,6 +8,7 @@ from mcp.client.sse import sse_client
|
|
|
8
8
|
from mcp.client.stdio import StdioServerParameters, stdio_client
|
|
9
9
|
from mcp.client.streamable_http import streamable_http_client
|
|
10
10
|
from mcp.server.mcpserver import Context, MCPServer
|
|
11
|
+
from mcp.server.mcpserver.exceptions import ToolError
|
|
11
12
|
from mcp.types import CallToolResult, Tool
|
|
12
13
|
|
|
13
14
|
from verifiers.v1.mcp import Toolset, ToolsetConfig
|
|
@@ -79,6 +80,10 @@ class HarborMCPToolset(Toolset[HarborMCPConfig]):
|
|
|
79
80
|
async def call_tool(
|
|
80
81
|
self, name: str, arguments: dict[str, Any], context: Context | None = None
|
|
81
82
|
) -> CallToolResult:
|
|
83
|
+
if name not in {tool.name for tool in await self.list_tools()}:
|
|
84
|
+
raise ToolError(
|
|
85
|
+
f"MCP tool {name!r} is not listed by server {self.server_name!r}"
|
|
86
|
+
)
|
|
82
87
|
return await self.client.call_tool(name, arguments)
|
|
83
88
|
|
|
84
89
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.4.2.
|
|
3
|
+
Version: 0.4.2.dev34
|
|
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
|
|
@@ -75,7 +75,7 @@ verifiers/v1/gepa/dataset.py,sha256=cS4MtQVoBOnAHKs8REQm5lKGeqUpdXPU1hROU67aBG4,
|
|
|
75
75
|
verifiers/v1/gepa/reflection.py,sha256=V1VSXuszkw5Fikwqwe5KSwunhlibudZ7F8csUXraENk,1144
|
|
76
76
|
verifiers/v1/gepa/runner.py,sha256=CnnOv9pvj7QCwPYDZBODUwdDEJ1yMP51bgTEm2Xxtf0,5897
|
|
77
77
|
verifiers/v1/harnesses/__init__.py,sha256=SBNQmzQREsKG1ZLe1hAWdFWdXh11akXaF_9JbmJImg8,2203
|
|
78
|
-
verifiers/v1/harnesses/node.py,sha256=
|
|
78
|
+
verifiers/v1/harnesses/node.py,sha256=G6hnEms726QH9KJiNZCMJUfrIrb-8hjfHkzNJP8kxMo,5160
|
|
79
79
|
verifiers/v1/harnesses/bash/__init__.py,sha256=IAV4eMMqDHSl-9ANb0Q3kxmBZ22SeHZFBM448X4gQio,140
|
|
80
80
|
verifiers/v1/harnesses/bash/harness.py,sha256=0IzUqFvAaozmO_7qWpQM5CHQF8wLlGiyEsob_zhx2cU,5678
|
|
81
81
|
verifiers/v1/harnesses/browser_use/__init__.py,sha256=yxm2IG5TDLadxZEkX8SL26XWbcPcODXcrJfPfm1GqwU,171
|
|
@@ -160,7 +160,7 @@ verifiers/v1/runtimes/backends/subprocess.py,sha256=naOWJGmcaOlu2ZdRbUwhJicJdxAS
|
|
|
160
160
|
verifiers/v1/tasksets/__init__.py,sha256=2ijE3qIlLoUA02g6iysOwWQylyBBQL1GhSpjv8_bp0w,521
|
|
161
161
|
verifiers/v1/tasksets/harbor/__init__.py,sha256=FjW4tM3rgGALMK-8p7ux26G4-d4ZFVmaAmO6Fni6e_g,214
|
|
162
162
|
verifiers/v1/tasksets/harbor/taskset.py,sha256=g9uLfSclESw5XV56T9h0TXD9dm9W2FrkpVgegbokctU,43686
|
|
163
|
-
verifiers/v1/tasksets/harbor/toolset.py,sha256=
|
|
163
|
+
verifiers/v1/tasksets/harbor/toolset.py,sha256=bt-hdWJ26OVy5pEifHZc9XxukYFaIY6JFbjCl3VLxDU,3410
|
|
164
164
|
verifiers/v1/tasksets/nemo_gym/__init__.py,sha256=654gAvG3Wd_Z_nh6mypeKn4s_IIQ0Ge6vcZvxTHC2_E,306
|
|
165
165
|
verifiers/v1/tasksets/nemo_gym/response.py,sha256=EhrsquEP8g0bjzAThGfE6Ypgy86_nVX235NiFYtVDVM,4463
|
|
166
166
|
verifiers/v1/tasksets/nemo_gym/server.py,sha256=33C-VDZxPtMV2TFxJVIKijmtBLNlVeRs92ctPE3qAsM,2036
|
|
@@ -193,8 +193,8 @@ verifiers/v1/utils/scope.py,sha256=zbs4pj6AVk4jywlAJ3AX0Q0_kzB9dBB02nY-9H4ELdQ,8
|
|
|
193
193
|
verifiers/v1/utils/score.py,sha256=493yJVMw8teCu9JxapxMFPFzI0hNUqdo0Y2nGW4kckk,6200
|
|
194
194
|
verifiers/v1/utils/trace_store.py,sha256=Qo9qvsJAl8PoRUavjQAfUB2VNxmUtYQtU2ejLKPzY9c,3382
|
|
195
195
|
verifiers/v1/utils/version.py,sha256=-obEo_-l9-D8FLef4hYxncOe-uJpxrM1g2Hig_37Sgs,1607
|
|
196
|
-
verifiers-0.4.2.
|
|
197
|
-
verifiers-0.4.2.
|
|
198
|
-
verifiers-0.4.2.
|
|
199
|
-
verifiers-0.4.2.
|
|
200
|
-
verifiers-0.4.2.
|
|
196
|
+
verifiers-0.4.2.dev34.dist-info/METADATA,sha256=Fwyk4rWxlpqu_x0GHsW8HLdS0kQwKjRuCSTRDMfZeLg,5142
|
|
197
|
+
verifiers-0.4.2.dev34.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
|
|
198
|
+
verifiers-0.4.2.dev34.dist-info/entry_points.txt,sha256=3M8Wr0w1cUKiB-fJ6YHB6eK5WuKYg-Y3OC4wCuUje_c,174
|
|
199
|
+
verifiers-0.4.2.dev34.dist-info/licenses/LICENSE,sha256=v0RrUsdV3IDoZhrRce297IXS3xMHNJ-_LdLpFAUWb9k,1072
|
|
200
|
+
verifiers-0.4.2.dev34.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|