diff --git a/pyproject.toml b/pyproject.toml index ab921b56d..92befc295 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,7 +37,7 @@ dependencies = [ "nest-asyncio>=1.6.0", # for jupyter notebooks "openai>=1.108.1", "openai-agents>=0.0.7", - "prime-tunnel>=0.1.6", + "prime-tunnel>=0.1.7", "prime-sandboxes>=0.2.21", "pydantic>=2.11.9", "requests", diff --git a/verifiers/envs/experimental/cli_agent_env.py b/verifiers/envs/experimental/cli_agent_env.py index 9645cbbba..52fe86406 100644 --- a/verifiers/envs/experimental/cli_agent_env.py +++ b/verifiers/envs/experimental/cli_agent_env.py @@ -185,8 +185,10 @@ async def get_tunnel_url(self) -> str: try: registered = await self._tunnel.check_registered() if not registered: + frpc_output = "\n".join(self._tunnel.recent_output) self.logger.warning( - "Tunnel registration expired server-side, recreating." + "Tunnel registration expired server-side, recreating. " + f"frpc output:\n{frpc_output}" ) self._tunnel.sync_stop() self._tunnel = None @@ -198,13 +200,15 @@ async def get_tunnel_url(self) -> str: if self._tunnel is None: interception_server = self._require_interception_server() port = interception_server.port + tunnel_log_cb = lambda line: self.logger.debug(f"tunnel: {line}") if self.logger.isEnabledFor(logging.DEBUG): self._tunnel = Tunnel( local_port=port, log_level="debug", + log_callback=tunnel_log_cb, ) else: - self._tunnel = Tunnel(local_port=port) + self._tunnel = Tunnel(local_port=port, log_callback=tunnel_log_cb) url = await self._tunnel.start() self._tunnel_last_checked = time.time() self.logger.debug(f"Prime Tunnel started: {url}")