cbrowser 8.0.0 → 8.2.0
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/README.md +55 -0
- package/dist/analysis/bug-hunter.d.ts +0 -0
- package/dist/analysis/bug-hunter.d.ts.map +0 -0
- package/dist/analysis/bug-hunter.js +0 -0
- package/dist/analysis/bug-hunter.js.map +0 -0
- package/dist/analysis/chaos-testing.d.ts +0 -0
- package/dist/analysis/chaos-testing.d.ts.map +0 -0
- package/dist/analysis/chaos-testing.js +0 -0
- package/dist/analysis/chaos-testing.js.map +0 -0
- package/dist/analysis/index.d.ts +0 -0
- package/dist/analysis/index.d.ts.map +0 -0
- package/dist/analysis/index.js +0 -0
- package/dist/analysis/index.js.map +0 -0
- package/dist/analysis/natural-language.d.ts +0 -0
- package/dist/analysis/natural-language.d.ts.map +0 -0
- package/dist/analysis/natural-language.js +0 -0
- package/dist/analysis/natural-language.js.map +0 -0
- package/dist/analysis/persona-comparison.d.ts +0 -0
- package/dist/analysis/persona-comparison.d.ts.map +0 -0
- package/dist/analysis/persona-comparison.js +0 -0
- package/dist/analysis/persona-comparison.js.map +0 -0
- package/dist/browser.d.ts +0 -0
- package/dist/browser.d.ts.map +0 -0
- package/dist/browser.js +0 -0
- package/dist/browser.js.map +0 -0
- package/dist/cli.d.ts +0 -0
- package/dist/cli.d.ts.map +0 -0
- package/dist/cli.js +10 -7
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +0 -0
- package/dist/config.d.ts.map +0 -0
- package/dist/config.js +0 -0
- package/dist/config.js.map +0 -0
- package/dist/daemon.d.ts +0 -0
- package/dist/daemon.d.ts.map +0 -0
- package/dist/daemon.js +0 -0
- package/dist/daemon.js.map +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +0 -0
- package/dist/index.js.map +0 -0
- package/dist/mcp-server-remote.d.ts +0 -0
- package/dist/mcp-server-remote.d.ts.map +0 -0
- package/dist/mcp-server-remote.js +1 -1
- package/dist/mcp-server-remote.js.map +0 -0
- package/dist/mcp-server.d.ts +0 -0
- package/dist/mcp-server.d.ts.map +0 -0
- package/dist/mcp-server.js +0 -0
- package/dist/mcp-server.js.map +0 -0
- package/dist/performance/index.d.ts +0 -0
- package/dist/performance/index.d.ts.map +0 -0
- package/dist/performance/index.js +0 -0
- package/dist/performance/index.js.map +0 -0
- package/dist/performance/metrics.d.ts +0 -0
- package/dist/performance/metrics.d.ts.map +0 -0
- package/dist/performance/metrics.js +0 -0
- package/dist/performance/metrics.js.map +0 -0
- package/dist/personas.d.ts +0 -0
- package/dist/personas.d.ts.map +0 -0
- package/dist/personas.js +0 -0
- package/dist/personas.js.map +0 -0
- package/dist/testing/coverage.d.ts +0 -0
- package/dist/testing/coverage.d.ts.map +0 -0
- package/dist/testing/coverage.js +0 -0
- package/dist/testing/coverage.js.map +0 -0
- package/dist/testing/flaky-detection.d.ts +0 -0
- package/dist/testing/flaky-detection.d.ts.map +0 -0
- package/dist/testing/flaky-detection.js +0 -0
- package/dist/testing/flaky-detection.js.map +0 -0
- package/dist/testing/index.d.ts +0 -0
- package/dist/testing/index.d.ts.map +0 -0
- package/dist/testing/index.js +0 -0
- package/dist/testing/index.js.map +0 -0
- package/dist/testing/nl-test-suite.d.ts +0 -0
- package/dist/testing/nl-test-suite.d.ts.map +0 -0
- package/dist/testing/nl-test-suite.js +0 -0
- package/dist/testing/nl-test-suite.js.map +0 -0
- package/dist/testing/test-repair.d.ts +0 -0
- package/dist/testing/test-repair.d.ts.map +0 -0
- package/dist/testing/test-repair.js +0 -0
- package/dist/testing/test-repair.js.map +0 -0
- package/dist/types.d.ts +0 -0
- package/dist/types.d.ts.map +0 -0
- package/dist/types.js +0 -0
- package/dist/types.js.map +0 -0
- package/dist/visual/ab-comparison.d.ts +0 -0
- package/dist/visual/ab-comparison.d.ts.map +0 -0
- package/dist/visual/ab-comparison.js +0 -0
- package/dist/visual/ab-comparison.js.map +0 -0
- package/dist/visual/cross-browser.d.ts +0 -0
- package/dist/visual/cross-browser.d.ts.map +0 -0
- package/dist/visual/cross-browser.js +0 -0
- package/dist/visual/cross-browser.js.map +0 -0
- package/dist/visual/index.d.ts +0 -0
- package/dist/visual/index.d.ts.map +0 -0
- package/dist/visual/index.js +0 -0
- package/dist/visual/index.js.map +0 -0
- package/dist/visual/regression.d.ts +0 -0
- package/dist/visual/regression.d.ts.map +0 -0
- package/dist/visual/regression.js +0 -0
- package/dist/visual/regression.js.map +0 -0
- package/dist/visual/responsive.d.ts +0 -0
- package/dist/visual/responsive.d.ts.map +0 -0
- package/dist/visual/responsive.js +0 -0
- package/dist/visual/responsive.js.map +0 -0
- package/examples/ci-cd/README.md +47 -0
- package/package.json +21 -2
package/dist/config.d.ts
CHANGED
|
File without changes
|
package/dist/config.d.ts.map
CHANGED
|
File without changes
|
package/dist/config.js
CHANGED
|
File without changes
|
package/dist/config.js.map
CHANGED
|
File without changes
|
package/dist/daemon.d.ts
CHANGED
|
File without changes
|
package/dist/daemon.d.ts.map
CHANGED
|
File without changes
|
package/dist/daemon.js
CHANGED
|
File without changes
|
package/dist/daemon.js.map
CHANGED
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
File without changes
|
package/dist/index.d.ts.map
CHANGED
|
File without changes
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/index.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1067,7 +1067,7 @@ async function startRemoteMcpServer() {
|
|
|
1067
1067
|
const apiKeyAuthEnabled = apiKeys !== null && apiKeys.size > 0;
|
|
1068
1068
|
const auth0Enabled = auth0 !== null;
|
|
1069
1069
|
const authEnabled = apiKeyAuthEnabled || auth0Enabled;
|
|
1070
|
-
console.log(`Starting CBrowser Remote MCP Server v8.
|
|
1070
|
+
console.log(`Starting CBrowser Remote MCP Server v8.1.0...`);
|
|
1071
1071
|
console.log(`Mode: ${sessionMode}`);
|
|
1072
1072
|
console.log(`Auth: ${authEnabled ? "enabled" : "disabled (open access)"}`);
|
|
1073
1073
|
if (apiKeyAuthEnabled) {
|
|
File without changes
|
package/dist/mcp-server.d.ts
CHANGED
|
File without changes
|
package/dist/mcp-server.d.ts.map
CHANGED
|
File without changes
|
package/dist/mcp-server.js
CHANGED
|
File without changes
|
package/dist/mcp-server.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/personas.d.ts
CHANGED
|
File without changes
|
package/dist/personas.d.ts.map
CHANGED
|
File without changes
|
package/dist/personas.js
CHANGED
|
File without changes
|
package/dist/personas.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/testing/coverage.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/testing/index.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/testing/index.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/types.d.ts
CHANGED
|
File without changes
|
package/dist/types.d.ts.map
CHANGED
|
File without changes
|
package/dist/types.js
CHANGED
|
File without changes
|
package/dist/types.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/visual/index.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/visual/index.js
CHANGED
|
File without changes
|
package/dist/visual/index.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/examples/ci-cd/README.md
CHANGED
|
@@ -8,6 +8,53 @@ Add CBrowser checks to your existing CI pipeline so every pull request is automa
|
|
|
8
8
|
- A **staging URL** that reflects the PR branch (set as a CI variable)
|
|
9
9
|
- CBrowser baselines captured at least once before the first CI run
|
|
10
10
|
|
|
11
|
+
## GitHub Action
|
|
12
|
+
|
|
13
|
+
The official GitHub Action provides zero-config CBrowser in any workflow:
|
|
14
|
+
|
|
15
|
+
```yaml
|
|
16
|
+
# .github/workflows/cbrowser.yml
|
|
17
|
+
name: CBrowser Tests
|
|
18
|
+
on: [pull_request]
|
|
19
|
+
|
|
20
|
+
jobs:
|
|
21
|
+
test:
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v4
|
|
25
|
+
- uses: alexandriashai/cbrowser@v8
|
|
26
|
+
with:
|
|
27
|
+
test-file: tests/e2e/checkout.txt
|
|
28
|
+
sensitivity: strict
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Available inputs: `test-file`, `url`, `command`, `browsers`, `sensitivity`.
|
|
32
|
+
|
|
33
|
+
## Docker Image
|
|
34
|
+
|
|
35
|
+
Run CBrowser in any CI system using the official Docker image:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
docker run --rm \
|
|
39
|
+
-v $(pwd)/tests:/work/tests \
|
|
40
|
+
ghcr.io/alexandriashai/cbrowser:latest \
|
|
41
|
+
test-suite tests/checkout.txt --output results.json --html
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The image includes Chromium and all dependencies. Mount your test directory and collect results as artifacts.
|
|
45
|
+
|
|
46
|
+
## GitLab CI Component
|
|
47
|
+
|
|
48
|
+
Include the reusable GitLab CI component:
|
|
49
|
+
|
|
50
|
+
```yaml
|
|
51
|
+
include:
|
|
52
|
+
- component: gitlab.com/alexandriashai/cbrowser/.gitlab-ci-component.yml
|
|
53
|
+
inputs:
|
|
54
|
+
test-file: tests/e2e/checkout.txt
|
|
55
|
+
sensitivity: strict
|
|
56
|
+
```
|
|
57
|
+
|
|
11
58
|
## Quick start
|
|
12
59
|
|
|
13
60
|
1. Copy the workflow file for your platform into your repository:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cbrowser",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.2.0",
|
|
4
4
|
"description": "AI-powered browser automation with constitutional safety, AI visual regression, persona testing, and natural language test suites. Modular architecture for visual, testing, analysis, and performance modules.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -43,6 +43,9 @@
|
|
|
43
43
|
"test": "bun test",
|
|
44
44
|
"lint": "eslint src/",
|
|
45
45
|
"clean": "rm -rf dist/",
|
|
46
|
+
"prepare": "husky || true",
|
|
47
|
+
"release": "release-it",
|
|
48
|
+
"release:dry": "release-it --dry-run",
|
|
46
49
|
"prepublishOnly": "npm run build"
|
|
47
50
|
},
|
|
48
51
|
"keywords": [
|
|
@@ -72,7 +75,12 @@
|
|
|
72
75
|
"screenshot-comparison",
|
|
73
76
|
"cross-browser-testing",
|
|
74
77
|
"modular-architecture",
|
|
75
|
-
"performance-testing"
|
|
78
|
+
"performance-testing",
|
|
79
|
+
"session-management",
|
|
80
|
+
"responsive-testing",
|
|
81
|
+
"chaos-testing",
|
|
82
|
+
"ab-testing",
|
|
83
|
+
"semantic-versioning"
|
|
76
84
|
],
|
|
77
85
|
"author": "WF Media",
|
|
78
86
|
"license": "MIT",
|
|
@@ -94,12 +102,23 @@
|
|
|
94
102
|
"zod": "^3.25.76"
|
|
95
103
|
},
|
|
96
104
|
"devDependencies": {
|
|
105
|
+
"@commitlint/cli": "^19.0.0",
|
|
106
|
+
"@commitlint/config-conventional": "^19.0.0",
|
|
107
|
+
"@release-it/conventional-changelog": "^8.0.0",
|
|
97
108
|
"@types/node": "^20.10.0",
|
|
98
109
|
"@typescript-eslint/eslint-plugin": "^6.13.0",
|
|
99
110
|
"@typescript-eslint/parser": "^6.13.0",
|
|
100
111
|
"eslint": "^8.55.0",
|
|
112
|
+
"husky": "^9.0.0",
|
|
113
|
+
"lint-staged": "^15.0.0",
|
|
114
|
+
"release-it": "^17.0.0",
|
|
101
115
|
"typescript": "^5.3.0"
|
|
102
116
|
},
|
|
117
|
+
"lint-staged": {
|
|
118
|
+
"*.ts": [
|
|
119
|
+
"eslint --fix"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
103
122
|
"files": [
|
|
104
123
|
"dist/",
|
|
105
124
|
"examples/",
|