real-browser-mcp-server 1.1.3 → 1.1.5
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/.github/workflows/publish.yml +30 -4
- package/package.json +1 -1
- package/src/shared/tools.js +4 -4
|
@@ -37,15 +37,15 @@ jobs:
|
|
|
37
37
|
|
|
38
38
|
steps:
|
|
39
39
|
- name: 📥 Checkout Repository
|
|
40
|
-
uses: actions/checkout@
|
|
40
|
+
uses: actions/checkout@v5
|
|
41
41
|
with:
|
|
42
42
|
fetch-depth: 0
|
|
43
43
|
token: ${{ secrets.GH_TOKEN || github.token }}
|
|
44
44
|
|
|
45
45
|
- name: 🟢 Setup Node.js
|
|
46
|
-
uses: actions/setup-node@
|
|
46
|
+
uses: actions/setup-node@v5
|
|
47
47
|
with:
|
|
48
|
-
node-version: '
|
|
48
|
+
node-version: '22'
|
|
49
49
|
registry-url: 'https://registry.npmjs.org'
|
|
50
50
|
|
|
51
51
|
- name: ⚙️ Configure Git
|
|
@@ -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
|
+
"version": "1.1.5",
|
|
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",
|
package/src/shared/tools.js
CHANGED
|
@@ -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) देता
|
|
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,
|