real-browser-mcp-server 1.1.3 → 1.1.4

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.
@@ -82,11 +82,37 @@ jobs:
82
82
 
83
83
  echo "📈 Selected increment type: $INCREMENT_TYPE"
84
84
 
85
+ # Calculate the new version before bumping
86
+ CURRENT_VERSION=$(node -p "require('./package.json').version")
87
+ echo "📦 Current version: $CURRENT_VERSION"
88
+
89
+ # Calculate expected new version
90
+ IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT_VERSION"
91
+ case "$INCREMENT_TYPE" in
92
+ major) NEW_VERSION="$((MAJOR + 1)).0.0" ;;
93
+ minor) NEW_VERSION="$MAJOR.$((MINOR + 1)).0" ;;
94
+ patch) NEW_VERSION="$MAJOR.$MINOR.$((PATCH + 1))" ;;
95
+ esac
96
+ echo "🔮 Expected new version: $NEW_VERSION"
97
+
98
+ # Check if tag already exists locally and remove it
99
+ if git tag -l "v$NEW_VERSION" | grep -q "v$NEW_VERSION"; then
100
+ echo "⚠️ Tag v$NEW_VERSION exists locally, removing..."
101
+ git tag -d "v$NEW_VERSION"
102
+ fi
103
+
104
+ # Check if tag exists on remote and delete it
105
+ if git ls-remote --tags origin "v$NEW_VERSION" | grep -q "v$NEW_VERSION"; then
106
+ echo "⚠️ Tag v$NEW_VERSION exists on remote, deleting..."
107
+ git push origin --delete "v$NEW_VERSION" || true
108
+ fi
109
+
85
110
  # Bump version, commit changes and create tag
86
111
  npm version $INCREMENT_TYPE -m "🔖 Release: v%s [skip ci]"
87
112
 
88
- # Capture new version for subsequent steps
113
+ # Capture actual new version for subsequent steps
89
114
  NEW_VERSION=$(node -p "require('./package.json').version")
115
+ echo "✅ New version: $NEW_VERSION"
90
116
  echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV
91
117
  echo "version=v$NEW_VERSION" >> $GITHUB_OUTPUT
92
118
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "real-browser-mcp-server",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "description": "MCP Server for Real Browser - Patchright (undetected Playwright fork) with 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",
@@ -563,8 +563,8 @@ const TOOLS = [
563
563
  {
564
564
  name: 'screenshot',
565
565
  emoji: '📸',
566
- description: 'Capture a screenshot of the viewport, the full scrollable page, or a specific element. Returns the image directly to the AI agent (base64) and can optionally save it to a file.',
567
- descriptionHindi: 'स्क्रीनशॉट लेना — viewport, पूरा पेज, या किसी element का। Image सीधे AI को मिलती है + file में save हो सकती है।',
566
+ description: 'Capture a screenshot of the viewport, the full scrollable page, or a specific element. Returns the image directly to the AI agent (base64) and can optionally save it to a file. EFFICIENCY RULE: PREFER a single FULL-PAGE screenshot (set fullPage: true) so the entire page is captured in one shot, then complete ALL related work for that page from this single capture (read, click, type, extract). Take a SECOND screenshot ONLY IF the work genuinely cannot be finished from the first one, OR after the page actually changes (navigation, modal/popup, or new dynamic content loads). Do NOT take repeated screenshots of the SAME unchanged page.',
567
+ descriptionHindi: 'स्क्रीनशॉट लेना — viewport, पूरा पेज, या किसी element का। Image सीधे AI को मिलती है + file में save हो सकती है। नियम: पहले पूरे पेज का full-page (लॉन्ग) स्क्रीनशॉट लें (fullPage: true) ताकि पूरा पेज एक ही बार में दिख जाए, फिर उसी एक image से उस पेज का सारा काम (पढ़ना, क्लिक, टाइप, data निकालना) एक साथ complete करें। दूसरा स्क्रीनशॉट सिर्फ़ तभी लें जब पहले वाले से काम पूरा न हो पाए, या पेज सच में बदल जाए (navigation, modal/popup, या नया dynamic content)। बिना बदलाव के उसी पेज का बार-बार स्क्रीनशॉट न लें।',
568
568
  category: 'capture',
569
569
  requiresBrowser: true,
570
570
  requiresPage: true,
@@ -606,8 +606,8 @@ const TOOLS = [
606
606
  {
607
607
  name: 'see_page',
608
608
  emoji: '👁️',
609
- description: 'AI VISION ("eyes"): Visually SEE the current page exactly like a human does. Captures a screenshot and returns the actual image to the AI agent so it can visually understand the layout, AND returns a "visual map" of all visible interactive elements (buttons, links, inputs) with their on-screen position (x/y/width/height), text label, and a click-ready selector. Use this to look at a page before deciding where to click/type.',
610
- descriptionHindi: 'AI विज़न ("आँखें"): पेज को इंसान की तरह देखना। स्क्रीनशॉट image सीधे AI को भेजता है ताकि वह layout देख सके + सभी दिखने वाले clickable elements का visual map (position + text + selector) देता है ताकि AI देखकर तय करे कहाँ क्लिक/टाइप करना है।',
609
+ description: 'AI VISION ("eyes"): Visually SEE the current page exactly like a human does. Captures a screenshot and returns the actual image to the AI agent so it can visually understand the layout, AND returns a "visual map" of all visible interactive elements (buttons, links, inputs) with their on-screen position (x/y/width/height), text label, and a click-ready selector. Use this to look at a page before deciding where to click/type. EFFICIENCY RULE: PREFER a single FULL-PAGE view (set fullPage: true) so the whole page and all its interactive elements are mapped in one shot, then plan and perform ALL needed actions for that page (read, click, type, extract) from this single view. Call see_page a SECOND time ONLY IF the task genuinely cannot be completed from the first view, OR after the page actually changes — navigation, a modal/popup opens, or new dynamic content loads. Do NOT re-capture the SAME unchanged page repeatedly.',
610
+ descriptionHindi: 'AI विज़न ("आँखें"): पेज को इंसान की तरह देखना। स्क्रीनशॉट image सीधे AI को भेजता है ताकि वह layout देख सके + सभी दिखने वाले clickable elements का visual map (position + text + selector) देता है। नियम: पहले पूरे पेज का full-page view लें (fullPage: true) ताकि पूरा पेज और उसके सारे elements एक ही बार में map हो जाएँ, फिर उसी एक view से उस पेज के सारे ज़रूरी काम (पढ़ना, क्लिक, टाइप, data निकालना) एक साथ पूरे करें। दूसरी बार see_page सिर्फ़ तभी लें जब पहले view से काम पूरा न हो पाए, या पेज सच में बदल जाए (navigation, modal/popup खुले, या नया dynamic content load हो)। बिना बदलाव के उसी पेज का दोबारा स्क्रीनशॉट न लें।',
611
611
  category: 'vision',
612
612
  requiresBrowser: true,
613
613
  requiresPage: true,