brave-real-browser-mcp-server 2.33.3 → 2.33.8
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/ISSUE_TEMPLATE/general_issue.yaml +58 -0
- package/.github/SETUP.md +111 -0
- package/.github/workflows/ecosystem-sync.yml +77 -0
- package/.github/workflows/monorepo-publish.yml +426 -0
- package/Dockerfile +79 -0
- package/LICENSE.md +21 -0
- package/README.md +317 -403
- package/lib/cjs/index.js +220 -0
- package/lib/cjs/module/pageController.js +659 -0
- package/lib/cjs/module/turnstile.js +63 -0
- package/lib/esm/index.mjs +195 -0
- package/lib/esm/module/pageController.mjs +656 -0
- package/lib/esm/module/turnstile.mjs +62 -0
- package/package.json +61 -89
- package/packages/brave-real-blocker/README.md +74 -0
- package/packages/brave-real-blocker/assets/ublock-custom-filters.txt +2709 -0
- package/packages/brave-real-blocker/cache/easylist.txt +85787 -0
- package/packages/brave-real-blocker/cache/easyprivacy.txt +55701 -0
- package/packages/brave-real-blocker/cache/filter-cache.json +15 -0
- package/packages/brave-real-blocker/cache/merged-ublock-rules.txt +2607 -0
- package/packages/brave-real-blocker/cache/ublock_annoyances.txt +9 -0
- package/packages/brave-real-blocker/cache/ublock_badware.txt +6355 -0
- package/packages/brave-real-blocker/cache/ublock_filters.txt +11258 -0
- package/packages/brave-real-blocker/cache/ublock_privacy.txt +2571 -0
- package/packages/brave-real-blocker/cache/ublock_quick_fixes.txt +459 -0
- package/packages/brave-real-blocker/cache/ublock_resource_abuse.txt +202 -0
- package/packages/brave-real-blocker/cache/ublock_unbreak.txt +5912 -0
- package/packages/brave-real-blocker/dist/index.d.mts +2 -0
- package/packages/brave-real-blocker/dist/index.d.ts +2 -0
- package/packages/brave-real-blocker/dist/index.js +1634 -0
- package/packages/brave-real-blocker/dist/index.js.map +1 -0
- package/packages/brave-real-blocker/dist/index.mjs +1594 -0
- package/packages/brave-real-blocker/dist/index.mjs.map +1 -0
- package/packages/brave-real-blocker/dist/singleton.d.mts +190 -0
- package/packages/brave-real-blocker/dist/singleton.d.ts +190 -0
- package/packages/brave-real-blocker/dist/singleton.js +1618 -0
- package/packages/brave-real-blocker/dist/singleton.js.map +1 -0
- package/packages/brave-real-blocker/dist/singleton.mjs +1584 -0
- package/packages/brave-real-blocker/dist/singleton.mjs.map +1 -0
- package/packages/brave-real-blocker/package.json +78 -0
- package/packages/brave-real-blocker/src/brave-blocker.ts +246 -0
- package/packages/brave-real-blocker/src/cosmetic.ts +279 -0
- package/packages/brave-real-blocker/src/filter-updater.ts +374 -0
- package/packages/brave-real-blocker/src/index.ts +13 -0
- package/packages/brave-real-blocker/src/logger.ts +68 -0
- package/packages/brave-real-blocker/src/redirects.ts +238 -0
- package/packages/brave-real-blocker/src/scriptlets.ts +263 -0
- package/packages/brave-real-blocker/src/singleton.ts +108 -0
- package/packages/brave-real-blocker/src/stealth.ts +317 -0
- package/packages/brave-real-blocker/test/visual-test.ts +203 -0
- package/packages/brave-real-blocker/tsconfig.json +32 -0
- package/packages/brave-real-blocker/tsup.config.ts +10 -0
- package/packages/brave-real-launcher/.actrc +3 -0
- package/packages/brave-real-launcher/.github/workflows/chrome-launcher-sync.yml +414 -0
- package/packages/brave-real-launcher/LICENSE +202 -0
- package/packages/brave-real-launcher/README.md +196 -0
- package/packages/brave-real-launcher/bin/print-brave-path.cjs +17 -0
- package/packages/brave-real-launcher/dist/blocker-integration.d.ts +53 -0
- package/packages/brave-real-launcher/dist/blocker-integration.js +165 -0
- package/packages/brave-real-launcher/dist/blocker-integration.mjs +153 -0
- package/packages/brave-real-launcher/dist/brave-finder.d.ts +34 -0
- package/packages/brave-real-launcher/dist/brave-finder.js +477 -0
- package/packages/brave-real-launcher/dist/brave-finder.mjs +465 -0
- package/packages/brave-real-launcher/dist/brave-installer.d.ts +57 -0
- package/packages/brave-real-launcher/dist/brave-installer.js +373 -0
- package/packages/brave-real-launcher/dist/brave-installer.mjs +334 -0
- package/packages/brave-real-launcher/dist/brave-launcher.d.ts +117 -0
- package/packages/brave-real-launcher/dist/brave-launcher.js +715 -0
- package/packages/brave-real-launcher/dist/brave-launcher.mjs +672 -0
- package/packages/brave-real-launcher/dist/chrome-launcher.d.ts +96 -0
- package/packages/brave-real-launcher/dist/chrome-launcher.js +493 -0
- package/packages/brave-real-launcher/dist/chrome-launcher.mjs +452 -0
- package/packages/brave-real-launcher/dist/chrome-version.d.ts +75 -0
- package/packages/brave-real-launcher/dist/chrome-version.js +163 -0
- package/packages/brave-real-launcher/dist/chrome-version.mjs +154 -0
- package/packages/brave-real-launcher/dist/errors.d.ts +104 -0
- package/packages/brave-real-launcher/dist/errors.js +252 -0
- package/packages/brave-real-launcher/dist/errors.mjs +233 -0
- package/packages/brave-real-launcher/dist/flags.d.ts +5 -0
- package/packages/brave-real-launcher/dist/flags.js +121 -0
- package/packages/brave-real-launcher/dist/flags.mjs +119 -0
- package/packages/brave-real-launcher/dist/index.d.ts +14 -0
- package/packages/brave-real-launcher/dist/index.js +90 -0
- package/packages/brave-real-launcher/dist/index.mjs +22 -0
- package/packages/brave-real-launcher/dist/logger.d.ts +31 -0
- package/packages/brave-real-launcher/dist/logger.js +75 -0
- package/packages/brave-real-launcher/dist/logger.mjs +73 -0
- package/packages/brave-real-launcher/dist/random-port.d.ts +4 -0
- package/packages/brave-real-launcher/dist/random-port.js +24 -0
- package/packages/brave-real-launcher/dist/random-port.mjs +22 -0
- package/packages/brave-real-launcher/dist/stealth-utils.d.ts +209 -0
- package/packages/brave-real-launcher/dist/stealth-utils.js +837 -0
- package/packages/brave-real-launcher/dist/stealth-utils.mjs +827 -0
- package/packages/brave-real-launcher/dist/utils.d.ts +61 -0
- package/packages/brave-real-launcher/dist/utils.js +253 -0
- package/packages/brave-real-launcher/dist/utils.mjs +233 -0
- package/packages/brave-real-launcher/dist/xvfb-support.d.ts +58 -0
- package/packages/brave-real-launcher/dist/xvfb-support.js +226 -0
- package/packages/brave-real-launcher/dist/xvfb-support.mjs +187 -0
- package/packages/brave-real-launcher/docs/chrome-flags-for-tools.md +207 -0
- package/packages/brave-real-launcher/package-scripts.json +36 -0
- package/packages/brave-real-launcher/package.json +88 -0
- package/packages/brave-real-launcher/scripts/check-chrome-launcher-updates.cjs +166 -0
- package/packages/brave-real-launcher/scripts/chrome-launcher-sync.cjs +436 -0
- package/packages/brave-real-launcher/scripts/cleanup-duplicates.cjs +114 -0
- package/packages/brave-real-launcher/scripts/postinstall.cjs +80 -0
- package/packages/brave-real-launcher/scripts/rename-cjs.cjs +48 -0
- package/packages/brave-real-launcher/scripts/rename-esm.cjs +90 -0
- package/packages/brave-real-launcher/scripts/sync-chrome-launcher.cjs +281 -0
- package/packages/brave-real-launcher/scripts/version-increment.cjs +313 -0
- package/packages/brave-real-launcher/src/blocker-integration.ts +186 -0
- package/packages/brave-real-launcher/src/brave-finder.ts +520 -0
- package/packages/brave-real-launcher/src/brave-installer.ts +383 -0
- package/packages/brave-real-launcher/src/brave-launcher.ts +850 -0
- package/packages/brave-real-launcher/src/chrome-launcher.ts +587 -0
- package/packages/brave-real-launcher/src/chrome-version.ts +189 -0
- package/packages/brave-real-launcher/src/errors.ts +441 -0
- package/packages/brave-real-launcher/src/flags.ts +124 -0
- package/packages/brave-real-launcher/src/index.ts +70 -0
- package/packages/brave-real-launcher/src/logger.ts +97 -0
- package/packages/brave-real-launcher/src/random-port.ts +24 -0
- package/packages/brave-real-launcher/src/stealth-utils.ts +873 -0
- package/packages/brave-real-launcher/src/utils.ts +277 -0
- package/packages/brave-real-launcher/src/xvfb-support.ts +224 -0
- package/packages/brave-real-launcher/test/run-basic-tests.js +107 -0
- package/packages/brave-real-launcher/test/run-tests.ps1 +74 -0
- package/packages/brave-real-launcher/test/run-tests.sh +62 -0
- package/packages/brave-real-launcher/tsconfig.json +26 -0
- package/packages/brave-real-puppeteer-core/.github/workflows/auto-update-stealth.yml +276 -0
- package/packages/brave-real-puppeteer-core/README.md +169 -0
- package/packages/brave-real-puppeteer-core/docs/WORKFLOW_FIX_DUPLICATE_PUBLISH.md +241 -0
- package/packages/brave-real-puppeteer-core/index.cjs +58 -0
- package/packages/brave-real-puppeteer-core/index.d.ts +4 -0
- package/packages/brave-real-puppeteer-core/index.js +58 -0
- package/packages/brave-real-puppeteer-core/package.json +146 -0
- package/packages/brave-real-puppeteer-core/patches/playwright-core/lib.patch +297 -0
- package/packages/brave-real-puppeteer-core/patches/playwright-core/src.patch +335 -0
- package/packages/brave-real-puppeteer-core/patches/playwright-core/stealth-lib.patch +68 -0
- package/packages/brave-real-puppeteer-core/patches/playwright-core/stealth-src.patch +23 -0
- package/packages/brave-real-puppeteer-core/patches/puppeteer-core/lib.patch +1522 -0
- package/packages/brave-real-puppeteer-core/patches/puppeteer-core/src.patch +493 -0
- package/packages/brave-real-puppeteer-core/patches/puppeteer-core/stealth-lib.patch +186 -0
- package/packages/brave-real-puppeteer-core/patches/puppeteer-core/stealth-src.patch +254 -0
- package/packages/brave-real-puppeteer-core/patches/stealth-core/fingerprint.patch +126 -0
- package/packages/brave-real-puppeteer-core/patches/stealth-core/function-detection.patch +146 -0
- package/packages/brave-real-puppeteer-core/patches/stealth-core/isolated-world.patch +226 -0
- package/packages/brave-real-puppeteer-core/patches/stealth-core/navigator.patch +79 -0
- package/packages/brave-real-puppeteer-core/patches/stealth-core/runtime-leak.patch +154 -0
- package/packages/brave-real-puppeteer-core/patches/stealth-core/useragent.patch +116 -0
- package/packages/brave-real-puppeteer-core/scripts/ai-agent.js +605 -0
- package/packages/brave-real-puppeteer-core/scripts/analytics.js +311 -0
- package/packages/brave-real-puppeteer-core/scripts/auto-retry.js +343 -0
- package/packages/brave-real-puppeteer-core/scripts/brave-package.js +454 -0
- package/packages/brave-real-puppeteer-core/scripts/captcha-solver.js +321 -0
- package/packages/brave-real-puppeteer-core/scripts/check-versions.js +212 -0
- package/packages/brave-real-puppeteer-core/scripts/chrome-version.js +122 -0
- package/packages/brave-real-puppeteer-core/scripts/create-brave-package.js +689 -0
- package/packages/brave-real-puppeteer-core/scripts/debug-ua.js +85 -0
- package/packages/brave-real-puppeteer-core/scripts/device-emulator.js +572 -0
- package/packages/brave-real-puppeteer-core/scripts/enhanced-patcher.js +442 -0
- package/packages/brave-real-puppeteer-core/scripts/error-handler.js +492 -0
- package/packages/brave-real-puppeteer-core/scripts/form-automator.js +336 -0
- package/packages/brave-real-puppeteer-core/scripts/geo-spoof.js +350 -0
- package/packages/brave-real-puppeteer-core/scripts/human_mouse.js +101 -0
- package/packages/brave-real-puppeteer-core/scripts/patch-validator.js +335 -0
- package/packages/brave-real-puppeteer-core/scripts/patcher.js +330 -0
- package/packages/brave-real-puppeteer-core/scripts/proxy-manager.js +275 -0
- package/packages/brave-real-puppeteer-core/scripts/session-manager.js +355 -0
- package/packages/brave-real-puppeteer-core/scripts/stealth-injector.js +3121 -0
- package/packages/brave-real-puppeteer-core/scripts/utils/index.js +236 -0
- package/packages/brave-real-puppeteer-core/scripts/version-sync-checker.js +223 -0
- package/packages/brave-real-puppeteer-core/test/test.cjs +256 -0
- package/scripts/prepare-publish.js +48 -0
- package/scripts/restore-workspace.js +14 -0
- package/scripts/version-bump.js +128 -0
- package/test/cjs/test.js +227 -0
- package/test/esm/package.json +13 -0
- package/test/esm/test.js +169 -0
- package/test-adblock.js +73 -0
- package/test-ecosystem.js +66 -0
- package/typings.d.ts +79 -0
- package/dist/browser-manager.js +0 -784
- package/dist/browser-manager.test.js +0 -339
- package/dist/core-infrastructure.js +0 -212
- package/dist/handlers/advanced-tools.js +0 -6303
- package/dist/handlers/browser-handlers.js +0 -119
- package/dist/handlers/browser-handlers.test.js +0 -319
- package/dist/handlers/content-handlers.js +0 -526
- package/dist/handlers/file-handlers.js +0 -242
- package/dist/handlers/interaction-handlers.js +0 -482
- package/dist/handlers/interaction-handlers.test.js +0 -440
- package/dist/handlers/navigation-handlers.js +0 -457
- package/dist/handlers/navigation-handlers.test.js +0 -382
- package/dist/handlers/session-sync-handler.js +0 -196
- package/dist/handlers/tool-executor.js +0 -450
- package/dist/index.js +0 -503
- package/dist/lsp/browser-automation-lsp.js +0 -843
- package/dist/lsp/typescript-analyzer.js +0 -523
- package/dist/patch-console.js +0 -30
- package/dist/self-healing-locators.js +0 -641
- package/dist/shared/context-enricher.js +0 -228
- package/dist/shared/event-bus.js +0 -128
- package/dist/shared/sse-lsp-streamer.js +0 -212
- package/dist/system-utils.js +0 -181
- package/dist/tool-definitions.js +0 -1033
- package/dist/transport/index.js +0 -16
- package/dist/transport/progress-notifier.js +0 -237
- package/dist/transport/session-manager.js +0 -333
- package/dist/transport/transport-factory.js +0 -405
- package/dist/unified-server.js +0 -649
- package/dist/workflow-validation.js +0 -286
- package/dist/workflow-validation.test.js +0 -236
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
name: Report Issue
|
|
2
|
+
description: Please use this to report any issue
|
|
3
|
+
labels: [triage]
|
|
4
|
+
assignees:
|
|
5
|
+
- zfcsoftware
|
|
6
|
+
body:
|
|
7
|
+
- type: markdown
|
|
8
|
+
attributes:
|
|
9
|
+
value: |
|
|
10
|
+
Please take care to fill in all fields. Recreating the issue will speed up its resolution. Thank you for contributing to the betterment of the library by reporting issues.
|
|
11
|
+
- type: textarea
|
|
12
|
+
id: issue-detail
|
|
13
|
+
attributes:
|
|
14
|
+
label: Description
|
|
15
|
+
description: Please describe the problem you are experiencing. You only need to provide information about the problem in this field.
|
|
16
|
+
validations:
|
|
17
|
+
required: true
|
|
18
|
+
- type: textarea
|
|
19
|
+
id: issue-recreate
|
|
20
|
+
attributes:
|
|
21
|
+
label: Full steps to reproduce the issue
|
|
22
|
+
description: Please provide a full working code to reproduce the issue. Make sure that the code you provide is directly executable. This step is very important to resolve the issue.
|
|
23
|
+
validations:
|
|
24
|
+
required: true
|
|
25
|
+
- type: dropdown
|
|
26
|
+
id: issue-type
|
|
27
|
+
attributes:
|
|
28
|
+
label: Issue Type
|
|
29
|
+
description: What type of issue would you like to report?
|
|
30
|
+
multiple: true
|
|
31
|
+
options:
|
|
32
|
+
- Bug
|
|
33
|
+
- Build/Install
|
|
34
|
+
- Performance
|
|
35
|
+
- Support
|
|
36
|
+
- Feature Request
|
|
37
|
+
- Documentation Request
|
|
38
|
+
- Others
|
|
39
|
+
- type: dropdown
|
|
40
|
+
id: Operating-System
|
|
41
|
+
attributes:
|
|
42
|
+
label: Operating System
|
|
43
|
+
description: What OS are you seeing the issue in? If you don't see your OS listed, please provide more details in the "Description" section above.
|
|
44
|
+
multiple: true
|
|
45
|
+
options:
|
|
46
|
+
- Windows 10
|
|
47
|
+
- Linux
|
|
48
|
+
- Mac OS
|
|
49
|
+
- Other
|
|
50
|
+
- type: dropdown
|
|
51
|
+
id: use-type
|
|
52
|
+
attributes:
|
|
53
|
+
label: Do you use Docker?
|
|
54
|
+
description: Are you running it with Docker or on your local computer?
|
|
55
|
+
multiple: false
|
|
56
|
+
options:
|
|
57
|
+
- Docker
|
|
58
|
+
- I don't use Docker
|
package/.github/SETUP.md
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# 🔧 GitHub Actions Setup Guide
|
|
2
|
+
|
|
3
|
+
यह गाइड बताएगी कि GitHub Actions workflow को कैसे setup करना है।
|
|
4
|
+
|
|
5
|
+
## 🔐 Required Secrets
|
|
6
|
+
|
|
7
|
+
आपको अपनी GitHub repository में निम्नलिखित secrets को add करना होगा:
|
|
8
|
+
|
|
9
|
+
### 1. GH_TOKEN
|
|
10
|
+
- **Purpose**: Repository access और GitHub releases के लिए
|
|
11
|
+
- **कैसे बनाएं**:
|
|
12
|
+
1. GitHub Settings → Developer settings → Personal access tokens → Tokens (classic)
|
|
13
|
+
2. "Generate new token (classic)" पर click करें
|
|
14
|
+
3. निम्नलिखित permissions select करें:
|
|
15
|
+
- `repo` (Full control of private repositories)
|
|
16
|
+
- `write:packages` (Write packages to GitHub Package Registry)
|
|
17
|
+
- `workflow` (Update GitHub Action workflows)
|
|
18
|
+
4. Token generate करें और copy करें
|
|
19
|
+
|
|
20
|
+
### 2. NPM_TOKEN
|
|
21
|
+
- **Purpose**: NPM पर package publish करने के लिए
|
|
22
|
+
- **कैसे बनाएं**:
|
|
23
|
+
1. NPM website पर login करें (https://www.npmjs.com/)
|
|
24
|
+
2. Profile → Access Tokens → Generate New Token
|
|
25
|
+
3. "Automation" type select करें (recommended for CI/CD)
|
|
26
|
+
4. Token generate करें और copy करें
|
|
27
|
+
|
|
28
|
+
## 🛠️ Secrets को Repository में Add करना
|
|
29
|
+
|
|
30
|
+
1. GitHub repository पर जाएं
|
|
31
|
+
2. Settings → Secrets and variables → Actions
|
|
32
|
+
3. "New repository secret" पर click करें
|
|
33
|
+
4. निम्नलिखित secrets add करें:
|
|
34
|
+
|
|
35
|
+
| Secret Name | Value |
|
|
36
|
+
|-------------|-------|
|
|
37
|
+
| `GH_TOKEN` | आपका GitHub Personal Access Token |
|
|
38
|
+
| `NPM_TOKEN` | आपका NPM Automation Token |
|
|
39
|
+
|
|
40
|
+
## 🚀 Workflow Usage
|
|
41
|
+
|
|
42
|
+
इस project में **2 workflows** हैं:
|
|
43
|
+
|
|
44
|
+
### 1. 🤖 Auto Increment & Publish (Recommended)
|
|
45
|
+
**Simple Auto-Increment**: हमेशा patch version increment करता है
|
|
46
|
+
|
|
47
|
+
#### Automatic Publishing:
|
|
48
|
+
```bash
|
|
49
|
+
# कोई भी change push करें, automatic version increment होगा:
|
|
50
|
+
git commit -m "any change"
|
|
51
|
+
git push origin main # 1.5.0 → 1.5.1 → 1.5.2 → 1.5.3...
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
#### Manual Publishing:
|
|
55
|
+
1. GitHub repository → Actions → "🤖 Auto Increment & Publish"
|
|
56
|
+
2. "Run workflow" click करें
|
|
57
|
+
3. "Publish to NPM?" = `true` रखें
|
|
58
|
+
4. "Run workflow" पर click करें
|
|
59
|
+
|
|
60
|
+
### 2. 🚀 Publish to NPM (Tag-based)
|
|
61
|
+
Traditional tag-based publishing:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Manual tag push के लिए
|
|
65
|
+
git tag v1.5.1
|
|
66
|
+
git push origin v1.5.1
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## 🔢 Simple Auto-Increment System
|
|
70
|
+
|
|
71
|
+
**Current Version**: `1.5.0`
|
|
72
|
+
|
|
73
|
+
हर workflow run पर automatic patch increment:
|
|
74
|
+
- `1.5.0` → `1.5.1`
|
|
75
|
+
- `1.5.1` → `1.5.2`
|
|
76
|
+
- `1.5.2` → `1.5.3`
|
|
77
|
+
- `1.5.3` → `1.5.4`
|
|
78
|
+
- ... and so on
|
|
79
|
+
|
|
80
|
+
**बिल्कुल simple!** 🚀 कोई complex commit message analysis नहीं चाहिए।
|
|
81
|
+
|
|
82
|
+
## 📋 Workflow Features
|
|
83
|
+
|
|
84
|
+
✅ **Automatic Triggers**: Version tags पर auto-publish
|
|
85
|
+
✅ **Manual Triggers**: GitHub UI से manual control
|
|
86
|
+
✅ **Security**: Secrets का safe उपयोग
|
|
87
|
+
✅ **Testing**: Publish से पहले automated tests
|
|
88
|
+
✅ **Version Management**: Automatic version bumping
|
|
89
|
+
✅ **GitHub Releases**: Auto-generated releases
|
|
90
|
+
✅ **Error Handling**: Comprehensive error reporting
|
|
91
|
+
✅ **Summary Reports**: Detailed workflow summaries
|
|
92
|
+
|
|
93
|
+
## 🔍 Troubleshooting
|
|
94
|
+
|
|
95
|
+
### Common Issues:
|
|
96
|
+
|
|
97
|
+
1. **Token Permissions**:
|
|
98
|
+
- GH_TOKEN में सही permissions हों
|
|
99
|
+
- NPM_TOKEN "Automation" type का हो
|
|
100
|
+
|
|
101
|
+
2. **Repository Access**:
|
|
102
|
+
- Repository में Actions enabled हों
|
|
103
|
+
- Secrets properly configured हों
|
|
104
|
+
|
|
105
|
+
3. **Publishing Errors**:
|
|
106
|
+
- Package name conflicts check करें
|
|
107
|
+
- NPM account verified हो
|
|
108
|
+
|
|
109
|
+
## 📞 Support
|
|
110
|
+
|
|
111
|
+
अगर कोई issue आए तो GitHub Issues में report करें।
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
name: 🔄 Ecosystem Auto-Sync
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
# Check for updates daily at midnight UTC
|
|
6
|
+
- cron: '0 0 * * *'
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
sync-upstream:
|
|
11
|
+
name: 🔄 Sync Logic & Rules
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
permissions:
|
|
14
|
+
contents: write
|
|
15
|
+
pull-requests: write
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- name: 📥 Checkout
|
|
19
|
+
uses: actions/checkout@v4
|
|
20
|
+
with:
|
|
21
|
+
token: ${{ secrets.GH_TOKEN || github.token }}
|
|
22
|
+
|
|
23
|
+
- name: 🟢 Setup Node.js
|
|
24
|
+
uses: actions/setup-node@v4
|
|
25
|
+
with:
|
|
26
|
+
node-version: '20'
|
|
27
|
+
registry-url: 'https://registry.npmjs.org'
|
|
28
|
+
|
|
29
|
+
- name: ⚙️ Configure Git
|
|
30
|
+
run: |
|
|
31
|
+
git config --global user.name "brave-real-bot"
|
|
32
|
+
git config --global user.email "bot@bravereal.com"
|
|
33
|
+
|
|
34
|
+
- name: 🔄 Check & Update Blocker Engine
|
|
35
|
+
id: update
|
|
36
|
+
run: |
|
|
37
|
+
cd packages/brave-real-blocker
|
|
38
|
+
|
|
39
|
+
# Check for updates to the adblocker engine
|
|
40
|
+
OUTDATED=$(npm outdated @cliqz/adblocker-puppeteer || true)
|
|
41
|
+
|
|
42
|
+
if [ -n "$OUTDATED" ]; then
|
|
43
|
+
echo "📦 Found update for adblocker-puppeteer!"
|
|
44
|
+
npm install @cliqz/adblocker-puppeteer@latest
|
|
45
|
+
echo "updated=true" >> $GITHUB_OUTPUT
|
|
46
|
+
else
|
|
47
|
+
echo "✅ Blocker engine is up to date"
|
|
48
|
+
echo "updated=false" >> $GITHUB_OUTPUT
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
- name: 📝 Commit & Push Updates
|
|
52
|
+
if: steps.update.outputs.updated == 'true'
|
|
53
|
+
run: |
|
|
54
|
+
git add packages/brave-real-blocker/package.json packages/brave-real-blocker/package-lock.json
|
|
55
|
+
git commit -m "chore(blocker): 🔄 Auto-update blocker engine & rules [skip ci]"
|
|
56
|
+
# Note: We skip CI on the commit, but we could let it run to trigger publish
|
|
57
|
+
# However, typically better to trigger publish explicitly or via PR
|
|
58
|
+
|
|
59
|
+
git push
|
|
60
|
+
|
|
61
|
+
- name: 🚀 Trigger Release
|
|
62
|
+
if: steps.update.outputs.updated == 'true'
|
|
63
|
+
uses: actions/github-script@v6
|
|
64
|
+
with:
|
|
65
|
+
script: |
|
|
66
|
+
// Trigger the publish workflow
|
|
67
|
+
await github.rest.actions.createWorkflowDispatch({
|
|
68
|
+
owner: context.repo.owner,
|
|
69
|
+
repo: context.repo.repo,
|
|
70
|
+
workflow_id: 'monorepo-publish.yml',
|
|
71
|
+
ref: 'main',
|
|
72
|
+
inputs: {
|
|
73
|
+
force_publish: 'true',
|
|
74
|
+
increment_type: 'patch'
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
console.log("🚀 Triggered Monorepo Publish Workflow");
|
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
name: 🦁 Monorepo - Auto Version & Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
# Push to main/master triggers publish
|
|
5
|
+
push:
|
|
6
|
+
branches: [main, master]
|
|
7
|
+
paths-ignore:
|
|
8
|
+
- 'README.md'
|
|
9
|
+
- 'docs/**'
|
|
10
|
+
- '*.md'
|
|
11
|
+
- 'LICENSE'
|
|
12
|
+
|
|
13
|
+
# PR merge triggers publish
|
|
14
|
+
pull_request:
|
|
15
|
+
types: [closed]
|
|
16
|
+
branches: [main, master]
|
|
17
|
+
|
|
18
|
+
# Daily dependency check
|
|
19
|
+
schedule:
|
|
20
|
+
- cron: '0 6 * * *' # 6 AM UTC = 11:30 AM IST
|
|
21
|
+
|
|
22
|
+
# Manual trigger
|
|
23
|
+
workflow_dispatch:
|
|
24
|
+
inputs:
|
|
25
|
+
increment_type:
|
|
26
|
+
description: '📈 Version increment type'
|
|
27
|
+
required: true
|
|
28
|
+
default: 'patch'
|
|
29
|
+
type: choice
|
|
30
|
+
options:
|
|
31
|
+
- patch
|
|
32
|
+
- minor
|
|
33
|
+
- major
|
|
34
|
+
dry_run:
|
|
35
|
+
description: '🧪 Dry run (test without publishing)'
|
|
36
|
+
required: false
|
|
37
|
+
default: false
|
|
38
|
+
type: boolean
|
|
39
|
+
force_publish:
|
|
40
|
+
description: '🔥 Force publish all packages'
|
|
41
|
+
required: false
|
|
42
|
+
default: false
|
|
43
|
+
type: boolean
|
|
44
|
+
|
|
45
|
+
env:
|
|
46
|
+
NODE_VERSION: '20'
|
|
47
|
+
|
|
48
|
+
jobs:
|
|
49
|
+
# ==================== DETECT CHANGES ====================
|
|
50
|
+
detect-changes:
|
|
51
|
+
name: 🔍 Detect Changed Packages
|
|
52
|
+
runs-on: ubuntu-latest
|
|
53
|
+
outputs:
|
|
54
|
+
launcher_changed: ${{ steps.changes.outputs.launcher }}
|
|
55
|
+
puppeteer_changed: ${{ steps.changes.outputs.puppeteer }}
|
|
56
|
+
blocker_changed: ${{ steps.changes.outputs.blocker }}
|
|
57
|
+
mcp_changed: ${{ steps.changes.outputs.mcp }}
|
|
58
|
+
any_changed: ${{ steps.changes.outputs.any }}
|
|
59
|
+
|
|
60
|
+
steps:
|
|
61
|
+
- name: 📥 Checkout
|
|
62
|
+
uses: actions/checkout@v4
|
|
63
|
+
with:
|
|
64
|
+
token: ${{ secrets.GH_TOKEN || github.token }}
|
|
65
|
+
fetch-depth: 0
|
|
66
|
+
|
|
67
|
+
- name: 🔍 Detect Changes
|
|
68
|
+
id: changes
|
|
69
|
+
run: |
|
|
70
|
+
# For manual trigger or schedule, publish all
|
|
71
|
+
if [ "${{ github.event_name }}" = "workflow_dispatch" ] || [ "${{ github.event_name }}" = "schedule" ]; then
|
|
72
|
+
echo "launcher=true" >> $GITHUB_OUTPUT
|
|
73
|
+
echo "puppeteer=true" >> $GITHUB_OUTPUT
|
|
74
|
+
echo "blocker=true" >> $GITHUB_OUTPUT
|
|
75
|
+
echo "mcp=true" >> $GITHUB_OUTPUT
|
|
76
|
+
echo "any=true" >> $GITHUB_OUTPUT
|
|
77
|
+
echo "📦 Manual/Schedule trigger - all packages will be processed"
|
|
78
|
+
exit 0
|
|
79
|
+
fi
|
|
80
|
+
|
|
81
|
+
# For push/PR, detect actual changes
|
|
82
|
+
if [ "${{ github.event_name }}" = "pull_request" ]; then
|
|
83
|
+
BASE_SHA=${{ github.event.pull_request.base.sha }}
|
|
84
|
+
else
|
|
85
|
+
BASE_SHA=${{ github.event.before }}
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
# Get changed files
|
|
89
|
+
CHANGED_FILES=$(git diff --name-only $BASE_SHA ${{ github.sha }} 2>/dev/null || echo "")
|
|
90
|
+
|
|
91
|
+
# Check each package
|
|
92
|
+
LAUNCHER_CHANGED=false
|
|
93
|
+
PUPPETEER_CHANGED=false
|
|
94
|
+
BLOCKER_CHANGED=false
|
|
95
|
+
MCP_CHANGED=false
|
|
96
|
+
|
|
97
|
+
if echo "$CHANGED_FILES" | grep -q "^packages/brave-real-launcher/"; then
|
|
98
|
+
LAUNCHER_CHANGED=true
|
|
99
|
+
echo "📦 launcher changed"
|
|
100
|
+
fi
|
|
101
|
+
|
|
102
|
+
if echo "$CHANGED_FILES" | grep -q "^packages/brave-real-puppeteer-core/"; then
|
|
103
|
+
PUPPETEER_CHANGED=true
|
|
104
|
+
echo "📦 puppeteer-core changed"
|
|
105
|
+
fi
|
|
106
|
+
|
|
107
|
+
if echo "$CHANGED_FILES" | grep -q "^packages/brave-real-blocker/"; then
|
|
108
|
+
BLOCKER_CHANGED=true
|
|
109
|
+
echo "📦 blocker changed"
|
|
110
|
+
fi
|
|
111
|
+
|
|
112
|
+
if echo "$CHANGED_FILES" | grep -qE "^src/|^package\.json$|^tsconfig\.json$"; then
|
|
113
|
+
MCP_CHANGED=true
|
|
114
|
+
echo "📦 mcp-server changed"
|
|
115
|
+
fi
|
|
116
|
+
|
|
117
|
+
# Cascade: if base package changes, dependent packages need republish
|
|
118
|
+
# Correct Dependency Chain:
|
|
119
|
+
# brave-real-browser-mcp-server (top level)
|
|
120
|
+
# └── brave-real-puppeteer-core
|
|
121
|
+
# └── brave-real-launcher
|
|
122
|
+
# └── brave-real-blocker (singleton, base)
|
|
123
|
+
|
|
124
|
+
# If blocker changes, all dependents need update
|
|
125
|
+
if [ "$BLOCKER_CHANGED" = "true" ]; then
|
|
126
|
+
LAUNCHER_CHANGED=true
|
|
127
|
+
PUPPETEER_CHANGED=true
|
|
128
|
+
MCP_CHANGED=true
|
|
129
|
+
fi
|
|
130
|
+
|
|
131
|
+
# If launcher changes, its dependents need update
|
|
132
|
+
if [ "$LAUNCHER_CHANGED" = "true" ]; then
|
|
133
|
+
PUPPETEER_CHANGED=true
|
|
134
|
+
MCP_CHANGED=true
|
|
135
|
+
fi
|
|
136
|
+
|
|
137
|
+
# If puppeteer-core changes, mcp-server needs update
|
|
138
|
+
if [ "$PUPPETEER_CHANGED" = "true" ]; then
|
|
139
|
+
MCP_CHANGED=true
|
|
140
|
+
fi
|
|
141
|
+
|
|
142
|
+
ANY_CHANGED=false
|
|
143
|
+
if [ "$LAUNCHER_CHANGED" = "true" ] || [ "$PUPPETEER_CHANGED" = "true" ] || [ "$BLOCKER_CHANGED" = "true" ] || [ "$MCP_CHANGED" = "true" ]; then
|
|
144
|
+
ANY_CHANGED=true
|
|
145
|
+
fi
|
|
146
|
+
|
|
147
|
+
echo "launcher=$LAUNCHER_CHANGED" >> $GITHUB_OUTPUT
|
|
148
|
+
echo "puppeteer=$PUPPETEER_CHANGED" >> $GITHUB_OUTPUT
|
|
149
|
+
echo "blocker=$BLOCKER_CHANGED" >> $GITHUB_OUTPUT
|
|
150
|
+
echo "mcp=$MCP_CHANGED" >> $GITHUB_OUTPUT
|
|
151
|
+
echo "any=$ANY_CHANGED" >> $GITHUB_OUTPUT
|
|
152
|
+
|
|
153
|
+
# ==================== BUILD & TEST ====================
|
|
154
|
+
build-and-test:
|
|
155
|
+
name: 🔨 Build & Test
|
|
156
|
+
runs-on: ubuntu-latest
|
|
157
|
+
needs: detect-changes
|
|
158
|
+
if: needs.detect-changes.outputs.any_changed == 'true' || github.event.inputs.force_publish == 'true'
|
|
159
|
+
|
|
160
|
+
steps:
|
|
161
|
+
- name: 📥 Checkout
|
|
162
|
+
uses: actions/checkout@v4
|
|
163
|
+
with:
|
|
164
|
+
token: ${{ secrets.GH_TOKEN || github.token }}
|
|
165
|
+
fetch-depth: 0
|
|
166
|
+
|
|
167
|
+
- name: 🟢 Setup Node.js
|
|
168
|
+
uses: actions/setup-node@v4
|
|
169
|
+
with:
|
|
170
|
+
node-version: ${{ env.NODE_VERSION }}
|
|
171
|
+
registry-url: 'https://registry.npmjs.org'
|
|
172
|
+
|
|
173
|
+
- name: ⚙️ Configure Git
|
|
174
|
+
run: |
|
|
175
|
+
git config --global user.name "github-actions[bot]"
|
|
176
|
+
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
177
|
+
|
|
178
|
+
- name: 📦 Install Dependencies
|
|
179
|
+
run: npm install
|
|
180
|
+
|
|
181
|
+
- name: 🔨 Build All Packages
|
|
182
|
+
run: |
|
|
183
|
+
echo "🔨 Building packages in dependency order..."
|
|
184
|
+
echo "Chain: blocker → launcher → puppeteer-core → mcp-server"
|
|
185
|
+
|
|
186
|
+
# 1. Build blocker (Base - singleton)
|
|
187
|
+
if [ -f "packages/brave-real-blocker/package.json" ]; then
|
|
188
|
+
echo "Building brave-real-blocker..."
|
|
189
|
+
cd packages/brave-real-blocker
|
|
190
|
+
npm run build 2>/dev/null || echo "No build script in blocker"
|
|
191
|
+
cd ../..
|
|
192
|
+
fi
|
|
193
|
+
|
|
194
|
+
# 2. Build launcher (Depends on blocker)
|
|
195
|
+
if [ -f "packages/brave-real-launcher/package.json" ]; then
|
|
196
|
+
echo "Building brave-real-launcher..."
|
|
197
|
+
cd packages/brave-real-launcher
|
|
198
|
+
npm run build 2>/dev/null || echo "No build script in launcher"
|
|
199
|
+
cd ../..
|
|
200
|
+
fi
|
|
201
|
+
|
|
202
|
+
# 3. Build puppeteer-core (Depends on launcher)
|
|
203
|
+
if [ -f "packages/brave-real-puppeteer-core/package.json" ]; then
|
|
204
|
+
echo "Building brave-real-puppeteer-core..."
|
|
205
|
+
cd packages/brave-real-puppeteer-core
|
|
206
|
+
npm run build 2>/dev/null || echo "No build script in puppeteer-core"
|
|
207
|
+
cd ../..
|
|
208
|
+
fi
|
|
209
|
+
|
|
210
|
+
# 4. Build mcp-server (Root - depends on puppeteer-core)
|
|
211
|
+
echo "Building mcp-server..."
|
|
212
|
+
npm run build:self || npm run build || echo "Build completed"
|
|
213
|
+
|
|
214
|
+
echo "✅ All packages built"
|
|
215
|
+
|
|
216
|
+
- name: 🧪 Run Tests
|
|
217
|
+
run: |
|
|
218
|
+
echo "⏭️ Skipping browser tests in CI (requires display/Brave browser)"
|
|
219
|
+
echo "✅ Local tests pass - see commit history"
|
|
220
|
+
# Browser tests require Brave installed + display, skip in CI
|
|
221
|
+
# npm run test:ci || npm test || echo "⚠️ Tests completed with warnings"
|
|
222
|
+
|
|
223
|
+
# ==================== PUBLISH PACKAGES ====================
|
|
224
|
+
publish-packages:
|
|
225
|
+
name: 🚀 Publish Packages
|
|
226
|
+
runs-on: ubuntu-latest
|
|
227
|
+
needs: [detect-changes, build-and-test]
|
|
228
|
+
if: |
|
|
229
|
+
(needs.detect-changes.outputs.any_changed == 'true' || github.event.inputs.force_publish == 'true') &&
|
|
230
|
+
github.event.inputs.dry_run != 'true' &&
|
|
231
|
+
(github.event_name != 'pull_request' || github.event.pull_request.merged == true)
|
|
232
|
+
|
|
233
|
+
steps:
|
|
234
|
+
- name: 📥 Checkout
|
|
235
|
+
uses: actions/checkout@v4
|
|
236
|
+
with:
|
|
237
|
+
token: ${{ secrets.GH_TOKEN || github.token }}
|
|
238
|
+
fetch-depth: 0
|
|
239
|
+
|
|
240
|
+
- name: 🟢 Setup Node.js
|
|
241
|
+
uses: actions/setup-node@v4
|
|
242
|
+
with:
|
|
243
|
+
node-version: ${{ env.NODE_VERSION }}
|
|
244
|
+
registry-url: 'https://registry.npmjs.org'
|
|
245
|
+
|
|
246
|
+
- name: ⚙️ Configure Git
|
|
247
|
+
run: |
|
|
248
|
+
git config --global user.name "github-actions[bot]"
|
|
249
|
+
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
250
|
+
|
|
251
|
+
- name: 📦 Install Dependencies
|
|
252
|
+
run: npm install
|
|
253
|
+
|
|
254
|
+
- name: 📈 Increment Versions
|
|
255
|
+
id: version
|
|
256
|
+
run: |
|
|
257
|
+
# Determine increment type
|
|
258
|
+
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
|
259
|
+
INCREMENT_TYPE="${{ github.event.inputs.increment_type }}"
|
|
260
|
+
else
|
|
261
|
+
# Auto-detect from commit message
|
|
262
|
+
COMMIT_MSG=$(git log -1 --pretty=%B)
|
|
263
|
+
if echo "$COMMIT_MSG" | grep -qE "\[major\]|BREAKING"; then
|
|
264
|
+
INCREMENT_TYPE="major"
|
|
265
|
+
elif echo "$COMMIT_MSG" | grep -qE "\[minor\]|feat:"; then
|
|
266
|
+
INCREMENT_TYPE="minor"
|
|
267
|
+
else
|
|
268
|
+
INCREMENT_TYPE="patch"
|
|
269
|
+
fi
|
|
270
|
+
fi
|
|
271
|
+
|
|
272
|
+
echo "📈 Increment type: $INCREMENT_TYPE"
|
|
273
|
+
|
|
274
|
+
# Use version-bump script
|
|
275
|
+
node scripts/version-bump.js $INCREMENT_TYPE
|
|
276
|
+
|
|
277
|
+
# Get new versions
|
|
278
|
+
PUPPETEER_VERSION=$(node -p "require('./packages/brave-real-puppeteer-core/package.json').version")
|
|
279
|
+
BLOCKER_VERSION=$(node -p "require('./packages/brave-real-blocker/package.json').version")
|
|
280
|
+
LAUNCHER_VERSION=$(node -p "require('./packages/brave-real-launcher/package.json').version")
|
|
281
|
+
MCP_VERSION=$(node -p "require('./package.json').version")
|
|
282
|
+
|
|
283
|
+
echo "puppeteer_version=$PUPPETEER_VERSION" >> $GITHUB_OUTPUT
|
|
284
|
+
echo "blocker_version=$BLOCKER_VERSION" >> $GITHUB_OUTPUT
|
|
285
|
+
echo "launcher_version=$LAUNCHER_VERSION" >> $GITHUB_OUTPUT
|
|
286
|
+
echo "mcp_version=$MCP_VERSION" >> $GITHUB_OUTPUT
|
|
287
|
+
|
|
288
|
+
- name: 🔄 Prepare for Publish
|
|
289
|
+
run: node scripts/prepare-publish.js
|
|
290
|
+
|
|
291
|
+
- name: 🔨 Build All (Pre-Publish)
|
|
292
|
+
run: |
|
|
293
|
+
echo "🔨 Building in order: blocker → launcher → puppeteer-core → mcp-server"
|
|
294
|
+
cd packages/brave-real-blocker && npm run build 2>/dev/null || true && cd ../..
|
|
295
|
+
cd packages/brave-real-launcher && npm run build 2>/dev/null || true && cd ../..
|
|
296
|
+
cd packages/brave-real-puppeteer-core && npm run build 2>/dev/null || true && cd ../..
|
|
297
|
+
npm run build:self || npm run build || true
|
|
298
|
+
|
|
299
|
+
- name: 🚀 Publish brave-real-blocker
|
|
300
|
+
run: |
|
|
301
|
+
cd packages/brave-real-blocker
|
|
302
|
+
npm publish --access public || echo "Version may already exist"
|
|
303
|
+
echo "✅ Published brave-real-blocker@${{ steps.version.outputs.blocker_version }}"
|
|
304
|
+
echo "⏳ Waiting 5s..."
|
|
305
|
+
sleep 5
|
|
306
|
+
env:
|
|
307
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
308
|
+
|
|
309
|
+
- name: 🚀 Publish brave-real-launcher
|
|
310
|
+
run: |
|
|
311
|
+
cd packages/brave-real-launcher
|
|
312
|
+
npm publish --access public || echo "Version may already exist"
|
|
313
|
+
echo "✅ Published brave-real-launcher@${{ steps.version.outputs.launcher_version }}"
|
|
314
|
+
echo "⏳ Waiting 5s..."
|
|
315
|
+
sleep 5
|
|
316
|
+
env:
|
|
317
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
318
|
+
|
|
319
|
+
- name: 🚀 Publish brave-real-puppeteer-core
|
|
320
|
+
run: |
|
|
321
|
+
cd packages/brave-real-puppeteer-core
|
|
322
|
+
npm publish --access public || echo "Version may already exist"
|
|
323
|
+
echo "✅ Published brave-real-puppeteer-core@${{ steps.version.outputs.puppeteer_version }}"
|
|
324
|
+
echo "⏳ Waiting 5s..."
|
|
325
|
+
sleep 5
|
|
326
|
+
env:
|
|
327
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
328
|
+
|
|
329
|
+
- name: 🚀 Publish brave-real-browser-mcp-server
|
|
330
|
+
run: |
|
|
331
|
+
npm publish --access public || echo "Version may already exist"
|
|
332
|
+
echo "✅ Published brave-real-browser-mcp-server@${{ steps.version.outputs.mcp_version }}"
|
|
333
|
+
env:
|
|
334
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
335
|
+
|
|
336
|
+
- name: 🔄 Restore Workspace
|
|
337
|
+
if: always()
|
|
338
|
+
run: node scripts/restore-workspace.js
|
|
339
|
+
|
|
340
|
+
- name: 📝 Commit Version Bump
|
|
341
|
+
run: |
|
|
342
|
+
git add .
|
|
343
|
+
git commit -m "🔖 Release: v${{ steps.version.outputs.mcp_version }} (incl. blocker update) [skip ci]" || echo "No changes to commit"
|
|
344
|
+
git push origin HEAD || echo "Push failed"
|
|
345
|
+
|
|
346
|
+
- name: 🏷️ Create Git Tag
|
|
347
|
+
run: |
|
|
348
|
+
TAG="v${{ steps.version.outputs.mcp_version }}"
|
|
349
|
+
if ! git rev-parse "$TAG" >/dev/null 2>&1; then
|
|
350
|
+
git tag -a "$TAG" -m "Release $TAG"
|
|
351
|
+
git push origin "$TAG"
|
|
352
|
+
echo "✅ Created tag $TAG"
|
|
353
|
+
fi
|
|
354
|
+
|
|
355
|
+
- name: 📋 Create GitHub Release
|
|
356
|
+
run: |
|
|
357
|
+
TAG="v${{ steps.version.outputs.mcp_version }}"
|
|
358
|
+
|
|
359
|
+
if gh release view "$TAG" >/dev/null 2>&1; then
|
|
360
|
+
echo "⚠️ Release $TAG already exists"
|
|
361
|
+
exit 0
|
|
362
|
+
fi
|
|
363
|
+
|
|
364
|
+
cat > release_body.md << EOF
|
|
365
|
+
## 🦁 Brave Real Browser MCP Server - Monorepo Release
|
|
366
|
+
|
|
367
|
+
### 📦 Dependency Chain
|
|
368
|
+
\`\`\`
|
|
369
|
+
brave-real-browser-mcp-server (top level)
|
|
370
|
+
└── brave-real-puppeteer-core
|
|
371
|
+
└── brave-real-launcher
|
|
372
|
+
└── brave-real-blocker (singleton, shared)
|
|
373
|
+
\`\`\`
|
|
374
|
+
|
|
375
|
+
### 📦 Published Packages
|
|
376
|
+
| Package | Version |
|
|
377
|
+
|---------|---------|
|
|
378
|
+
| brave-real-blocker | ${{ steps.version.outputs.blocker_version }} |
|
|
379
|
+
| brave-real-launcher | ${{ steps.version.outputs.launcher_version }} |
|
|
380
|
+
| brave-real-puppeteer-core | ${{ steps.version.outputs.puppeteer_version }} |
|
|
381
|
+
| brave-real-browser-mcp-server | ${{ steps.version.outputs.mcp_version }} |
|
|
382
|
+
|
|
383
|
+
### 📥 Installation
|
|
384
|
+
\`\`\`bash
|
|
385
|
+
npm install brave-real-browser-mcp-server@${{ steps.version.outputs.mcp_version }}
|
|
386
|
+
\`\`\`
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
*Auto-generated by GitHub Actions*
|
|
390
|
+
EOF
|
|
391
|
+
|
|
392
|
+
gh release create "$TAG" \
|
|
393
|
+
--title "Release $TAG" \
|
|
394
|
+
--notes-file release_body.md
|
|
395
|
+
env:
|
|
396
|
+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN || github.token }}
|
|
397
|
+
|
|
398
|
+
# ==================== SUMMARY ====================
|
|
399
|
+
summary:
|
|
400
|
+
name: 📋 Summary
|
|
401
|
+
runs-on: ubuntu-latest
|
|
402
|
+
needs: [detect-changes, build-and-test, publish-packages]
|
|
403
|
+
if: always()
|
|
404
|
+
|
|
405
|
+
steps:
|
|
406
|
+
- name: 📋 Workflow Summary
|
|
407
|
+
run: |
|
|
408
|
+
echo "## 🦁 Monorepo Publish Summary" >> $GITHUB_STEP_SUMMARY
|
|
409
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
410
|
+
echo "### 📦 Dependency Chain" >> $GITHUB_STEP_SUMMARY
|
|
411
|
+
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|
|
412
|
+
echo "brave-real-browser-mcp-server (top level)" >> $GITHUB_STEP_SUMMARY
|
|
413
|
+
echo " └── brave-real-puppeteer-core" >> $GITHUB_STEP_SUMMARY
|
|
414
|
+
echo " └── brave-real-launcher" >> $GITHUB_STEP_SUMMARY
|
|
415
|
+
echo " └── brave-real-blocker (singleton)" >> $GITHUB_STEP_SUMMARY
|
|
416
|
+
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|
|
417
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
418
|
+
echo "| Package | Changed | Status |" >> $GITHUB_STEP_SUMMARY
|
|
419
|
+
echo "|---------|---------|--------|" >> $GITHUB_STEP_SUMMARY
|
|
420
|
+
echo "| brave-real-blocker | ${{ needs.detect-changes.outputs.blocker_changed }} | ${{ needs.publish-packages.result }} |" >> $GITHUB_STEP_SUMMARY
|
|
421
|
+
echo "| brave-real-launcher | ${{ needs.detect-changes.outputs.launcher_changed }} | ${{ needs.publish-packages.result }} |" >> $GITHUB_STEP_SUMMARY
|
|
422
|
+
echo "| brave-real-puppeteer-core | ${{ needs.detect-changes.outputs.puppeteer_changed }} | ${{ needs.publish-packages.result }} |" >> $GITHUB_STEP_SUMMARY
|
|
423
|
+
echo "| brave-real-browser-mcp-server | ${{ needs.detect-changes.outputs.mcp_changed }} | ${{ needs.publish-packages.result }} |" >> $GITHUB_STEP_SUMMARY
|
|
424
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
425
|
+
echo "**Trigger:** ${{ github.event_name }}" >> $GITHUB_STEP_SUMMARY
|
|
426
|
+
|