diff --git a/package-lock.json b/package-lock.json index 5eb6888e..cf0e46bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@modelcontextprotocol/sdk": "1.20.0", "core-js": "3.46.0", "debug": "4.4.3", - "puppeteer-core": "^24.24.0", + "puppeteer-core": "^24.24.1", "yargs": "18.0.0", "zod": "^3.25.76" }, @@ -35,7 +35,7 @@ "eslint-plugin-import": "^2.32.0", "globals": "^16.4.0", "prettier": "^3.6.2", - "puppeteer": "24.24.0", + "puppeteer": "24.24.1", "sinon": "^21.0.0", "typescript": "^5.9.2", "typescript-eslint": "^8.43.0" @@ -446,16 +446,16 @@ } }, "node_modules/@puppeteer/browsers": { - "version": "2.10.11", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.11.tgz", - "integrity": "sha512-kp3ORGce+oC3qUMJ+g5NH9W4Q7mMG7gV2I+alv0bCbfkZ36B2V/xKCg9uYavSgjmsElhwBneahWjJP7A6fuKLw==", + "version": "2.10.12", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.12.tgz", + "integrity": "sha512-mP9iLFZwH+FapKJLeA7/fLqOlSUwYpMwjR1P5J23qd4e7qGJwecJccJqHYrjw33jmIZYV4dtiTHPD/J+1e7cEw==", "license": "Apache-2.0", "dependencies": { "debug": "^4.4.3", "extract-zip": "^2.0.1", "progress": "^2.0.3", "proxy-agent": "^6.5.0", - "semver": "^7.7.2", + "semver": "^7.7.3", "tar-fs": "^3.1.1", "yargs": "^17.7.2" }, @@ -1537,9 +1537,9 @@ } }, "node_modules/bare-fs": { - "version": "4.4.9", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.4.9.tgz", - "integrity": "sha512-sh8UV8OvXBZa3Yg5rhF1LNH3U4DfHniexdqyUXelC1thQUxO9TCF37yvd1/7Ir+cgeSg/6YrXyH67xvRr7yaOg==", + "version": "4.4.10", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.4.10.tgz", + "integrity": "sha512-arqVF+xX/rJHwrONZaSPhlzleT2gXwVs9rsAe1p1mIVwWZI2A76/raio+KwwxfWMO8oV9Wo90EaUkS2QwVmy4w==", "license": "Apache-2.0", "optional": true, "dependencies": { @@ -1604,9 +1604,9 @@ } }, "node_modules/bare-url": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.2.2.tgz", - "integrity": "sha512-g+ueNGKkrjMazDG3elZO1pNs3HY5+mMmOet1jtKyhOaCnkLzitxf26z7hoAEkDNgdNmnc1KIlt/dw6Po6xZMpA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.3.0.tgz", + "integrity": "sha512-c+RCqMSZbkz97Mw1LWR0gcOqwK82oyYKfLoHJ8k13ybi1+I80ffdDzUy0TdAburdrR/kI0/VuN8YgEnJqX+Nyw==", "license": "Apache-2.0", "optional": true, "dependencies": { @@ -4719,18 +4719,18 @@ } }, "node_modules/puppeteer": { - "version": "24.24.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.24.0.tgz", - "integrity": "sha512-jRn6T8rSrQZXIplXICpH2zYJ2XrIFY7Ug0+TxRTuwY8ZTL7+MKDvFH0aLG7Xx3ts4twzxIKZmiYo+qg7whNpZw==", + "version": "24.24.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.24.1.tgz", + "integrity": "sha512-UFTlYvk+Gnvs6NIqbYPDkTfL+5/tUauG8ysUHA5ik+dsSjMK/klxmrTlS7OBEq5filiewu54FUIv+Iz8+bVRLQ==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@puppeteer/browsers": "2.10.11", + "@puppeteer/browsers": "2.10.12", "chromium-bidi": "9.1.0", "cosmiconfig": "^9.0.0", "devtools-protocol": "0.0.1508733", - "puppeteer-core": "24.24.0", + "puppeteer-core": "24.24.1", "typed-query-selector": "^2.12.0" }, "bin": { @@ -4741,17 +4741,17 @@ } }, "node_modules/puppeteer-core": { - "version": "24.24.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.24.0.tgz", - "integrity": "sha512-RR5AeQ6dIbSepDe9PTtfgK1fgD7TuA9qqyGxPbFCyGfvfkbR7MiqNYdE7AhbTaFIqG3hFBtWwbVKVZF8oEqj7Q==", + "version": "24.24.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.24.1.tgz", + "integrity": "sha512-4R9/hCjmyUBbQqjrCa+y4Pzgl3LneLfqB+Whh2JujA5Wzg+prnO60GxDPjAJmM+uirYxDx/8jIm0hGu8yDTyiA==", "license": "Apache-2.0", "dependencies": { - "@puppeteer/browsers": "2.10.11", + "@puppeteer/browsers": "2.10.12", "chromium-bidi": "9.1.0", "debug": "^4.4.3", "devtools-protocol": "0.0.1508733", "typed-query-selector": "^2.12.0", - "webdriver-bidi-protocol": "0.3.6", + "webdriver-bidi-protocol": "0.3.7", "ws": "^8.18.3" }, "engines": { @@ -5045,9 +5045,9 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -5869,9 +5869,9 @@ } }, "node_modules/webdriver-bidi-protocol": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/webdriver-bidi-protocol/-/webdriver-bidi-protocol-0.3.6.tgz", - "integrity": "sha512-mlGndEOA9yK9YAbvtxaPTqdi/kaCWYYfwrZvGzcmkr/3lWM+tQj53BxtpVd6qbC6+E5OnHXgCcAhre6AkXzxjA==", + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/webdriver-bidi-protocol/-/webdriver-bidi-protocol-0.3.7.tgz", + "integrity": "sha512-wIx5Gu/LLTeexxilpk8WxU2cpGAKlfbWRO5h+my6EMD1k5PYqM1qQO1MHUFf4f3KRnhBvpbZU7VkizAgeSEf7g==", "license": "Apache-2.0" }, "node_modules/which": { diff --git a/package.json b/package.json index a278db9f..ef7b18be 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "@modelcontextprotocol/sdk": "1.20.0", "core-js": "3.46.0", "debug": "4.4.3", - "puppeteer-core": "^24.24.0", + "puppeteer-core": "^24.24.1", "yargs": "18.0.0", "zod": "^3.25.76" }, @@ -60,7 +60,7 @@ "eslint-plugin-import": "^2.32.0", "globals": "^16.4.0", "prettier": "^3.6.2", - "puppeteer": "24.24.0", + "puppeteer": "24.24.1", "sinon": "^21.0.0", "typescript": "^5.9.2", "typescript-eslint": "^8.43.0" diff --git a/src/browser.ts b/src/browser.ts index 76fd14f4..a54d4e4b 100644 --- a/src/browser.ts +++ b/src/browser.ts @@ -142,9 +142,7 @@ export async function launch(options: McpLaunchOptions): Promise { } catch (error) { if ( userDataDir && - ((error as Error).message.includes('The browser is already running') || - (error as Error).message.includes('Target closed') || - (error as Error).message.includes('Connection closed')) + (error as Error).message.includes('The browser is already running') ) { throw new Error( `The browser is already running for ${userDataDir}. Use --isolated to run multiple browser instances.`,