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.
@@ -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
- apk add --upgrade --no-cache curl ca-certificates nodejs-current npm >/dev/null
16
- mkdir -p "$node/bin"
17
- # apk installs into /usr/bin. An image-provided /usr/local/bin/node may
18
- # appear first on PATH, so link the binaries that apk just installed.
19
- ln -sf /usr/bin/node "$node/bin/node"
20
- ln -sf /usr/bin/npm "$node/bin/npm"
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
- if [ ! -x "$node/bin/node" ] || [ "$("$node/bin/node" --version 2>/dev/null)" != "v$VF_NODE_VERSION" ]; then
68
- case "$(uname -m)" in aarch64|arm64) node_arch=arm64 ;; *) node_arch=x64 ;; esac
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.dev32
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=6Hld1DkE5PzSli1vIDm91sdpjhxbTPqDZ0XquQbERGk,4695
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=_7HXu-uuvqzhmJ1EX6c3KWLg0g0eRrLjCq1kBsZhIwo,3159
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.dev32.dist-info/METADATA,sha256=7keNwz0BTCgoJ5epJNU_pZckYmEMZGtWOnwjDCn2bEI,5142
197
- verifiers-0.4.2.dev32.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
198
- verifiers-0.4.2.dev32.dist-info/entry_points.txt,sha256=3M8Wr0w1cUKiB-fJ6YHB6eK5WuKYg-Y3OC4wCuUje_c,174
199
- verifiers-0.4.2.dev32.dist-info/licenses/LICENSE,sha256=v0RrUsdV3IDoZhrRce297IXS3xMHNJ-_LdLpFAUWb9k,1072
200
- verifiers-0.4.2.dev32.dist-info/RECORD,,
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,,