cloakbrowser-mcp 1.3.0 → 1.5.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 +101 -19
- package/dist/bridge/config.d.ts +26 -3
- package/dist/bridge/config.d.ts.map +1 -1
- package/dist/bridge/config.js +187 -13
- package/dist/bridge/config.js.map +1 -1
- package/dist/bridge/env.d.ts +1 -0
- package/dist/bridge/env.d.ts.map +1 -1
- package/dist/bridge/env.js +3 -0
- package/dist/bridge/env.js.map +1 -1
- package/dist/bridge/tools.d.ts +3 -1
- package/dist/bridge/tools.d.ts.map +1 -1
- package/dist/bridge/tools.js +8 -6
- package/dist/bridge/tools.js.map +1 -1
- package/dist/cli/doctor.d.ts +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +3 -3
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/options.d.ts +11 -2
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +115 -3
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/singleton-lock-cleanup.d.ts +34 -0
- package/dist/cli/singleton-lock-cleanup.d.ts.map +1 -0
- package/dist/cli/singleton-lock-cleanup.js +151 -0
- package/dist/cli/singleton-lock-cleanup.js.map +1 -0
- package/dist/cli.js +27 -10
- package/dist/cli.js.map +1 -1
- package/dist/http/nodeServer.d.ts +9 -0
- package/dist/http/nodeServer.d.ts.map +1 -0
- package/dist/http/nodeServer.js +65 -0
- package/dist/http/nodeServer.js.map +1 -0
- package/dist/http/options.d.ts +27 -2
- package/dist/http/options.d.ts.map +1 -1
- package/dist/http/options.js +25 -5
- package/dist/http/options.js.map +1 -1
- package/dist/http/requests.d.ts +16 -0
- package/dist/http/requests.d.ts.map +1 -0
- package/dist/http/requests.js +127 -0
- package/dist/http/requests.js.map +1 -0
- package/dist/http/responses.d.ts +6 -0
- package/dist/http/responses.d.ts.map +1 -0
- package/dist/http/responses.js +24 -0
- package/dist/http/responses.js.map +1 -0
- package/dist/http/server.d.ts +7 -3
- package/dist/http/server.d.ts.map +1 -1
- package/dist/http/server.js +61 -117
- package/dist/http/server.js.map +1 -1
- package/dist/http/sessionStore.d.ts +3 -1
- package/dist/http/sessionStore.d.ts.map +1 -1
- package/dist/http/sessionStore.js +8 -5
- package/dist/http/sessionStore.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/logging/logger.d.ts +17 -0
- package/dist/logging/logger.d.ts.map +1 -0
- package/dist/logging/logger.js +107 -0
- package/dist/logging/logger.js.map +1 -0
- package/dist/protocol/constants.d.ts +6 -0
- package/dist/protocol/constants.d.ts.map +1 -0
- package/dist/protocol/constants.js +6 -0
- package/dist/protocol/constants.js.map +1 -0
- package/dist/runtime/humanize-init-page.cjs +19 -0
- package/dist/server.d.ts +3 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +5 -5
- package/dist/server.js.map +1 -1
- package/package.json +39 -18
- package/server.json +29 -5
package/README.md
CHANGED
|
@@ -16,15 +16,19 @@
|
|
|
16
16
|
[](https://glama.ai/mcp/servers/swimmwatch/cloakbrowser-mcp)
|
|
17
17
|
[](https://www.npmjs.com/package/cloakbrowser-mcp)
|
|
18
18
|
[](https://hub.docker.com/r/swimmwatch/cloakbrowser-mcp)
|
|
19
|
-
[](https://nodejs.org/)
|
|
20
|
+
[](docs/version-compatibility.md)
|
|
21
|
+
[](https://codeguilds.dev/packages/cloakbrowser-mcp)
|
|
20
22
|
[](https://modelcontextprotocol.io/)
|
|
21
23
|
[](docs/docker.md)
|
|
22
24
|
[](LICENSE)
|
|
23
25
|
|
|
24
|
-
`cloakbrowser-mcp` is a [Model Context Protocol](https://modelcontextprotocol.io/) browser automation server that runs upstream [`@playwright/mcp`](https://github.com/microsoft/playwright-mcp) with the [CloakBrowser](https://github.com/CloakHQ/CloakBrowser) Chromium binary. It provides Playwright MCP-compatible tools through a thin CloakBrowser bridge for npm and Docker users over stdio or Streamable HTTP.
|
|
26
|
+
`cloakbrowser-mcp` is a [Model Context Protocol](https://modelcontextprotocol.io/) browser automation server that runs upstream [`@playwright/mcp`](https://github.com/microsoft/playwright-mcp) with the [CloakBrowser](https://github.com/CloakHQ/CloakBrowser) Chromium binary. It provides Playwright MCP-compatible tools through a thin CloakBrowser bridge for npm and Docker users over stdio or Streamable HTTP, including GeoIP-aware proxy matching and humanized input behavior for QA.
|
|
25
27
|
|
|
26
28
|
Documentation: [swimmwatch.github.io/cloakbrowser-mcp](https://swimmwatch.github.io/cloakbrowser-mcp/)
|
|
27
29
|
|
|
30
|
+
Cross-platform checks cover npm on Linux x64/arm64, macOS arm64/x64, and Windows x64 across Node.js 22-26. Docker images are built and smoke-tested for `linux/amd64` and `linux/arm64`.
|
|
31
|
+
|
|
28
32
|
The server is intentionally thin:
|
|
29
33
|
|
|
30
34
|
- upstream Playwright MCP owns browser tool schemas, descriptions, and responses;
|
|
@@ -34,20 +38,26 @@ The server is intentionally thin:
|
|
|
34
38
|
|
|
35
39
|
## Version compatibility
|
|
36
40
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
| `1.
|
|
42
|
-
| `1.
|
|
43
|
-
| `1.
|
|
44
|
-
| `1.2.
|
|
45
|
-
| `1.2.
|
|
46
|
-
| `1.2.
|
|
47
|
-
| `1.
|
|
48
|
-
| `1.
|
|
49
|
-
| `1.
|
|
50
|
-
| `1.
|
|
41
|
+
<!-- compatibility-table:start -->
|
|
42
|
+
|
|
43
|
+
| cloakbrowser-mcp | @playwright/mcp | CloakBrowser | Node.js | Platform |
|
|
44
|
+
| ---------------- | --------------- | ------------ | --------- | ----------------------------------------------------------------------------------------- |
|
|
45
|
+
| `1.5.0` | `^0.0.76` | `^0.4.3` | `>=22.12` | npm on Linux x64/arm64, macOS arm64/x64, Windows x64; Docker `linux/amd64`, `linux/arm64` |
|
|
46
|
+
| `1.4.0` | `^0.0.76` | `^0.3.32` | `>=22.12` | npm on Linux x64/arm64, macOS arm64/x64, Windows x64; Docker `linux/amd64`, `linux/arm64` |
|
|
47
|
+
| `1.3.0` | `^0.0.75` | `^0.3.31` | `>=20` | Docker `linux/amd64`, Node.js local |
|
|
48
|
+
| `1.2.7` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
|
|
49
|
+
| `1.2.6` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
|
|
50
|
+
| `1.2.5` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
|
|
51
|
+
| `1.2.3` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
|
|
52
|
+
| `1.2.2` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
|
|
53
|
+
| `1.2.1` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
|
|
54
|
+
| `1.2.0` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
|
|
55
|
+
| `1.1.0` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
|
|
56
|
+
| `1.0.2` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
|
|
57
|
+
| `1.0.1` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
|
|
58
|
+
| `1.0.0` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
|
|
59
|
+
|
|
60
|
+
<!-- compatibility-table:end -->
|
|
51
61
|
|
|
52
62
|
See [Version Compatibility](docs/version-compatibility.md) for the maintained compatibility table.
|
|
53
63
|
|
|
@@ -71,11 +81,12 @@ npx -y cloakbrowser-mcp@latest doctor
|
|
|
71
81
|
npx -y cloakbrowser-mcp@latest doctor --json
|
|
72
82
|
npx -y cloakbrowser-mcp@latest
|
|
73
83
|
npx -y cloakbrowser-mcp@latest --transport streamable-http --http-port 3000
|
|
84
|
+
npx -y cloakbrowser-mcp@latest --transport streamable-http --http-protocol https --https-cert ./cert.pem --https-key ./key.pem
|
|
74
85
|
```
|
|
75
86
|
|
|
76
|
-
Requires Node.js
|
|
87
|
+
Requires Node.js 22.12 or newer. The first real browser action may download the CloakBrowser binary unless it is already cached.
|
|
77
88
|
Use `doctor` for local diagnostics before connecting an MCP client. It checks the Node.js engine, project metadata, upstream Playwright MCP resolution, and CloakBrowser binary metadata without starting the bridge or downloading a browser.
|
|
78
|
-
The default transport is stdio. Streamable HTTP binds to `127.0.0.1` by default, serves MCP at `/mcp`, and exposes fixed `GET /healthz` and `GET /readyz` probes. If `--http-auth-token` is set, the probes require the same `Authorization: Bearer ...` header as MCP requests.
|
|
89
|
+
The default transport is stdio. Streamable HTTP binds to `127.0.0.1` by default, serves MCP at `/mcp`, and exposes fixed `GET /healthz` and `GET /readyz` probes. Use `--http-protocol https` with `--https-cert` and `--https-key` or `--https-pfx` for direct TLS. If `--http-auth-token` is set, the probes require the same `Authorization: Bearer ...` header as MCP requests.
|
|
79
90
|
For the complete generated CLI flag reference, see the published [CLI Reference](https://swimmwatch.github.io/cloakbrowser-mcp/generated/cli/).
|
|
80
91
|
|
|
81
92
|
## Run from Docker
|
|
@@ -95,7 +106,18 @@ curl http://127.0.0.1:3000/healthz
|
|
|
95
106
|
curl http://127.0.0.1:3000/readyz
|
|
96
107
|
```
|
|
97
108
|
|
|
98
|
-
|
|
109
|
+
For direct HTTPS from the container, mount your TLS files and select HTTPS:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
docker run --rm --init -p 127.0.0.1:3000:3000 \
|
|
113
|
+
-v "$PWD/artifacts:/data" \
|
|
114
|
+
-v "$PWD/certs:/certs:ro" \
|
|
115
|
+
swimmwatch/cloakbrowser-mcp:latest \
|
|
116
|
+
--transport streamable-http --http-host 0.0.0.0 --http-port 3000 \
|
|
117
|
+
--http-protocol https --https-cert /certs/cert.pem --https-key /certs/key.pem
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
The Docker image is based on the pinned official Playwright MCP image, installs the bridge under `/opt/cloakbrowser-mcp`, writes artifacts to `/data` by default, and is published for `linux/amd64` and `linux/arm64`.
|
|
99
121
|
The same tags are also published to `ghcr.io/swimmwatch/cloakbrowser-mcp`.
|
|
100
122
|
|
|
101
123
|
## MCP client configuration
|
|
@@ -142,12 +164,14 @@ The same tags are also published to `ghcr.io/swimmwatch/cloakbrowser-mcp`.
|
|
|
142
164
|
|
|
143
165
|
Use upstream `PLAYWRIGHT_MCP_*` variables for browser, artifact, timeout, network, and tool capability settings. Cloak-specific bridge toggles use `CLOAK_PLAYWRIGHT_MCP_*`.
|
|
144
166
|
CLI flags are documented in the generated [CLI Reference](https://swimmwatch.github.io/cloakbrowser-mcp/generated/cli/).
|
|
167
|
+
GeoIP proxy matching and Streamable HTTP runtime metadata are documented in [GeoIP Proxy Matching](docs/geoip-proxy-matching.md) and [Configuration](docs/configuration.md). Human-like mouse, keyboard, and scroll behavior is documented in [Humanized Input Behavior](docs/humanized-input-behavior.md).
|
|
145
168
|
|
|
146
169
|
Common variables:
|
|
147
170
|
|
|
148
171
|
| Variable | Default | Description |
|
|
149
172
|
| --- | --- | --- |
|
|
150
173
|
| `CLOAK_PLAYWRIGHT_MCP_TRANSPORT` | `stdio` | MCP transport exposed by the bridge: `stdio` or `streamable-http`. |
|
|
174
|
+
| `CLOAK_PLAYWRIGHT_MCP_HTTP_PROTOCOL` | `http` | Streamable HTTP listener protocol: `http` or `https`. |
|
|
151
175
|
| `CLOAK_PLAYWRIGHT_MCP_HTTP_HOST` | `127.0.0.1` | Streamable HTTP bind host. |
|
|
152
176
|
| `CLOAK_PLAYWRIGHT_MCP_HTTP_PORT` | `3000` | Streamable HTTP bind port. |
|
|
153
177
|
| `CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT` | `/mcp` | Streamable HTTP endpoint path. |
|
|
@@ -155,6 +179,16 @@ Common variables:
|
|
|
155
179
|
| `CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND` | `memory` | Session metadata backend. Only `memory` is implemented in this release. |
|
|
156
180
|
| `CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS` | `3600000` | Idle TTL for Streamable HTTP sessions. |
|
|
157
181
|
| `CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX` | `32` | Maximum active Streamable HTTP sessions in one process. |
|
|
182
|
+
| `CLOAK_PLAYWRIGHT_MCP_HTTPS_CERT` | unset | TLS certificate PEM path for HTTPS Streamable HTTP. |
|
|
183
|
+
| `CLOAK_PLAYWRIGHT_MCP_HTTPS_KEY` | unset | TLS private key PEM path for HTTPS Streamable HTTP. |
|
|
184
|
+
| `CLOAK_PLAYWRIGHT_MCP_HTTPS_PFX` | unset | TLS PFX/PKCS12 path for HTTPS Streamable HTTP. |
|
|
185
|
+
| `CLOAK_PLAYWRIGHT_MCP_HTTPS_PASSPHRASE` | unset | Passphrase for an encrypted HTTPS key or PFX. |
|
|
186
|
+
| `CLOAK_PLAYWRIGHT_MCP_LOG_LEVEL` | `info` | Streamable HTTP operational log level: `trace`, `debug`, `info`, `warn`, `error`, `fatal`, or `silent`. |
|
|
187
|
+
| `PLAYWRIGHT_MCP_PROXY_SERVER` | unset | Upstream Playwright MCP proxy server. Used as the GeoIP source when matching is enabled. |
|
|
188
|
+
| `PLAYWRIGHT_MCP_PROXY_BYPASS` | unset | Upstream proxy bypass list for hosts that should not use `PLAYWRIGHT_MCP_PROXY_SERVER`. |
|
|
189
|
+
| `CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH` | `false` | Match CloakBrowser timezone and locale fingerprint flags to `PLAYWRIGHT_MCP_PROXY_SERVER` GeoIP. |
|
|
190
|
+
| `CLOAK_PLAYWRIGHT_MCP_HUMANIZE` | `false` | Enables CloakBrowser human-like mouse, keyboard, and scroll behavior. |
|
|
191
|
+
| `CLOAK_PLAYWRIGHT_MCP_HUMAN_PRESET` | `default` | CloakBrowser human behavior preset: `default` or `careful`. Used only when humanize is enabled. |
|
|
158
192
|
| `PLAYWRIGHT_MCP_BROWSER_ENGINE` | `cloak` | `cloak` uses CloakBrowser. `playwright` uses the upstream Playwright MCP browser runtime. |
|
|
159
193
|
| `PLAYWRIGHT_MCP_HEADLESS` | `true` | Runs Chromium headless. |
|
|
160
194
|
| `PLAYWRIGHT_MCP_OUTPUT_DIR` | `.playwright-mcp` | Artifact directory for npm usage. Docker defaults to `/data`. |
|
|
@@ -163,6 +197,54 @@ Common variables:
|
|
|
163
197
|
| `CLOAK_PLAYWRIGHT_MCP_STEALTH_ARGS` | `true` | Adds CloakBrowser default stealth launch arguments. |
|
|
164
198
|
| `CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS` | unset | Comma-separated or JSON array of extra Chromium launch arguments. |
|
|
165
199
|
|
|
200
|
+
Streamable HTTP clients can override the proxy per MCP session by passing bridge
|
|
201
|
+
metadata in the `initialize` request:
|
|
202
|
+
|
|
203
|
+
```json
|
|
204
|
+
{
|
|
205
|
+
"params": {
|
|
206
|
+
"_meta": {
|
|
207
|
+
"io.github.swimmwatch/cloakbrowser-mcp": {
|
|
208
|
+
"proxyServer": "http://user:pass@proxy.example:8080",
|
|
209
|
+
"proxyBypass": ".internal,localhost",
|
|
210
|
+
"geoipProxyMatch": true,
|
|
211
|
+
"headless": false,
|
|
212
|
+
"humanize": true,
|
|
213
|
+
"humanPreset": "careful"
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Runtime proxy metadata overrides `PLAYWRIGHT_MCP_PROXY_SERVER` and
|
|
221
|
+
`PLAYWRIGHT_MCP_PROXY_BYPASS` for that HTTP session only. Stdio keeps using
|
|
222
|
+
process-level environment and CLI configuration.
|
|
223
|
+
|
|
224
|
+
`headless` overrides `PLAYWRIGHT_MCP_HEADLESS` for that HTTP session only. Use
|
|
225
|
+
`headless: false` only where the runtime has a usable display environment, such
|
|
226
|
+
as a local desktop session, Xvfb, or an equivalent container display setup.
|
|
227
|
+
|
|
228
|
+
Authenticated HTTP proxies are supported with credentials embedded in
|
|
229
|
+
`proxyServer`, for example `http://user:pass@proxy.example:8080`. Percent-encode
|
|
230
|
+
credential characters that have URL meaning, such as `@`, `:`, `/`, `?`, `#`,
|
|
231
|
+
and `%`.
|
|
232
|
+
|
|
233
|
+
Enable `CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH=true` to align CloakBrowser
|
|
234
|
+
timezone, language, and locale fingerprint flags with the selected proxy
|
|
235
|
+
location. Streamable HTTP clients can set `geoipProxyMatch` per session to run
|
|
236
|
+
different regional QA scenarios from one server process.
|
|
237
|
+
|
|
238
|
+
Enable `CLOAK_PLAYWRIGHT_MCP_HUMANIZE=true` to route Playwright page input
|
|
239
|
+
methods through CloakBrowser's human-like interaction layer. Streamable HTTP
|
|
240
|
+
clients can set `humanize` and `humanPreset` per session to compare standard,
|
|
241
|
+
default-humanized, and careful-humanized interaction behavior without restarting
|
|
242
|
+
the server. `humanPreset` accepts `default` or `careful` and does not enable
|
|
243
|
+
humanized behavior by itself.
|
|
244
|
+
|
|
245
|
+
Custom `humanConfig` objects are intentionally not supported yet; accepting
|
|
246
|
+
structured config requires a dedicated validation schema.
|
|
247
|
+
|
|
166
248
|
The old `CLOAKBROWSER_MCP_*` variables are not supported.
|
|
167
249
|
|
|
168
250
|
## Tools
|
package/dist/bridge/config.d.ts
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
import { binaryInfo } from 'cloakbrowser';
|
|
2
|
-
import { type EnvReader } from '
|
|
1
|
+
import { binaryInfo, buildLaunchOptions } from 'cloakbrowser';
|
|
2
|
+
import { type EnvReader } from '#src/bridge/env';
|
|
3
3
|
export type BrowserEngine = 'cloak' | 'playwright';
|
|
4
|
+
export declare const humanPresets: readonly ["default", "careful"];
|
|
5
|
+
export type HumanPreset = (typeof humanPresets)[number];
|
|
6
|
+
type CloakBuildLaunchOptions = typeof buildLaunchOptions;
|
|
7
|
+
type PlaywrightProxyOption = {
|
|
8
|
+
server: string;
|
|
9
|
+
bypass?: string;
|
|
10
|
+
username?: string;
|
|
11
|
+
password?: string;
|
|
12
|
+
};
|
|
13
|
+
export interface BridgeRuntimeProxy {
|
|
14
|
+
server: string;
|
|
15
|
+
bypass?: string;
|
|
16
|
+
}
|
|
4
17
|
export interface BridgeRuntime {
|
|
5
18
|
browserEngine: BrowserEngine;
|
|
6
19
|
configPath: string;
|
|
@@ -15,7 +28,13 @@ export interface PrepareBridgeRuntimeOptions {
|
|
|
15
28
|
env?: EnvReader;
|
|
16
29
|
tempRoot?: string;
|
|
17
30
|
ensureCloakBinary?: () => Promise<string>;
|
|
31
|
+
buildCloakLaunchOptions?: CloakBuildLaunchOptions;
|
|
18
32
|
browserIsolated?: boolean;
|
|
33
|
+
geoipProxyMatch?: boolean;
|
|
34
|
+
headless?: boolean;
|
|
35
|
+
humanize?: boolean;
|
|
36
|
+
humanPreset?: HumanPreset;
|
|
37
|
+
proxy?: BridgeRuntimeProxy;
|
|
19
38
|
}
|
|
20
39
|
export interface PlaywrightMcpBridgeConfig {
|
|
21
40
|
browser?: {
|
|
@@ -27,12 +46,16 @@ export interface PlaywrightMcpBridgeConfig {
|
|
|
27
46
|
args?: string[];
|
|
28
47
|
chromiumSandbox?: boolean;
|
|
29
48
|
ignoreDefaultArgs?: string[];
|
|
49
|
+
proxy?: PlaywrightProxyOption;
|
|
30
50
|
};
|
|
51
|
+
initPage?: string[];
|
|
31
52
|
initScript?: string[];
|
|
32
53
|
};
|
|
33
54
|
}
|
|
34
55
|
export declare function prepareBridgeRuntime(options?: PrepareBridgeRuntimeOptions): Promise<BridgeRuntime>;
|
|
35
56
|
export declare function createLaunchArgs(env: EnvReader): string[];
|
|
36
|
-
export declare function
|
|
57
|
+
export declare function parseHumanPreset(value: string): HumanPreset;
|
|
58
|
+
export declare function createChildEnv(env: EnvReader, outputDir: string, runtimeProxy?: BridgeRuntimeProxy, headless?: boolean, humanPreset?: "default" | "careful"): Record<string, string>;
|
|
37
59
|
export declare function getCurrentCloakBinaryInfo(): ReturnType<typeof binaryInfo>;
|
|
60
|
+
export {};
|
|
38
61
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/bridge/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/bridge/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAuC,MAAM,cAAc,CAAC;AACnG,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAIzB,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,YAAY,CAAC;AACnD,eAAO,MAAM,YAAY,iCAAkC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AACxD,KAAK,uBAAuB,GAAG,OAAO,kBAAkB,CAAC;AAGzD,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,yBAAyB,CAAC;IAClC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,UAAU,CAAC;QACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,aAAa,CAAC,EAAE;YACd,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YAChB,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;YAC7B,KAAK,CAAC,EAAE,qBAAqB,CAAC;SAC/B,CAAC;QACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;CACH;AAID,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,aAAa,CAAC,CAoFxB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,EAAE,CAQzD;AAuCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAG3D;AAgHD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,kBAAkB,EACjC,QAAQ,UAAgD,EACxD,WAAW,wBAAmF,GAC7F,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBxB;AAcD,wBAAgB,yBAAyB,IAAI,UAAU,CAAC,OAAO,UAAU,CAAC,CAEzE"}
|
package/dist/bridge/config.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { tmpdir } from 'node:os';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { binaryInfo, buildLaunchOptions, ensureBinary, getDefaultStealthArgs } from 'cloakbrowser';
|
|
6
|
+
import { appendNodeOption, envBool, envInt, envList, envString, quoteNodeOptionValue, } from '#src/bridge/env';
|
|
7
|
+
import { resolvePlaywrightCoreBundlePath } from '#src/bridge/paths';
|
|
8
|
+
import { consoleFallbackInitScript, consoleFallbackPreloadScript } from '#src/runtime/consoleFallback';
|
|
9
|
+
export const humanPresets = ['default', 'careful'];
|
|
8
10
|
const ignoredAutomationArgs = ['--enable-automation', '--enable-unsafe-swiftshader'];
|
|
9
11
|
export async function prepareBridgeRuntime(options = {}) {
|
|
10
12
|
const env = options.env ?? process.env;
|
|
@@ -12,12 +14,15 @@ export async function prepareBridgeRuntime(options = {}) {
|
|
|
12
14
|
const outputDir = envString(env, 'PLAYWRIGHT_MCP_OUTPUT_DIR', path.resolve('.playwright-mcp'));
|
|
13
15
|
mkdirSync(outputDir, { recursive: true });
|
|
14
16
|
const browserEngine = parseBrowserEngine(envString(env, 'PLAYWRIGHT_MCP_BROWSER_ENGINE', 'cloak'));
|
|
15
|
-
const childEnv = createChildEnv(env, outputDir);
|
|
16
17
|
const useCloak = browserEngine === 'cloak';
|
|
18
|
+
const headless = options.headless ?? envBool(env, 'PLAYWRIGHT_MCP_HEADLESS', true);
|
|
19
|
+
const humanPreset = options.humanPreset ?? parseHumanPreset(envString(env, 'CLOAK_PLAYWRIGHT_MCP_HUMAN_PRESET', 'default'));
|
|
20
|
+
const childEnv = createChildEnv(env, outputDir, options.proxy, headless, humanPreset);
|
|
21
|
+
const chromiumSandbox = useCloak ? !envBool(env, 'CLOAK_PLAYWRIGHT_MCP_NO_SANDBOX', true) : undefined;
|
|
17
22
|
const launchOptions = {
|
|
18
|
-
headless
|
|
23
|
+
headless,
|
|
19
24
|
args: useCloak ? createLaunchArgs(env) : envList(env, 'CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS'),
|
|
20
|
-
chromiumSandbox
|
|
25
|
+
chromiumSandbox,
|
|
21
26
|
ignoreDefaultArgs: useCloak ? ignoredAutomationArgs : undefined,
|
|
22
27
|
};
|
|
23
28
|
const config = {
|
|
@@ -26,6 +31,10 @@ export async function prepareBridgeRuntime(options = {}) {
|
|
|
26
31
|
launchOptions,
|
|
27
32
|
},
|
|
28
33
|
};
|
|
34
|
+
const configuredProxy = resolveConfiguredProxy(env, launchOptions.args ?? [], options.proxy);
|
|
35
|
+
if (configuredProxy && typeof configuredProxy !== 'string') {
|
|
36
|
+
config.browser.launchOptions.proxy = configuredProxy;
|
|
37
|
+
}
|
|
29
38
|
if (options.browserIsolated === true) {
|
|
30
39
|
config.browser.isolated = true;
|
|
31
40
|
childEnv.PLAYWRIGHT_MCP_ISOLATED = 'true';
|
|
@@ -36,6 +45,19 @@ export async function prepareBridgeRuntime(options = {}) {
|
|
|
36
45
|
config.browser.launchOptions.executablePath = cloakBinaryPath;
|
|
37
46
|
childEnv.PLAYWRIGHT_MCP_EXECUTABLE_PATH = cloakBinaryPath;
|
|
38
47
|
childEnv.CLOAKBROWSER_AUTO_UPDATE = childEnv.CLOAKBROWSER_AUTO_UPDATE ?? 'false';
|
|
48
|
+
if (shouldMatchProxyGeoip(env, options.geoipProxyMatch)) {
|
|
49
|
+
config.browser.launchOptions.args = await resolveGeoipProxyMatchingArgs({
|
|
50
|
+
env,
|
|
51
|
+
args: config.browser.launchOptions.args ?? [],
|
|
52
|
+
headless,
|
|
53
|
+
chromiumSandbox,
|
|
54
|
+
proxy: options.proxy,
|
|
55
|
+
buildCloakLaunchOptions: options.buildCloakLaunchOptions ?? buildLaunchOptions,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
if (shouldHumanize(env, options.humanize)) {
|
|
59
|
+
config.browser.initPage = [...(config.browser.initPage ?? []), resolveHumanizeInitPagePath()];
|
|
60
|
+
}
|
|
39
61
|
}
|
|
40
62
|
if (useCloak && envBool(env, 'CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK', true)) {
|
|
41
63
|
const initScriptPath = path.join(tempDir, 'console-fallback-init.js');
|
|
@@ -43,7 +65,7 @@ export async function prepareBridgeRuntime(options = {}) {
|
|
|
43
65
|
writeFileSync(initScriptPath, consoleFallbackInitScript);
|
|
44
66
|
writeFileSync(preloadPath, consoleFallbackPreloadScript(resolvePlaywrightCoreBundlePath()));
|
|
45
67
|
config.browser.initScript = [...(config.browser.initScript ?? []), initScriptPath];
|
|
46
|
-
childEnv.NODE_OPTIONS = appendNodeOption(childEnv.NODE_OPTIONS, `--require=${preloadPath}`);
|
|
68
|
+
childEnv.NODE_OPTIONS = appendNodeOption(childEnv.NODE_OPTIONS, `--require=${quoteNodeOptionValue(preloadPath)}`);
|
|
47
69
|
}
|
|
48
70
|
const configPath = path.join(tempDir, 'playwright-mcp.config.json');
|
|
49
71
|
writeFileSync(configPath, `${JSON.stringify(config, null, 2)}\n`);
|
|
@@ -73,20 +95,156 @@ export function createLaunchArgs(env) {
|
|
|
73
95
|
args.add(arg);
|
|
74
96
|
return [...args];
|
|
75
97
|
}
|
|
76
|
-
|
|
98
|
+
async function resolveGeoipProxyMatchingArgs(options) {
|
|
99
|
+
const proxy = resolveConfiguredProxy(options.env, options.args, options.proxy);
|
|
100
|
+
if (!proxy)
|
|
101
|
+
return options.args;
|
|
102
|
+
const launchOptions = await suppressStdout(() => options.buildCloakLaunchOptions({
|
|
103
|
+
headless: options.headless,
|
|
104
|
+
stealthArgs: false,
|
|
105
|
+
args: options.args,
|
|
106
|
+
proxy,
|
|
107
|
+
geoip: true,
|
|
108
|
+
launchOptions: options.chromiumSandbox === undefined ? undefined : { chromiumSandbox: options.chromiumSandbox },
|
|
109
|
+
}));
|
|
110
|
+
return mergeLaunchArgs(options.args, extractGeoipMatchingArgs(launchOptions.args ?? []));
|
|
111
|
+
}
|
|
112
|
+
function shouldMatchProxyGeoip(env, explicit) {
|
|
113
|
+
return explicit ?? envBool(env, 'CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH', false);
|
|
114
|
+
}
|
|
115
|
+
function shouldHumanize(env, explicit) {
|
|
116
|
+
return explicit ?? envBool(env, 'CLOAK_PLAYWRIGHT_MCP_HUMANIZE', false);
|
|
117
|
+
}
|
|
118
|
+
export function parseHumanPreset(value) {
|
|
119
|
+
if (isHumanPreset(value))
|
|
120
|
+
return value;
|
|
121
|
+
throw new Error(`CLOAK_PLAYWRIGHT_MCP_HUMAN_PRESET must be "default" or "careful", got "${value}"`);
|
|
122
|
+
}
|
|
123
|
+
function isHumanPreset(value) {
|
|
124
|
+
return humanPresets.includes(value);
|
|
125
|
+
}
|
|
126
|
+
function resolveHumanizeInitPagePath() {
|
|
127
|
+
return fileURLToPath(new URL('../runtime/humanize-init-page.cjs', import.meta.url));
|
|
128
|
+
}
|
|
129
|
+
function resolveConfiguredProxy(env, args, runtimeProxy) {
|
|
130
|
+
if (runtimeProxy)
|
|
131
|
+
return runtimeProxy.bypass
|
|
132
|
+
? parseProxyOption(runtimeProxy.server, runtimeProxy.bypass)
|
|
133
|
+
: parseProxyOption(runtimeProxy.server);
|
|
134
|
+
const envProxyServer = optionalEnvString(env, 'PLAYWRIGHT_MCP_PROXY_SERVER');
|
|
135
|
+
if (envProxyServer) {
|
|
136
|
+
const bypass = optionalEnvString(env, 'PLAYWRIGHT_MCP_PROXY_BYPASS');
|
|
137
|
+
return bypass ? parseProxyOption(envProxyServer, bypass) : parseProxyOption(envProxyServer);
|
|
138
|
+
}
|
|
139
|
+
const argProxyServer = findLaunchArgValue(args, '--proxy-server');
|
|
140
|
+
if (!argProxyServer)
|
|
141
|
+
return undefined;
|
|
142
|
+
const bypass = findLaunchArgValue(args, '--proxy-bypass-list');
|
|
143
|
+
return bypass ? parseProxyOption(argProxyServer, bypass) : parseProxyOption(argProxyServer);
|
|
144
|
+
}
|
|
145
|
+
function parseProxyOption(server, bypass) {
|
|
146
|
+
const parsed = parseProxyServer(server);
|
|
147
|
+
return bypass === undefined ? parsed : { ...parsed, bypass };
|
|
148
|
+
}
|
|
149
|
+
function parseProxyServer(server) {
|
|
150
|
+
try {
|
|
151
|
+
const url = new URL(ensureProxyServerScheme(server));
|
|
152
|
+
const username = decodeUrlCredential(url.username);
|
|
153
|
+
const password = decodeUrlCredential(url.password);
|
|
154
|
+
if (username === undefined && password === undefined)
|
|
155
|
+
return { server };
|
|
156
|
+
return {
|
|
157
|
+
server: `${url.protocol}//${url.host}`,
|
|
158
|
+
...(username === undefined ? {} : { username }),
|
|
159
|
+
...(password === undefined ? {} : { password }),
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
return { server };
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
function ensureProxyServerScheme(server) {
|
|
167
|
+
return /^[a-z][a-z0-9+.-]*:\/\//iu.test(server) ? server : `http://${server}`;
|
|
168
|
+
}
|
|
169
|
+
function decodeUrlCredential(value) {
|
|
170
|
+
return value ? decodeURIComponent(value) : undefined;
|
|
171
|
+
}
|
|
172
|
+
function hasProxyCredentials(server) {
|
|
173
|
+
const parsed = parseProxyServer(server);
|
|
174
|
+
return parsed.username !== undefined || parsed.password !== undefined;
|
|
175
|
+
}
|
|
176
|
+
function extractGeoipMatchingArgs(args) {
|
|
177
|
+
return args.filter((arg) => ['--fingerprint-timezone=', '--lang=', '--fingerprint-locale='].some((prefix) => arg.startsWith(prefix)));
|
|
178
|
+
}
|
|
179
|
+
function mergeLaunchArgs(args, replacements) {
|
|
180
|
+
const replacementByKey = new Map(replacements.map((replacement) => [launchArgKey(replacement), replacement]));
|
|
181
|
+
const result = [];
|
|
182
|
+
const replacedKeys = new Set();
|
|
183
|
+
for (const arg of args) {
|
|
184
|
+
const key = launchArgKey(arg);
|
|
185
|
+
const replacement = replacementByKey.get(key);
|
|
186
|
+
if (replacement === undefined) {
|
|
187
|
+
result.push(arg);
|
|
188
|
+
}
|
|
189
|
+
else if (!replacedKeys.has(key)) {
|
|
190
|
+
result.push(replacement);
|
|
191
|
+
replacedKeys.add(key);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
for (const replacement of replacements) {
|
|
195
|
+
const key = launchArgKey(replacement);
|
|
196
|
+
if (!replacedKeys.has(key)) {
|
|
197
|
+
result.push(replacement);
|
|
198
|
+
replacedKeys.add(key);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return result;
|
|
202
|
+
}
|
|
203
|
+
function findLaunchArgValue(args, name) {
|
|
204
|
+
const prefix = `${name}=`;
|
|
205
|
+
return args.find((arg) => arg.startsWith(prefix))?.slice(prefix.length);
|
|
206
|
+
}
|
|
207
|
+
function launchArgKey(arg) {
|
|
208
|
+
return arg.split('=')[0] ?? arg;
|
|
209
|
+
}
|
|
210
|
+
function optionalEnvString(env, name) {
|
|
211
|
+
const value = env[name]?.trim();
|
|
212
|
+
return value ? value : undefined;
|
|
213
|
+
}
|
|
214
|
+
export function createChildEnv(env, outputDir, runtimeProxy, headless = envBool(env, 'PLAYWRIGHT_MCP_HEADLESS', true), humanPreset = parseHumanPreset(envString(env, 'CLOAK_PLAYWRIGHT_MCP_HUMAN_PRESET', 'default'))) {
|
|
77
215
|
const result = {};
|
|
78
216
|
for (const [key, value] of Object.entries(env)) {
|
|
79
217
|
if (typeof value === 'string')
|
|
80
218
|
result[key] = value;
|
|
81
219
|
}
|
|
82
|
-
result.PLAYWRIGHT_MCP_HEADLESS =
|
|
220
|
+
result.PLAYWRIGHT_MCP_HEADLESS = String(headless);
|
|
221
|
+
result.CLOAK_PLAYWRIGHT_MCP_HUMAN_PRESET = humanPreset;
|
|
83
222
|
result.PLAYWRIGHT_MCP_OUTPUT_DIR = outputDir;
|
|
84
223
|
result.PLAYWRIGHT_MCP_OUTPUT_MODE = envString(env, 'PLAYWRIGHT_MCP_OUTPUT_MODE', 'stdout');
|
|
85
224
|
result.PLAYWRIGHT_MCP_TIMEOUT_ACTION = String(envInt(env, 'PLAYWRIGHT_MCP_TIMEOUT_ACTION', 5000));
|
|
86
225
|
result.PLAYWRIGHT_MCP_TIMEOUT_NAVIGATION = String(envInt(env, 'PLAYWRIGHT_MCP_TIMEOUT_NAVIGATION', 60000));
|
|
87
226
|
result.CLOAKBROWSER_AUTO_UPDATE = envString(env, 'CLOAKBROWSER_AUTO_UPDATE', 'false');
|
|
227
|
+
const envProxyServer = optionalEnvString(env, 'PLAYWRIGHT_MCP_PROXY_SERVER');
|
|
228
|
+
if (runtimeProxy === undefined && envProxyServer !== undefined && hasProxyCredentials(envProxyServer)) {
|
|
229
|
+
removeProxyEnv(result);
|
|
230
|
+
}
|
|
231
|
+
if (runtimeProxy)
|
|
232
|
+
applyRuntimeProxyEnv(result, runtimeProxy);
|
|
88
233
|
return result;
|
|
89
234
|
}
|
|
235
|
+
function applyRuntimeProxyEnv(env, proxy) {
|
|
236
|
+
env.PLAYWRIGHT_MCP_PROXY_SERVER = proxy.server;
|
|
237
|
+
if (proxy.bypass === undefined)
|
|
238
|
+
delete env.PLAYWRIGHT_MCP_PROXY_BYPASS;
|
|
239
|
+
else
|
|
240
|
+
env.PLAYWRIGHT_MCP_PROXY_BYPASS = proxy.bypass;
|
|
241
|
+
if (hasProxyCredentials(proxy.server))
|
|
242
|
+
removeProxyEnv(env);
|
|
243
|
+
}
|
|
244
|
+
function removeProxyEnv(env) {
|
|
245
|
+
delete env.PLAYWRIGHT_MCP_PROXY_SERVER;
|
|
246
|
+
delete env.PLAYWRIGHT_MCP_PROXY_BYPASS;
|
|
247
|
+
}
|
|
90
248
|
export function getCurrentCloakBinaryInfo() {
|
|
91
249
|
return binaryInfo();
|
|
92
250
|
}
|
|
@@ -97,13 +255,29 @@ function parseBrowserEngine(value) {
|
|
|
97
255
|
}
|
|
98
256
|
async function suppressStdout(fn) {
|
|
99
257
|
const stdout = process.stdout;
|
|
100
|
-
|
|
101
|
-
|
|
258
|
+
if (stdoutSuppressionDepth === 0) {
|
|
259
|
+
suppressedStdoutWrite = Reflect.get(stdout, 'write');
|
|
260
|
+
process.stdout.write = suppressedProcessStdoutWrite;
|
|
261
|
+
}
|
|
262
|
+
stdoutSuppressionDepth += 1;
|
|
102
263
|
try {
|
|
103
264
|
return await fn();
|
|
104
265
|
}
|
|
105
266
|
finally {
|
|
106
|
-
|
|
267
|
+
stdoutSuppressionDepth -= 1;
|
|
268
|
+
if (stdoutSuppressionDepth === 0) {
|
|
269
|
+
const write = suppressedStdoutWrite;
|
|
270
|
+
suppressedStdoutWrite = undefined;
|
|
271
|
+
if (write)
|
|
272
|
+
process.stdout.write = write;
|
|
273
|
+
}
|
|
107
274
|
}
|
|
108
275
|
}
|
|
276
|
+
let stdoutSuppressionDepth = 0;
|
|
277
|
+
let suppressedStdoutWrite;
|
|
278
|
+
function suppressedProcessStdoutWrite(_chunk, encodingOrCallback, callback) {
|
|
279
|
+
const writeCallback = typeof encodingOrCallback === 'function' ? encodingOrCallback : callback;
|
|
280
|
+
writeCallback?.();
|
|
281
|
+
return true;
|
|
282
|
+
}
|
|
109
283
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/bridge/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/bridge/config.ts"],"names":[],"mappings":"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"}
|
package/dist/bridge/env.d.ts
CHANGED
|
@@ -4,4 +4,5 @@ export declare function envBool(env: EnvReader, name: string, fallback: boolean)
|
|
|
4
4
|
export declare function envInt(env: EnvReader, name: string, fallback: number): number;
|
|
5
5
|
export declare function envList(env: EnvReader, name: string, fallback?: string): string[];
|
|
6
6
|
export declare function appendNodeOption(existing: string | undefined, option: string): string;
|
|
7
|
+
export declare function quoteNodeOptionValue(value: string): string;
|
|
7
8
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/bridge/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/bridge/env.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAErE,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAIhF;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM7E;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,EAAE,CAc7E;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAErF"}
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/bridge/env.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAErE,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAIhF;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM7E;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,EAAE,CAc7E;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D"}
|
package/dist/bridge/env.js
CHANGED
|
@@ -35,4 +35,7 @@ export function envList(env, name, fallback = '') {
|
|
|
35
35
|
export function appendNodeOption(existing, option) {
|
|
36
36
|
return existing ? `${existing} ${option}` : option;
|
|
37
37
|
}
|
|
38
|
+
export function quoteNodeOptionValue(value) {
|
|
39
|
+
return /\s/u.test(value) ? `"${value.replaceAll('"', '\\"')}"` : value;
|
|
40
|
+
}
|
|
38
41
|
//# sourceMappingURL=env.js.map
|
package/dist/bridge/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/bridge/env.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAC,GAAc,EAAE,IAAY,EAAE,QAAgB;IACtE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAc,EAAE,IAAY,EAAE,QAAiB;IACrE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAc,EAAE,IAAY,EAAE,QAAgB;IACnE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,6BAA6B,KAAK,GAAG,CAAC,CAAC;IAC7F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAc,EAAE,IAAY,EAAE,QAAQ,GAAG,EAAE;IACjE,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,GAAG;SACP,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAA4B,EAAE,MAAc;IAC3E,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACrD,CAAC"}
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/bridge/env.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAC,GAAc,EAAE,IAAY,EAAE,QAAgB;IACtE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAc,EAAE,IAAY,EAAE,QAAiB;IACrE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAc,EAAE,IAAY,EAAE,QAAgB;IACnE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,6BAA6B,KAAK,GAAG,CAAC,CAAC;IAC7F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAc,EAAE,IAAY,EAAE,QAAQ,GAAG,EAAE;IACjE,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,GAAG;SACP,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAA4B,EAAE,MAAc;IAC3E,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACzE,CAAC"}
|
package/dist/bridge/tools.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { CallToolResult, Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
-
import { type BridgeRuntime } from '
|
|
2
|
+
import { type BridgeRuntime } from '#src/bridge/config';
|
|
3
|
+
export declare const LOCAL_TOOL_BINARY_INFO: "cloakbrowser_binary_info";
|
|
4
|
+
export declare const LOCAL_TOOL_BRIDGE_INFO: "cloakbrowser_bridge_info";
|
|
3
5
|
export declare const localToolNames: readonly ["cloakbrowser_binary_info", "cloakbrowser_bridge_info"];
|
|
4
6
|
export type LocalToolName = (typeof localToolNames)[number];
|
|
5
7
|
export declare function createLocalTools(): Tool[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/bridge/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAA6B,KAAK,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/bridge/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAA6B,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AASnF,eAAO,MAAM,sBAAsB,EAAG,0BAAmC,CAAC;AAC1E,eAAO,MAAM,sBAAsB,EAAG,0BAAmC,CAAC;AAC1E,eAAO,MAAM,cAAc,mEAA4D,CAAC;AAGxF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAiC5D,wBAAgB,gBAAgB,IAAI,IAAI,EAAE,CAEzC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,aAAa,CAE/D;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,aAAa,EACtB,iBAAiB,EAAE,MAAM,GACxB,cAAc,CA0BhB"}
|