cloakbrowser-mcp 1.3.0 → 1.4.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.
Files changed (61) hide show
  1. package/README.md +45 -18
  2. package/dist/bridge/config.d.ts +1 -1
  3. package/dist/bridge/config.d.ts.map +1 -1
  4. package/dist/bridge/config.js +4 -4
  5. package/dist/bridge/config.js.map +1 -1
  6. package/dist/bridge/env.d.ts +1 -0
  7. package/dist/bridge/env.d.ts.map +1 -1
  8. package/dist/bridge/env.js +3 -0
  9. package/dist/bridge/env.js.map +1 -1
  10. package/dist/bridge/tools.d.ts +3 -1
  11. package/dist/bridge/tools.d.ts.map +1 -1
  12. package/dist/bridge/tools.js +8 -6
  13. package/dist/bridge/tools.js.map +1 -1
  14. package/dist/cli/doctor.d.ts +1 -1
  15. package/dist/cli/doctor.d.ts.map +1 -1
  16. package/dist/cli/doctor.js +3 -3
  17. package/dist/cli/doctor.js.map +1 -1
  18. package/dist/cli/options.d.ts +6 -1
  19. package/dist/cli/options.d.ts.map +1 -1
  20. package/dist/cli/options.js +77 -3
  21. package/dist/cli/options.js.map +1 -1
  22. package/dist/cli.js +18 -7
  23. package/dist/cli.js.map +1 -1
  24. package/dist/http/nodeServer.d.ts +9 -0
  25. package/dist/http/nodeServer.d.ts.map +1 -0
  26. package/dist/http/nodeServer.js +65 -0
  27. package/dist/http/nodeServer.js.map +1 -0
  28. package/dist/http/options.d.ts +19 -2
  29. package/dist/http/options.d.ts.map +1 -1
  30. package/dist/http/options.js +20 -5
  31. package/dist/http/options.js.map +1 -1
  32. package/dist/http/requests.d.ts +11 -0
  33. package/dist/http/requests.d.ts.map +1 -0
  34. package/dist/http/requests.js +54 -0
  35. package/dist/http/requests.js.map +1 -0
  36. package/dist/http/responses.d.ts +6 -0
  37. package/dist/http/responses.d.ts.map +1 -0
  38. package/dist/http/responses.js +24 -0
  39. package/dist/http/responses.js.map +1 -0
  40. package/dist/http/server.d.ts +5 -3
  41. package/dist/http/server.d.ts.map +1 -1
  42. package/dist/http/server.js +42 -116
  43. package/dist/http/server.js.map +1 -1
  44. package/dist/http/sessionStore.d.ts +3 -1
  45. package/dist/http/sessionStore.d.ts.map +1 -1
  46. package/dist/http/sessionStore.js +8 -5
  47. package/dist/http/sessionStore.js.map +1 -1
  48. package/dist/index.d.ts +1 -1
  49. package/dist/index.js +1 -1
  50. package/dist/logging/logger.d.ts +17 -0
  51. package/dist/logging/logger.d.ts.map +1 -0
  52. package/dist/logging/logger.js +107 -0
  53. package/dist/logging/logger.js.map +1 -0
  54. package/dist/protocol/constants.d.ts +5 -0
  55. package/dist/protocol/constants.d.ts.map +1 -0
  56. package/dist/protocol/constants.js +5 -0
  57. package/dist/protocol/constants.js.map +1 -0
  58. package/dist/server.d.ts +1 -1
  59. package/dist/server.js +4 -4
  60. package/package.json +30 -16
  61. package/server.json +5 -5
package/README.md CHANGED
@@ -16,7 +16,9 @@
16
16
  [![cloakbrowser-mcp MCP server](https://glama.ai/mcp/servers/swimmwatch/cloakbrowser-mcp/badges/score.svg)](https://glama.ai/mcp/servers/swimmwatch/cloakbrowser-mcp)
17
17
  [![npm](https://img.shields.io/npm/v/cloakbrowser-mcp.svg?logo=npm)](https://www.npmjs.com/package/cloakbrowser-mcp)
18
18
  [![Docker Hub pulls](https://img.shields.io/docker/pulls/swimmwatch/cloakbrowser-mcp?logo=docker&label=Docker%20Hub)](https://hub.docker.com/r/swimmwatch/cloakbrowser-mcp)
19
- [![Node.js >=20](https://img.shields.io/badge/Node.js-%3E%3D20-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
19
+ [![Node.js >=22.12](https://img.shields.io/badge/Node.js-%3E%3D22.12-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
20
+ [![Cross-platform](https://img.shields.io/badge/Cross--platform-Linux%20%7C%20macOS%20%7C%20Windows-2563eb)](docs/version-compatibility.md)
21
+ [![Available on CodeGuilds](https://img.shields.io/badge/Available_on-CodeGuilds-6366f1)](https://codeguilds.dev/packages/cloakbrowser-mcp)
20
22
  [![MCP Server](https://img.shields.io/badge/MCP-server-000000)](https://modelcontextprotocol.io/)
21
23
  [![Docker](https://img.shields.io/badge/Docker-ready-2496ED?logo=docker&logoColor=white)](docs/docker.md)
22
24
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
@@ -25,6 +27,8 @@
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,25 @@ The server is intentionally thin:
34
38
 
35
39
  ## Version compatibility
36
40
 
37
- | cloakbrowser-mcp | @playwright/mcp | Playwright MCP Docker base | CloakBrowser | Node.js | Transport | Platform | Parity |
38
- | --- | --- | --- | --- | --- | --- | --- | --- |
39
- | `1.3.0` | `^0.0.75` | `mcr.microsoft.com/playwright/mcp:v0.0.75` | `^0.3.31` | `>=20` | stdio, Streamable HTTP | `linux/amd64` Docker, Node.js local | Upstream default tools compared in CI. |
40
- | `1.2.7` | `^0.0.75` | `mcr.microsoft.com/playwright/mcp:v0.0.75` | `^0.3.30` | `>=20` | stdio, Streamable HTTP | `linux/amd64` Docker, Node.js local | Upstream default tools compared in CI. |
41
- | `1.2.6` | `^0.0.75` | `mcr.microsoft.com/playwright/mcp:v0.0.75` | `^0.3.30` | `>=20` | stdio, Streamable HTTP | `linux/amd64` Docker, Node.js local | Upstream default tools compared in CI. |
42
- | `1.2.5` | `^0.0.75` | `mcr.microsoft.com/playwright/mcp:v0.0.75` | `^0.3.30` | `>=20` | stdio, Streamable HTTP | `linux/amd64` Docker, Node.js local | Upstream default tools compared in CI. |
43
- | `1.2.3` | `^0.0.75` | `mcr.microsoft.com/playwright/mcp:v0.0.75` | `^0.3.30` | `>=20` | stdio, Streamable HTTP | `linux/amd64` Docker, Node.js local | Upstream default tools compared in CI. |
44
- | `1.2.2` | `^0.0.75` | `mcr.microsoft.com/playwright/mcp:v0.0.75` | `^0.3.30` | `>=20` | stdio, Streamable HTTP | `linux/amd64` Docker, Node.js local | Upstream default tools compared in CI. |
45
- | `1.2.1` | `^0.0.75` | `mcr.microsoft.com/playwright/mcp:v0.0.75` | `^0.3.30` | `>=20` | stdio, Streamable HTTP | `linux/amd64` Docker, Node.js local | Upstream default tools compared in CI. |
46
- | `1.2.0` | `^0.0.75` | `mcr.microsoft.com/playwright/mcp:v0.0.75` | `^0.3.30` | `>=20` | stdio, Streamable HTTP | `linux/amd64` Docker, Node.js local | Upstream default tools compared in CI. |
47
- | `1.1.0` | `^0.0.75` | `mcr.microsoft.com/playwright/mcp:v0.0.75` | `^0.3.30` | `>=20` | stdio, Streamable HTTP | `linux/amd64` Docker, Node.js local | Upstream default tools compared in CI. |
48
- | `1.0.2` | `^0.0.75` | `mcr.microsoft.com/playwright/mcp:v0.0.75` | `^0.3.30` | `>=20` | stdio | `linux/amd64` Docker, Node.js local | Upstream default tools compared in CI. |
49
- | `1.0.1` | `^0.0.75` | `mcr.microsoft.com/playwright/mcp:v0.0.75` | `^0.3.30` | `>=20` | stdio | `linux/amd64` Docker, Node.js local | Upstream default tools compared in CI. |
50
- | `1.0.0` | `^0.0.75` | `mcr.microsoft.com/playwright/mcp:v0.0.75` | `^0.3.30` | `>=20` | stdio | `linux/amd64` Docker, Node.js local | Upstream default tools compared in CI. |
41
+ <!-- compatibility-table:start -->
42
+
43
+ | cloakbrowser-mcp | @playwright/mcp | CloakBrowser | Node.js | Platform |
44
+ | ---------------- | --------------- | ------------ | --------- | ----------------------------------------------------------------------------------------- |
45
+ | `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` |
46
+ | `1.3.0` | `^0.0.75` | `^0.3.31` | `>=20` | Docker `linux/amd64`, Node.js local |
47
+ | `1.2.7` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
48
+ | `1.2.6` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
49
+ | `1.2.5` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
50
+ | `1.2.3` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
51
+ | `1.2.2` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
52
+ | `1.2.1` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
53
+ | `1.2.0` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
54
+ | `1.1.0` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
55
+ | `1.0.2` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
56
+ | `1.0.1` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
57
+ | `1.0.0` | `^0.0.75` | `^0.3.30` | `>=20` | Docker `linux/amd64`, Node.js local |
58
+
59
+ <!-- compatibility-table:end -->
51
60
 
52
61
  See [Version Compatibility](docs/version-compatibility.md) for the maintained compatibility table.
53
62
 
@@ -71,11 +80,12 @@ npx -y cloakbrowser-mcp@latest doctor
71
80
  npx -y cloakbrowser-mcp@latest doctor --json
72
81
  npx -y cloakbrowser-mcp@latest
73
82
  npx -y cloakbrowser-mcp@latest --transport streamable-http --http-port 3000
83
+ npx -y cloakbrowser-mcp@latest --transport streamable-http --http-protocol https --https-cert ./cert.pem --https-key ./key.pem
74
84
  ```
75
85
 
76
- Requires Node.js 20 or newer. The first real browser action may download the CloakBrowser binary unless it is already cached.
86
+ Requires Node.js 22.12 or newer. The first real browser action may download the CloakBrowser binary unless it is already cached.
77
87
  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.
88
+ 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
89
  For the complete generated CLI flag reference, see the published [CLI Reference](https://swimmwatch.github.io/cloakbrowser-mcp/generated/cli/).
80
90
 
81
91
  ## Run from Docker
@@ -95,7 +105,18 @@ curl http://127.0.0.1:3000/healthz
95
105
  curl http://127.0.0.1:3000/readyz
96
106
  ```
97
107
 
98
- The Docker image is based on the pinned official Playwright MCP image, installs the bridge under `/opt/cloakbrowser-mcp`, and writes artifacts to `/data` by default.
108
+ For direct HTTPS from the container, mount your TLS files and select HTTPS:
109
+
110
+ ```bash
111
+ docker run --rm --init -p 127.0.0.1:3000:3000 \
112
+ -v "$PWD/artifacts:/data" \
113
+ -v "$PWD/certs:/certs:ro" \
114
+ swimmwatch/cloakbrowser-mcp:latest \
115
+ --transport streamable-http --http-host 0.0.0.0 --http-port 3000 \
116
+ --http-protocol https --https-cert /certs/cert.pem --https-key /certs/key.pem
117
+ ```
118
+
119
+ 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
120
  The same tags are also published to `ghcr.io/swimmwatch/cloakbrowser-mcp`.
100
121
 
101
122
  ## MCP client configuration
@@ -148,6 +169,7 @@ Common variables:
148
169
  | Variable | Default | Description |
149
170
  | --- | --- | --- |
150
171
  | `CLOAK_PLAYWRIGHT_MCP_TRANSPORT` | `stdio` | MCP transport exposed by the bridge: `stdio` or `streamable-http`. |
172
+ | `CLOAK_PLAYWRIGHT_MCP_HTTP_PROTOCOL` | `http` | Streamable HTTP listener protocol: `http` or `https`. |
151
173
  | `CLOAK_PLAYWRIGHT_MCP_HTTP_HOST` | `127.0.0.1` | Streamable HTTP bind host. |
152
174
  | `CLOAK_PLAYWRIGHT_MCP_HTTP_PORT` | `3000` | Streamable HTTP bind port. |
153
175
  | `CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT` | `/mcp` | Streamable HTTP endpoint path. |
@@ -155,6 +177,11 @@ Common variables:
155
177
  | `CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND` | `memory` | Session metadata backend. Only `memory` is implemented in this release. |
156
178
  | `CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS` | `3600000` | Idle TTL for Streamable HTTP sessions. |
157
179
  | `CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX` | `32` | Maximum active Streamable HTTP sessions in one process. |
180
+ | `CLOAK_PLAYWRIGHT_MCP_HTTPS_CERT` | unset | TLS certificate PEM path for HTTPS Streamable HTTP. |
181
+ | `CLOAK_PLAYWRIGHT_MCP_HTTPS_KEY` | unset | TLS private key PEM path for HTTPS Streamable HTTP. |
182
+ | `CLOAK_PLAYWRIGHT_MCP_HTTPS_PFX` | unset | TLS PFX/PKCS12 path for HTTPS Streamable HTTP. |
183
+ | `CLOAK_PLAYWRIGHT_MCP_HTTPS_PASSPHRASE` | unset | Passphrase for an encrypted HTTPS key or PFX. |
184
+ | `CLOAK_PLAYWRIGHT_MCP_LOG_LEVEL` | `info` | Streamable HTTP operational log level: `trace`, `debug`, `info`, `warn`, `error`, `fatal`, or `silent`. |
158
185
  | `PLAYWRIGHT_MCP_BROWSER_ENGINE` | `cloak` | `cloak` uses CloakBrowser. `playwright` uses the upstream Playwright MCP browser runtime. |
159
186
  | `PLAYWRIGHT_MCP_HEADLESS` | `true` | Runs Chromium headless. |
160
187
  | `PLAYWRIGHT_MCP_OUTPUT_DIR` | `.playwright-mcp` | Artifact directory for npm usage. Docker defaults to `/data`. |
@@ -1,5 +1,5 @@
1
1
  import { binaryInfo } from 'cloakbrowser';
2
- import { type EnvReader } from './env.js';
2
+ import { type EnvReader } from '#src/bridge/env';
3
3
  export type BrowserEngine = 'cloak' | 'playwright';
4
4
  export interface BridgeRuntime {
5
5
  browserEngine: BrowserEngine;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/bridge/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAuC,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAyD,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAIjG,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,YAAY,CAAC;AAEnD,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,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;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;SAC9B,CAAC;QACF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;CACH;AAID,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,aAAa,CAAC,CA4DxB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,EAAE,CAQzD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxF;AAED,wBAAgB,yBAAyB,IAAI,UAAU,CAAC,OAAO,UAAU,CAAC,CAEzE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/bridge/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAuC,MAAM,cAAc,CAAC;AAC/E,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAIzB,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,YAAY,CAAC;AAEnD,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,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;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;SAC9B,CAAC;QACF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;CACH;AAID,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,aAAa,CAAC,CA+DxB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,EAAE,CAQzD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxF;AAED,wBAAgB,yBAAyB,IAAI,UAAU,CAAC,OAAO,UAAU,CAAC,CAEzE"}
@@ -2,9 +2,9 @@ import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
2
2
  import { tmpdir } from 'node:os';
3
3
  import path from 'node:path';
4
4
  import { binaryInfo, ensureBinary, getDefaultStealthArgs } from 'cloakbrowser';
5
- import { appendNodeOption, envBool, envInt, envList, envString } from './env.js';
6
- import { resolvePlaywrightCoreBundlePath } from './paths.js';
7
- import { consoleFallbackInitScript, consoleFallbackPreloadScript } from '../runtime/consoleFallback.js';
5
+ import { appendNodeOption, envBool, envInt, envList, envString, quoteNodeOptionValue, } from '#src/bridge/env';
6
+ import { resolvePlaywrightCoreBundlePath } from '#src/bridge/paths';
7
+ import { consoleFallbackInitScript, consoleFallbackPreloadScript } from '#src/runtime/consoleFallback';
8
8
  const ignoredAutomationArgs = ['--enable-automation', '--enable-unsafe-swiftshader'];
9
9
  export async function prepareBridgeRuntime(options = {}) {
10
10
  const env = options.env ?? process.env;
@@ -43,7 +43,7 @@ export async function prepareBridgeRuntime(options = {}) {
43
43
  writeFileSync(initScriptPath, consoleFallbackInitScript);
44
44
  writeFileSync(preloadPath, consoleFallbackPreloadScript(resolvePlaywrightCoreBundlePath()));
45
45
  config.browser.initScript = [...(config.browser.initScript ?? []), initScriptPath];
46
- childEnv.NODE_OPTIONS = appendNodeOption(childEnv.NODE_OPTIONS, `--require=${preloadPath}`);
46
+ childEnv.NODE_OPTIONS = appendNodeOption(childEnv.NODE_OPTIONS, `--require=${quoteNodeOptionValue(preloadPath)}`);
47
47
  }
48
48
  const configPath = path.join(tempDir, 'playwright-mcp.config.json');
49
49
  writeFileSync(configPath, `${JSON.stringify(config, null, 2)}\n`);
@@ -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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"}
@@ -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
@@ -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"}
@@ -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
@@ -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"}
@@ -1,5 +1,7 @@
1
1
  import type { CallToolResult, Tool } from '@modelcontextprotocol/sdk/types.js';
2
- import { type BridgeRuntime } from './config.js';
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,aAAa,CAAC;AAS5E,eAAO,MAAM,cAAc,mEAAoE,CAAC;AAGhG,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"}
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"}
@@ -1,6 +1,8 @@
1
- import { getCurrentCloakBinaryInfo } from './config.js';
2
- import { CLOAKBROWSER_TOOL_COUNT, PLAYWRIGHT_MCP_BROWSER_TOOL_COUNT, PLAYWRIGHT_MCP_PACKAGE, PLAYWRIGHT_MCP_VERSION, PROJECT_METADATA, } from '../project/metadata.js';
3
- export const localToolNames = ['cloakbrowser_binary_info', 'cloakbrowser_bridge_info'];
1
+ import { getCurrentCloakBinaryInfo } from '#src/bridge/config';
2
+ import { CLOAKBROWSER_TOOL_COUNT, PLAYWRIGHT_MCP_BROWSER_TOOL_COUNT, PLAYWRIGHT_MCP_PACKAGE, PLAYWRIGHT_MCP_VERSION, PROJECT_METADATA, } from '#src/project/metadata';
3
+ export const LOCAL_TOOL_BINARY_INFO = 'cloakbrowser_binary_info';
4
+ export const LOCAL_TOOL_BRIDGE_INFO = 'cloakbrowser_bridge_info';
5
+ export const localToolNames = [LOCAL_TOOL_BINARY_INFO, LOCAL_TOOL_BRIDGE_INFO];
4
6
  const localToolNameSet = new Set(localToolNames);
5
7
  const emptyInputSchema = {
6
8
  type: 'object',
@@ -9,7 +11,7 @@ const emptyInputSchema = {
9
11
  };
10
12
  const localTools = [
11
13
  {
12
- name: 'cloakbrowser_binary_info',
14
+ name: LOCAL_TOOL_BINARY_INFO,
13
15
  title: 'CloakBrowser binary info',
14
16
  description: 'Return CloakBrowser package, cache, platform, and resolved browser binary information.',
15
17
  inputSchema: emptyInputSchema,
@@ -20,7 +22,7 @@ const localTools = [
20
22
  },
21
23
  },
22
24
  {
23
- name: 'cloakbrowser_bridge_info',
25
+ name: LOCAL_TOOL_BRIDGE_INFO,
24
26
  title: 'CloakBrowser bridge info',
25
27
  description: 'Return runtime metadata for the CloakBrowser bridge over upstream Playwright MCP.',
26
28
  inputSchema: emptyInputSchema,
@@ -38,7 +40,7 @@ export function isLocalTool(name) {
38
40
  return localToolNameSet.has(name);
39
41
  }
40
42
  export function callLocalTool(name, runtime, upstreamToolCount) {
41
- if (name === 'cloakbrowser_binary_info') {
43
+ if (name === LOCAL_TOOL_BINARY_INFO) {
42
44
  return jsonResult({
43
45
  browserEngine: runtime.browserEngine,
44
46
  executablePath: runtime.cloakBinaryPath ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/bridge/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAsB,MAAM,aAAa,CAAC;AAC5E,OAAO,EACL,uBAAuB,EACvB,iCAAiC,EACjC,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,0BAA0B,EAAE,0BAA0B,CAAU,CAAC;AAChG,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS,cAAc,CAAC,CAAC;AAIzD,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,EAAE;IACd,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAEX,MAAM,UAAU,GAAW;IACzB;QACE,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,wFAAwF;QACrG,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,mFAAmF;QAChG,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAAmB,EACnB,OAAsB,EACtB,iBAAyB;IAEzB,IAAI,IAAI,KAAK,0BAA0B,EAAE,CAAC;QACxC,OAAO,UAAU,CAAC;YAChB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,cAAc,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;YAC/C,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,yBAAyB,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,gBAAgB,CAAC,OAAO;QAC9B,KAAK,EAAE,gBAAgB,CAAC,KAAK;QAC7B,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,OAAO,EAAE,uBAAuB;QAChC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,QAAQ,EAAE;YACR,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,sBAAsB;YAC/B,SAAS,EAAE,iBAAiB,IAAI,iCAAiC;SAClE;QACD,UAAU,EAAE;YACV,SAAS,EAAE,uBAAuB;YAClC,KAAK,EAAE,cAAc;SACtB;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B;IAChD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACjE,iBAAiB,EAAE,KAAK;KACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/bridge/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAsB,MAAM,oBAAoB,CAAC;AACnF,OAAO,EACL,uBAAuB,EACvB,iCAAiC,EACjC,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAAmC,CAAC;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAAmC,CAAC;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,sBAAsB,EAAE,sBAAsB,CAAU,CAAC;AACxF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS,cAAc,CAAC,CAAC;AAIzD,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,EAAE;IACd,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAEX,MAAM,UAAU,GAAW;IACzB;QACE,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,wFAAwF;QACrG,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,mFAAmF;QAChG,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAAmB,EACnB,OAAsB,EACtB,iBAAyB;IAEzB,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACpC,OAAO,UAAU,CAAC;YAChB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,cAAc,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;YAC/C,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,yBAAyB,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,gBAAgB,CAAC,OAAO;QAC9B,KAAK,EAAE,gBAAgB,CAAC,KAAK;QAC7B,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,OAAO,EAAE,uBAAuB;QAChC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,QAAQ,EAAE;YACR,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,sBAAsB;YAC/B,SAAS,EAAE,iBAAiB,IAAI,iCAAiC;SAClE;QACD,UAAU,EAAE;YACV,SAAS,EAAE,uBAAuB;YAClC,KAAK,EAAE,cAAc;SACtB;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B;IAChD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACjE,iBAAiB,EAAE,KAAK;KACzB,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { getCurrentCloakBinaryInfo } from '../bridge/config.js';
1
+ import { getCurrentCloakBinaryInfo } from '#src/bridge/config';
2
2
  export type DoctorStatus = 'ok' | 'warning' | 'error';
3
3
  export interface DoctorCheck {
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAIhE,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;IACF,YAAY,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAClE,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AA6BD,wBAAgB,kBAAkB,IAAI,YAAY,CAoFjD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAU/D"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAI/D,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;IACF,YAAY,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAClE,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AA6BD,wBAAgB,kBAAkB,IAAI,YAAY,CAoFjD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAU/D"}
@@ -1,8 +1,8 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
2
  import process from 'node:process';
3
- import { getCurrentCloakBinaryInfo } from '../bridge/config.js';
4
- import { resolvePlaywrightMcpCliPath } from '../bridge/paths.js';
5
- import { PLAYWRIGHT_MCP_PACKAGE, PLAYWRIGHT_MCP_VERSION, PROJECT_METADATA } from '../project/metadata.js';
3
+ import { getCurrentCloakBinaryInfo } from '#src/bridge/config';
4
+ import { resolvePlaywrightMcpCliPath } from '#src/bridge/paths';
5
+ import { PLAYWRIGHT_MCP_PACKAGE, PLAYWRIGHT_MCP_VERSION, PROJECT_METADATA } from '#src/project/metadata';
6
6
  const packageMetadata = JSON.parse(readFileSync(new URL('../../package.json', import.meta.url), 'utf8'));
7
7
  const doctorReportTemplate = `CloakBrowser MCP doctor
8
8
  Status: {{status}}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,17 @@
1
1
  import { Command } from 'commander';
2
- import { type BridgeTransportMode, type CliOptions, type HttpSessionBackend } from '../http/options.js';
2
+ import { type BridgeTransportMode, type CliOptions, type HttpProtocol, type HttpSessionBackend } from '#src/http/options';
3
3
  export declare const cliDescription = "Playwright MCP bridge backed by CloakBrowser.";
4
4
  interface CommanderCliOptions {
5
5
  transport: BridgeTransportMode;
6
+ httpProtocol: HttpProtocol;
6
7
  httpHost: string;
7
8
  httpPort: number;
8
9
  httpEndpoint: string;
9
10
  httpAuthToken?: string;
11
+ httpsCert?: string;
12
+ httpsKey?: string;
13
+ httpsPfx?: string;
14
+ httpsPassphrase?: string;
10
15
  httpSessionBackend: HttpSessionBackend;
11
16
  httpSessionIdleTtlMs: number;
12
17
  httpSessionMax: number;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAC;AAClE,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,cAAc,kDAAkD,CAAC;AAE9E,UAAU,mBAAmB;IAC3B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,uBAAuB;IAC/B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACpE;AAED,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtC,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,mBAAmB,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,CAAC;CAC5C;AAED,eAAO,MAAM,oBAAoB,EAAE,SAAS,mBAAmB,EAwE9D,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAiBhG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CASnE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAE3D;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAwBlE"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAC;AAClE,OAAO,EASL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAExB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,cAAc,kDAAkD,CAAC;AAE9E,UAAU,mBAAmB;IAC3B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,uBAAuB;IAC/B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACpE;AAED,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtC,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,mBAAmB,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,CAAC;CAC5C;AAED,eAAO,MAAM,oBAAoB,EAAE,SAAS,mBAAmB,EAiH9D,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAiBhG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CASnE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAE3D;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAwBlE"}
@@ -1,5 +1,5 @@
1
1
  import { Command, InvalidArgumentError, Option } from 'commander';
2
- import { bridgeTransportModes, defaultStreamableHttpOptions, httpSessionBackends, } from '../http/options.js';
2
+ import { BRIDGE_TRANSPORT_STDIO, HEALTHZ_PATH, HTTP_PROTOCOL_HTTP, READYZ_PATH, bridgeTransportModes, defaultStreamableHttpOptions, httpProtocols, httpSessionBackends, } from '#src/http/options';
3
3
  export const cliDescription = 'Playwright MCP bridge backed by CloakBrowser.';
4
4
  export const cliOptionDefinitions = [
5
5
  {
@@ -8,9 +8,18 @@ export const cliOptionDefinitions = [
8
8
  description: 'MCP transport exposed by the bridge.',
9
9
  env: 'CLOAK_PLAYWRIGHT_MCP_TRANSPORT',
10
10
  group: 'Transport',
11
- defaultValue: 'stdio',
11
+ defaultValue: BRIDGE_TRANSPORT_STDIO,
12
12
  choices: bridgeTransportModes,
13
13
  },
14
+ {
15
+ name: 'httpProtocol',
16
+ flags: '--http-protocol <protocol>',
17
+ description: 'Streamable HTTP listener protocol.',
18
+ env: 'CLOAK_PLAYWRIGHT_MCP_HTTP_PROTOCOL',
19
+ group: 'Streamable HTTP',
20
+ defaultValue: defaultStreamableHttpOptions.protocol,
21
+ choices: httpProtocols,
22
+ },
14
23
  {
15
24
  name: 'httpHost',
16
25
  flags: '--http-host <host>',
@@ -46,6 +55,38 @@ export const cliOptionDefinitions = [
46
55
  group: 'Streamable HTTP',
47
56
  parser: parseNonEmptyString('HTTP auth token must not be empty'),
48
57
  },
58
+ {
59
+ name: 'httpsCert',
60
+ flags: '--https-cert <path>',
61
+ description: 'TLS certificate PEM file for HTTPS Streamable HTTP.',
62
+ env: 'CLOAK_PLAYWRIGHT_MCP_HTTPS_CERT',
63
+ group: 'Streamable HTTP',
64
+ parser: parseNonEmptyString('HTTPS certificate path must not be empty'),
65
+ },
66
+ {
67
+ name: 'httpsKey',
68
+ flags: '--https-key <path>',
69
+ description: 'TLS private key PEM file for HTTPS Streamable HTTP.',
70
+ env: 'CLOAK_PLAYWRIGHT_MCP_HTTPS_KEY',
71
+ group: 'Streamable HTTP',
72
+ parser: parseNonEmptyString('HTTPS private key path must not be empty'),
73
+ },
74
+ {
75
+ name: 'httpsPfx',
76
+ flags: '--https-pfx <path>',
77
+ description: 'TLS PFX/PKCS12 file for HTTPS Streamable HTTP.',
78
+ env: 'CLOAK_PLAYWRIGHT_MCP_HTTPS_PFX',
79
+ group: 'Streamable HTTP',
80
+ parser: parseNonEmptyString('HTTPS PFX path must not be empty'),
81
+ },
82
+ {
83
+ name: 'httpsPassphrase',
84
+ flags: '--https-passphrase <value>',
85
+ description: 'Passphrase for an encrypted HTTPS key or PFX.',
86
+ env: 'CLOAK_PLAYWRIGHT_MCP_HTTPS_PASSPHRASE',
87
+ group: 'Streamable HTTP',
88
+ parser: parseNonEmptyString('HTTPS passphrase must not be empty'),
89
+ },
49
90
  {
50
91
  name: 'httpSessionBackend',
51
92
  flags: '--http-session-backend <backend>',
@@ -155,13 +196,17 @@ function createCommanderOption(definition) {
155
196
  return option;
156
197
  }
157
198
  function toCliOptions(options) {
199
+ const tls = normalizeTlsOptions(options);
200
+ validateHttpProtocolOptions(options.httpProtocol, tls);
158
201
  return {
159
202
  transport: options.transport,
160
203
  http: {
204
+ protocol: options.httpProtocol,
161
205
  host: options.httpHost,
162
206
  port: options.httpPort,
163
207
  endpoint: options.httpEndpoint,
164
208
  authToken: optionalString(options.httpAuthToken),
209
+ tls,
165
210
  sessionBackend: options.httpSessionBackend,
166
211
  sessionIdleTtlMs: options.httpSessionIdleTtlMs,
167
212
  sessionMax: options.httpSessionMax,
@@ -169,6 +214,35 @@ function toCliOptions(options) {
169
214
  },
170
215
  };
171
216
  }
217
+ function normalizeTlsOptions(options) {
218
+ return {
219
+ cert: optionalString(options.httpsCert),
220
+ key: optionalString(options.httpsKey),
221
+ pfx: optionalString(options.httpsPfx),
222
+ passphrase: optionalString(options.httpsPassphrase),
223
+ };
224
+ }
225
+ function validateHttpProtocolOptions(protocol, tls) {
226
+ const hasCert = tls.cert !== undefined;
227
+ const hasKey = tls.key !== undefined;
228
+ const hasPfx = tls.pfx !== undefined;
229
+ const hasPassphrase = tls.passphrase !== undefined;
230
+ const hasAnyTlsOption = hasCert || hasKey || hasPfx || hasPassphrase;
231
+ if (protocol === HTTP_PROTOCOL_HTTP) {
232
+ if (hasAnyTlsOption) {
233
+ throw new InvalidArgumentError('HTTPS certificate options require --http-protocol https');
234
+ }
235
+ return;
236
+ }
237
+ if (hasPfx && (hasCert || hasKey)) {
238
+ throw new InvalidArgumentError('HTTPS must use either --https-pfx or --https-cert with --https-key');
239
+ }
240
+ if (hasPfx)
241
+ return;
242
+ if (hasCert && hasKey)
243
+ return;
244
+ throw new InvalidArgumentError('HTTPS requires either --https-cert and --https-key, or --https-pfx');
245
+ }
172
246
  function renderCliReferenceFrontMatter() {
173
247
  return `---
174
248
  description: Generated CLI reference for cloakbrowser-mcp.
@@ -228,7 +302,7 @@ function parseHttpEndpoint(value) {
228
302
  if (!value.startsWith('/') || value.includes('?') || value.includes('#')) {
229
303
  throw new InvalidArgumentError('HTTP endpoint must be an absolute path such as "/mcp"');
230
304
  }
231
- if (value === '/healthz' || value === '/readyz') {
305
+ if (value === HEALTHZ_PATH || value === READYZ_PATH) {
232
306
  throw new InvalidArgumentError('HTTP endpoint must not use reserved probe paths "/healthz" or "/readyz"');
233
307
  }
234
308
  if (value.length > 1 && value.endsWith('/')) {
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -1,11 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { readFileSync } from 'node:fs';
3
3
  import process from 'node:process';
4
- import { createDoctorReport, renderDoctorReport } from './cli/doctor.js';
5
- import { createCliCommand, readCliOptions } from './cli/options.js';
6
- import { startStreamableHttpBridge } from './http/server.js';
7
- import { PROJECT_METADATA } from './project/metadata.js';
8
- import { startBridge } from './server.js';
4
+ import { createDoctorReport, renderDoctorReport } from '#src/cli/doctor';
5
+ import { createCliCommand, readCliOptions } from '#src/cli/options';
6
+ import { BRIDGE_TRANSPORT_STREAMABLE_HTTP } from '#src/http/options';
7
+ import { startStreamableHttpBridge } from '#src/http/server';
8
+ import { createBridgeLogger } from '#src/logging/logger';
9
+ import { PROJECT_METADATA } from '#src/project/metadata';
10
+ import { startBridge } from '#src/server';
9
11
  const pkg = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
10
12
  async function main() {
11
13
  const command = createCliCommand(pkg.version, {
@@ -26,8 +28,8 @@ async function main() {
26
28
  websiteUrl: PROJECT_METADATA.websiteUrl,
27
29
  icons: PROJECT_METADATA.icons,
28
30
  };
29
- const running = options.transport === 'streamable-http'
30
- ? await startStreamableHttpBridge({ ...options.http, serverInfo })
31
+ const running = options.transport === BRIDGE_TRANSPORT_STREAMABLE_HTTP
32
+ ? await startStreamableHttpCliBridge({ ...options.http, serverInfo })
31
33
  : await startStdioBridge(serverInfo);
32
34
  for (const signal of ['SIGINT', 'SIGTERM']) {
33
35
  process.once(signal, () => {
@@ -43,6 +45,15 @@ async function startStdioBridge(serverInfo) {
43
45
  close: () => bridge.dispose(),
44
46
  };
45
47
  }
48
+ async function startStreamableHttpCliBridge(options) {
49
+ const logger = createBridgeLogger();
50
+ const bridge = await startStreamableHttpBridge({
51
+ ...options,
52
+ logger,
53
+ });
54
+ logger.info({ url: bridge.url }, 'streamable-http listening');
55
+ return bridge;
56
+ }
46
57
  void main().catch((error) => {
47
58
  process.stderr.write(`fatal: ${error.message}\n`);
48
59
  process.exit(1);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAEvF,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE;QAC5C,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CACnF,CAAC;YACF,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;gBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACtD,CAAC;KACF,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,gBAAgB,CAAC,OAAO;YAC9B,KAAK,EAAE,gBAAgB,CAAC,KAAK;YAC7B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,WAAW,EAAE,gBAAgB,CAAC,WAAW;YACzC,UAAU,EAAE,gBAAgB,CAAC,UAAU;YACvC,KAAK,EAAE,gBAAgB,CAAC,KAAK;SAC9B,CAAC;QAEF,MAAM,OAAO,GACX,OAAO,CAAC,SAAS,KAAK,iBAAiB;YACrC,CAAC,CAAC,MAAM,yBAAyB,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC;YAClE,CAAC,CAAC,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEzC,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;gBACxB,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,UAAmC;IACjE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACjD,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE;KAC9B,CAAC;AACJ,CAAC;AAED,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAW,KAAe,CAAC,OAAO,IAAI,CAAC,CAAC;IAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}