From 22ad2b64350e20e3efa0f7644e471949a038f612 Mon Sep 17 00:00:00 2001 From: Jin Date: Wed, 29 Jul 2026 23:07:46 +0800 Subject: [PATCH] fix(cli): bump firecrawl dep to 4.26.0 for proxy CONNECT fix Fixes #172. The firecrawl SDK pinned axios at exactly 1.15.2, which predates the CONNECT-tunneling fix shipped in axios@1.16.1 (axios/axios#10858). Pre-1.16.1 axios forwards HTTPS requests to an HTTP proxy in forward-proxy style (POST https://host/path HTTP/1.1) instead of issuing a CONNECT tunnel, so any proxy that only handles CONNECT for HTTPS (xray, squid, tinyproxy, mitmproxy, ...) rejects every CLI request with a non-2xx (observed 404 on xray, 400 on others). firecrawl@4.26.0 already ships axios@1.18.0, so bumping the dep is the smallest change that resolves the bug without touching CLI source code or pulling in unrelated SDK changes from later releases. Verified: - pnpm type-check clean - 390 vitest tests pass - axios@1.15.2 via local xray proxy -> ERR status=400 (bug reproduced) - axios@1.18.0 via same proxy -> 200 OK (CONNECT tunneling works) Workaround no_proxy=api.firecrawl.dev is no longer required. --- package.json | 2 +- pnpm-lock.yaml | 50 +++++++++++++++++++++++++++++++++++++------------- 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 66923b8f2b..1482ae7cb5 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "dependencies": { "@inquirer/prompts": "^8.2.1", "commander": "^14.0.2", - "firecrawl": "4.24.0", + "firecrawl": "4.26.0", "yaml": "^2.9.0", "zod-to-json-schema": "3.24.6" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d5126333bf..28c2e25213 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^14.0.2 version: 14.0.2 firecrawl: - specifier: 4.24.0 - version: 4.24.0 + specifier: 4.26.0 + version: 4.26.0 yaml: specifier: ^2.9.0 version: 2.9.0 @@ -507,6 +507,10 @@ packages: '@vitest/utils@4.0.16': resolution: {integrity: sha512-h8z9yYhV3e1LEfaQ3zdypIrnAg/9hguReGZoS7Gl0aBG5xgA410zBqECqmaF/+RkTggRsfnzc1XaAHA6bmUufA==} + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + ansi-escapes@7.2.0: resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==} engines: {node: '>=18'} @@ -526,8 +530,8 @@ packages: asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - axios@1.15.2: - resolution: {integrity: sha512-wLrXxPtcrPTsNlJmKjkPnNPK2Ihe0hn0wGSaTEiHRPxwjvJwT3hKmXF4dpqxmPO9SoNb2FsYXj/xEo0gHN+D5A==} + axios@1.18.0: + resolution: {integrity: sha512-E32NzpYKp++W7XRe52rHiXV2ehxmh3wbdgO7MHeFM+vqxLBYHzt0ElkiImtOBxtOmyp0yoC8C6uESVV84Y2/hw==} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -663,12 +667,12 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - firecrawl@4.24.0: - resolution: {integrity: sha512-kP9E3Up7eF/0Qe8x2tPU/Mcvx0v6Vks397Gkln1+gZKyLAGtIQNEW0+KZcDPS/meRPodGlVi4Z77doQ2Twq74w==} + firecrawl@4.26.0: + resolution: {integrity: sha512-v5LtkRmzN5wIJD7pLdNtZKFsE45adC3SRGK3xp+xa6m1NkiuR3Mreq4yFikjE9FIPAPESY9rHGtbvvr67QYf/Q==} engines: {node: '>=22.0.0'} - follow-redirects@1.15.11: - resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} + follow-redirects@1.16.0: + resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -720,6 +724,10 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} @@ -1391,6 +1399,12 @@ snapshots: '@vitest/pretty-format': 4.0.16 tinyrainbow: 3.0.3 + agent-base@6.0.2: + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + ansi-escapes@7.2.0: dependencies: environment: 1.1.0 @@ -1403,13 +1417,15 @@ snapshots: asynckit@0.4.0: {} - axios@1.15.2: + axios@1.18.0: dependencies: - follow-redirects: 1.15.11 + follow-redirects: 1.16.0 form-data: 4.0.5 + https-proxy-agent: 5.0.1 proxy-from-env: 2.1.0 transitivePeerDependencies: - debug + - supports-color braces@3.0.3: dependencies: @@ -1553,16 +1569,17 @@ snapshots: dependencies: to-regex-range: 5.0.1 - firecrawl@4.24.0: + firecrawl@4.26.0: dependencies: - axios: 1.15.2 + axios: 1.18.0 typescript-event-target: 1.1.2 zod: 3.25.76 zod-to-json-schema: 3.24.6(zod@3.25.76) transitivePeerDependencies: - debug + - supports-color - follow-redirects@1.15.11: {} + follow-redirects@1.16.0: {} form-data@4.0.5: dependencies: @@ -1611,6 +1628,13 @@ snapshots: dependencies: function-bind: 1.1.2 + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + human-signals@5.0.0: {} husky@9.1.7: {}