{ "name": "browser-gateway", "version": "0.4.34", "description": "The open router for cloud browsers. One endpoint, any provider: failover, load balancing, persistent profiles, session replay, REST API, MCP server, dashboard.", "mcpName": "io.github.browser-gateway/browser-gateway", "keywords": [ "browser", "gateway", "proxy", "cdp", "chrome-devtools-protocol", "mcp", "model-context-protocol", "ai-agent", "playwright", "puppeteer", "headless", "headless-browser", "failover", "load-balancer", "websocket" ], "homepage": "https://browsergateway.com", "repository": { "type": "git", "url": "git+https://github.com/browser-gateway/browser-gateway.git" }, "bugs": { "url": "https://github.com/browser-gateway/browser-gateway/issues", "email": "hello@browsergateway.com" }, "license": "MIT", "author": "Monostellar Limited (https://monostellar.com)", "funding": "https://monostellar.com", "type": "module", "main": "dist/server/index.js", "types": "dist/server/index.d.ts", "exports": { ".": { "types": "./dist/server/index.d.ts", "default": "./dist/server/index.js" }, "./agent-tools": { "types": "./dist/agent-tools/index.d.ts", "default": "./dist/agent-tools/index.js" }, "./agent-tools/computer-use": { "types": "./dist/agent-tools/computer-use/index.d.ts", "default": "./dist/agent-tools/computer-use/index.js" }, "./selection": { "types": "./dist/core/selection.d.ts", "default": "./dist/core/selection.js" }, "./transport": { "types": "./dist/core/transport.d.ts", "default": "./dist/core/transport.js" }, "./types": { "types": "./dist/core/types.d.ts", "default": "./dist/core/types.js" }, "./webhooks": { "types": "./dist/core/webhooks.d.ts", "default": "./dist/core/webhooks.js" }, "./auto-detect": { "types": "./dist/core/auto-detect.d.ts", "default": "./dist/core/auto-detect.js" }, "./profile/types": { "types": "./dist/core/profile/types.d.ts", "default": "./dist/core/profile/types.js" }, "./profile/crypto": { "types": "./dist/core/profile/crypto.d.ts", "default": "./dist/core/profile/crypto.js" }, "./profile/playwright": { "types": "./dist/core/profile/playwright-format.d.ts", "default": "./dist/core/profile/playwright-format.js" }, "./replay/types": { "types": "./dist/server/replay/types.d.ts", "default": "./dist/server/replay/types.js" }, "./replay/constants": { "types": "./dist/server/replay/constants.d.ts", "default": "./dist/server/replay/constants.js" }, "./core": { "types": "./dist/core.d.ts", "default": "./dist/core.js" }, "./live-client": { "types": "./dist/live-client/index.d.ts", "default": "./dist/live-client/index.js" }, "./pipeline": { "types": "./dist/pipeline/index.d.ts", "default": "./dist/pipeline/index.js" }, "./provider-form": { "types": "./dist/provider-form/index.d.ts", "default": "./dist/provider-form/index.js" }, "./page-runner": { "types": "./dist/core/cdp/page-runner.d.ts", "default": "./dist/core/cdp/page-runner.js" }, "./rest-schemas": { "types": "./dist/rest-schemas/index.d.ts", "default": "./dist/rest-schemas/index.js" }, "./rest-schemas/helpers": { "types": "./dist/rest-schemas/helpers.d.ts", "default": "./dist/rest-schemas/helpers.js" } }, "bin": { "browser-gateway": "dist/server/index.js" }, "files": [ "dist", "web/dist", "LICENSE", "README.md" ], "scripts": { "dev": "BG_ALLOWED_ORIGINS=http://localhost:9501 tsx watch src/server/index.ts -- serve --config gateway.dev.yml & cd web && npm run dev", "dev:server": "BG_ALLOWED_ORIGINS=http://localhost:9501 tsx watch src/server/index.ts -- serve --config gateway.dev.yml", "dev:web": "cd web && npm run dev", "build": "tsc", "build:web": "cd web && npm run build", "build:all": "npm run build && npm run build:web", "start": "node dist/server/index.js", "live": "npm run build:all && node dist/server/index.js serve --config gateway.dev.yml", "test": "vitest", "test:run": "vitest run", "lint": "tsc --noEmit", "lint:dup": "jscpd src tests/integration tests/core", "lint:dead": "knip --no-progress", "lint:eslint": "eslint . --max-warnings 0", "lint:all": "npm run lint && npm run lint:eslint && npm run lint:dup && npm run lint:dead", "catalog:gen": "tsx scripts/gen-helper-catalog.ts", "catalog:check": "tsx scripts/gen-helper-catalog.ts --check", "docs:gen-rest": "tsx scripts/gen-rest-docs.ts", "docs:check-rest": "tsx scripts/gen-rest-docs.ts --check", "api:check": "npm run build && api-extractor run", "api:update": "npm run build && api-extractor run --local && echo 'API surface updated. Commit the change to docs/api/.'", "stryker": "stryker run", "stryker:incremental": "stryker run --incremental", "precommit:gates": "npm run lint:all && npm run catalog:check && npm run api:check && npm run test:run", "prepush:gates": "npm run stryker:incremental", "prepublishOnly": "npm run test:run && npm run build:all", "publish": "npm publish", "docker:build": "docker build -t ghcr.io/browser-gateway/server:$(node -p \"require('./package.json').version\") -t ghcr.io/browser-gateway/server:latest .", "docker:push": "docker push ghcr.io/browser-gateway/server:$(node -p \"require('./package.json').version\") && docker push ghcr.io/browser-gateway/server:latest", "docker:release": "npm run docker:build && npm run docker:push", "prepare": "husky", "stryker:clean": "rm -f reports/stryker-incremental.json && stryker run", "prerelease:gates": "npm run precommit:gates && npm run stryker:clean" }, "dependencies": { "@modelcontextprotocol/sdk": "^1.32.1", "chrome-launcher": "^1.2.2", "defuddle": "^0.19.4", "hono": "^4.13.13", "linkedom": "^0.18.0", "pino": "^10.4.0", "pino-pretty": "^13.2.0", "playwright-core": "^1.58.0", "proper-lockfile": "^4.1.2", "write-file-atomic": "^7.0.1", "ws": "^8.22.0", "yaml": "^2.8.3", "zod": "^4.3.6" }, "devDependencies": { "@eslint/js": "^10.0.1", "@microsoft/api-extractor": "^7.59.4", "@stryker-mutator/core": "^10.0.0", "@stryker-mutator/vitest-runner": "^10.0.0", "@types/node": "^26.6.4", "@types/proper-lockfile": "^4.1.4", "@types/write-file-atomic": "^4.0.3", "@types/ws": "^8.18.1", "eslint": "^10.5.0", "eslint-plugin-sonarjs": "^4.2.2", "husky": "^9.1.7", "jscpd": "^5.4.0", "knip": "^6.40.0", "puppeteer-core": "^25.12.0", "ts-morph": "^28.0.0", "tsx": "^4.21.0", "typescript": "^5.7.0", "typescript-eslint": "^8.71.1", "vitest": "4.1.11" }, "engines": { "node": ">=20.17.0" }, "overrides": { "esbuild": ">=0.28.1", "qs": ">=6.15.2" } }