brave-real-browser-mcp-server 2.41.1 → 2.41.2

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brave-real-browser-mcp-server",
3
- "version": "2.41.1",
3
+ "version": "2.41.2",
4
4
  "description": "MCP Server for Brave Real Browser - Puppeteer with Brave Browser, Stealth Mode, Ad Blocker, and Turnstile Auto-Solver for undetectable web automation.",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/esm/index.mjs",
@@ -75,7 +75,7 @@
75
75
  "license": "ISC",
76
76
  "dependencies": {
77
77
  "@modelcontextprotocol/sdk": "^1.25.3",
78
- "brave-real-puppeteer-core": "^24.36.NaN.1",
78
+ "brave-real-puppeteer-core": "^24.36.1-brave.2",
79
79
  "ghost-cursor": "^1.4.2",
80
80
  "puppeteer-extra": "^3.3.6",
81
81
  "puppeteer-extra-plugin-stealth": "^2.11.2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brave-real-blocker",
3
- "version": "1.17.1",
3
+ "version": "1.17.2",
4
4
  "description": "Advanced uBlock Origin management and stealth features for Brave Real Browser",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -64,7 +64,7 @@
64
64
  "@types/adm-zip": "^0.5.5",
65
65
  "@types/fs-extra": "^11.0.4",
66
66
  "@types/node": "^20.0.0",
67
- "brave-real-puppeteer-core": "^24.36.NaN.1",
67
+ "brave-real-puppeteer-core": "^24.36.1-brave.2",
68
68
  "mocha": "^10.4.0",
69
69
  "puppeteer-core": ">=24.0.0",
70
70
  "sinon": "^17.0.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brave-real-launcher",
3
- "version": "1.23.1",
3
+ "version": "1.23.2",
4
4
  "description": "Launch Brave Browser with ease from node. Based on chrome-launcher with Brave-specific support.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -54,7 +54,7 @@
54
54
  "typescript": "^5.0.0"
55
55
  },
56
56
  "dependencies": {
57
- "brave-real-blocker": "^1.17.1",
57
+ "brave-real-blocker": "^1.17.2",
58
58
  "escape-string-regexp": "^5.0.0",
59
59
  "is-wsl": "^3.1.0",
60
60
  "which": "^6.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brave-real-playwright-core",
3
- "version": "1.59.1.1",
3
+ "version": "1.59.2",
4
4
  "description": "Brave-optimized Playwright Core (v1.57.0) with comprehensive stealth patches and error stack sanitization",
5
5
  "keywords": [
6
6
  "playwright",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brave-real-puppeteer-core",
3
- "version": "24.36.NaN.1",
3
+ "version": "24.36.1-brave.2",
4
4
  "description": "🦁 Brave Real-World Optimized Puppeteer & Playwright Core with 1-5ms ultra-fast timing, 50+ professional stealth features, intelligent browser auto-detection, and 100% bot detection bypass. Features cross-platform Brave browser integration, comprehensive anti-detection, and breakthrough performance improvements.",
5
5
  "keywords": [
6
6
  "automation",
@@ -134,7 +134,7 @@
134
134
  "test-version": "node ./scripts/test-version-management.js"
135
135
  },
136
136
  "dependencies": {
137
- "brave-real-launcher": "^1.23.1",
137
+ "brave-real-launcher": "^1.23.2",
138
138
  "get-east-asian-width": "^1.4.0",
139
139
  "yargs": "^18.0.0"
140
140
  },
@@ -31,6 +31,9 @@ const PACKAGES = [
31
31
  ];
32
32
 
33
33
  function incrementVersion(version, type) {
34
+ // Clean the version string first
35
+ version = String(version).trim();
36
+
34
37
  // Handle versions with -patch suffix (e.g., "1.57.0-patch.15")
35
38
  const patchSuffixMatch = version.match(/^(.+)-patch\.(\d+)$/);
36
39
  if (patchSuffixMatch) {
@@ -39,26 +42,49 @@ function incrementVersion(version, type) {
39
42
  return `${baseVersion}-patch.${patchNum + 1}`;
40
43
  }
41
44
 
42
- // Standard semver handling
43
- const parts = version.split('.').map(Number);
45
+ // Handle versions with -brave suffix (e.g., "24.36.1-brave.1")
46
+ const braveSuffixMatch = version.match(/^(.+)-brave\.(\d+)$/);
47
+ if (braveSuffixMatch) {
48
+ const baseVersion = braveSuffixMatch[1];
49
+ const braveNum = parseInt(braveSuffixMatch[2], 10);
50
+ return `${baseVersion}-brave.${braveNum + 1}`;
51
+ }
52
+
53
+ // Extract only the semver part (ignore any prerelease/build metadata)
54
+ const semverMatch = version.match(/^(\d+)\.(\d+)\.(\d+)/);
55
+ if (!semverMatch) {
56
+ console.warn(` ⚠️ Invalid version format: "${version}", defaulting to 1.0.0`);
57
+ return '1.0.1';
58
+ }
59
+
60
+ // Parse version parts, ensuring valid numbers
61
+ let major = parseInt(semverMatch[1], 10) || 0;
62
+ let minor = parseInt(semverMatch[2], 10) || 0;
63
+ let patch = parseInt(semverMatch[3], 10) || 0;
64
+
65
+ // Validate - must be valid numbers
66
+ if (isNaN(major) || isNaN(minor) || isNaN(patch)) {
67
+ console.warn(` ⚠️ Version contains NaN: "${version}", defaulting to 1.0.1`);
68
+ return '1.0.1';
69
+ }
44
70
 
45
71
  switch (type) {
46
72
  case 'major':
47
- parts[0]++;
48
- parts[1] = 0;
49
- parts[2] = 0;
73
+ major++;
74
+ minor = 0;
75
+ patch = 0;
50
76
  break;
51
77
  case 'minor':
52
- parts[1]++;
53
- parts[2] = 0;
78
+ minor++;
79
+ patch = 0;
54
80
  break;
55
81
  case 'patch':
56
82
  default:
57
- parts[2]++;
83
+ patch++;
58
84
  break;
59
85
  }
60
86
 
61
- return parts.join('.');
87
+ return `${major}.${minor}.${patch}`;
62
88
  }
63
89
 
64
90
  function getNpmVersion(packageName) {
@@ -91,12 +117,48 @@ function writePackageJson(pkgPath, data) {
91
117
  function compareVersions(v1, v2) {
92
118
  // Returns: 1 if v1 > v2, -1 if v1 < v2, 0 if equal
93
119
  const parse = (v) => {
120
+ v = String(v).trim();
121
+
122
+ // Handle -patch suffix
94
123
  const patchMatch = v.match(/^(.+)-patch\.(\d+)$/);
95
124
  if (patchMatch) {
96
- const base = patchMatch[1].split('.').map(Number);
97
- return [...base, parseInt(patchMatch[2], 10)];
125
+ const semverMatch = patchMatch[1].match(/^(\d+)\.(\d+)\.(\d+)/);
126
+ if (semverMatch) {
127
+ return [
128
+ parseInt(semverMatch[1], 10) || 0,
129
+ parseInt(semverMatch[2], 10) || 0,
130
+ parseInt(semverMatch[3], 10) || 0,
131
+ parseInt(patchMatch[2], 10) || 0
132
+ ];
133
+ }
134
+ }
135
+
136
+ // Handle -brave suffix
137
+ const braveMatch = v.match(/^(.+)-brave\.(\d+)$/);
138
+ if (braveMatch) {
139
+ const semverMatch = braveMatch[1].match(/^(\d+)\.(\d+)\.(\d+)/);
140
+ if (semverMatch) {
141
+ return [
142
+ parseInt(semverMatch[1], 10) || 0,
143
+ parseInt(semverMatch[2], 10) || 0,
144
+ parseInt(semverMatch[3], 10) || 0,
145
+ parseInt(braveMatch[2], 10) || 0
146
+ ];
147
+ }
148
+ }
149
+
150
+ // Standard semver parsing - extract only digits
151
+ const semverMatch = v.match(/^(\d+)\.(\d+)\.(\d+)/);
152
+ if (semverMatch) {
153
+ return [
154
+ parseInt(semverMatch[1], 10) || 0,
155
+ parseInt(semverMatch[2], 10) || 0,
156
+ parseInt(semverMatch[3], 10) || 0
157
+ ];
98
158
  }
99
- return v.split('.').map(Number);
159
+
160
+ // Fallback - return zeros
161
+ return [0, 0, 0];
100
162
  };
101
163
 
102
164
  const parts1 = parse(v1);
@@ -105,8 +167,11 @@ function compareVersions(v1, v2) {
105
167
  for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) {
106
168
  const a = parts1[i] || 0;
107
169
  const b = parts2[i] || 0;
108
- if (a > b) return 1;
109
- if (a < b) return -1;
170
+ // Extra safety - ensure numbers
171
+ const numA = isNaN(a) ? 0 : a;
172
+ const numB = isNaN(b) ? 0 : b;
173
+ if (numA > numB) return 1;
174
+ if (numA < numB) return -1;
110
175
  }
111
176
  return 0;
112
177
  }