opera-browser-cli 0.1.44 → 0.1.46
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 +98 -16
- package/SKILL.md +31 -2
- package/dist/src/bridge.d.ts +69 -1
- package/dist/src/bridge.js +261 -24
- package/dist/src/bridge.js.map +1 -1
- package/dist/src/browser-target.d.ts +84 -0
- package/dist/src/browser-target.js +161 -0
- package/dist/src/browser-target.js.map +1 -0
- package/dist/src/cli.d.ts +72 -2
- package/dist/src/cli.js +947 -213
- package/dist/src/cli.js.map +1 -1
- package/dist/src/client.d.ts +75 -8
- package/dist/src/client.js +671 -119
- package/dist/src/client.js.map +1 -1
- package/dist/src/config.d.ts +58 -0
- package/dist/src/config.js +171 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/detect.d.ts +21 -0
- package/dist/src/detect.js +76 -0
- package/dist/src/detect.js.map +1 -0
- package/dist/src/identity.d.ts +61 -0
- package/dist/src/identity.js +87 -0
- package/dist/src/identity.js.map +1 -0
- package/dist/src/profile.d.ts +80 -0
- package/dist/src/profile.js +187 -0
- package/dist/src/profile.js.map +1 -0
- package/dist/src/version.d.ts +10 -0
- package/dist/src/version.js +34 -0
- package/dist/src/version.js.map +1 -0
- package/package.json +2 -2
- package/dist/bin/opera-cli-bridge.d.ts +0 -2
- package/dist/bin/opera-cli-bridge.js +0 -7
- package/dist/bin/opera-cli-bridge.js.map +0 -1
- package/dist/bin/opera-cli.d.ts +0 -2
- package/dist/bin/opera-cli.js +0 -4
- package/dist/bin/opera-cli.js.map +0 -1
- package/openclaw/.claude/settings.local.json +0 -8
package/dist/src/bridge.js
CHANGED
|
@@ -13,13 +13,15 @@
|
|
|
13
13
|
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
14
14
|
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
15
15
|
import { LoggingMessageNotificationSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
16
|
-
import { createServer, } from "node:http";
|
|
16
|
+
import { createServer, request, } from "node:http";
|
|
17
17
|
import { existsSync, mkdirSync, unlinkSync, writeFileSync } from "node:fs";
|
|
18
18
|
import { randomBytes, timingSafeEqual } from "node:crypto";
|
|
19
19
|
import { extractPageOrigin } from "./snapshot.js";
|
|
20
20
|
import { createRequire } from "node:module";
|
|
21
21
|
import { dirname, join, resolve } from "node:path";
|
|
22
22
|
import { homedir } from "node:os";
|
|
23
|
+
import { BRIDGE_SERVER_NAME, computeBootMinute, } from "./identity.js";
|
|
24
|
+
import { getPackageVersion } from "./version.js";
|
|
23
25
|
const DEFAULT_PORT = Number.parseInt(process.env.OPERA_CLI_PORT ?? "9225", 10);
|
|
24
26
|
const STATE_DIR = join(homedir(), ".opera-browser-cli");
|
|
25
27
|
const PID_FILE = join(STATE_DIR, "bridge.pid");
|
|
@@ -50,6 +52,61 @@ export async function isBridgeClientConnected(client) {
|
|
|
50
52
|
return false;
|
|
51
53
|
}
|
|
52
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* "Usable" health for the bridge: the MCP server is up AND, when the bridge is
|
|
57
|
+
* in attach mode, the browser at the attach URL is actually reachable.
|
|
58
|
+
*
|
|
59
|
+
* In attach mode devtools-mcp stays connected over stdio even when the browser
|
|
60
|
+
* it points at is gone (it reaches for the browser lazily on a tool call), so
|
|
61
|
+
* MCP liveness alone cannot tell that a bridge is wedged on a dead URL. Probing
|
|
62
|
+
* the attach endpoint directly keeps `/health` honest, which lets the CLI stop
|
|
63
|
+
* reusing a wedged bridge and rebuild it against the current target.
|
|
64
|
+
*/
|
|
65
|
+
export async function isBridgeHealthConnected(client) {
|
|
66
|
+
if (!(await isBridgeClientConnected(client)))
|
|
67
|
+
return false;
|
|
68
|
+
const browserUrl = process.env.OPERA_CLI_BROWSER_URL;
|
|
69
|
+
if (browserUrl) {
|
|
70
|
+
return await probeHttp(`${browserUrl}/json/version`, 800);
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
/** GET a URL, answering whether it looks like a live CDP endpoint. */
|
|
75
|
+
function probeHttp(url, timeoutMs) {
|
|
76
|
+
return new Promise((resolve) => {
|
|
77
|
+
let req;
|
|
78
|
+
try {
|
|
79
|
+
req = request(url, { method: "GET", timeout: timeoutMs }, (res) => {
|
|
80
|
+
let body = "";
|
|
81
|
+
res.setEncoding("utf-8");
|
|
82
|
+
res.on("data", (chunk) => (body += chunk));
|
|
83
|
+
res.on("end", () => {
|
|
84
|
+
try {
|
|
85
|
+
resolve(typeof JSON.parse(body).Browser ===
|
|
86
|
+
"string");
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
resolve(false);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
// Malformed browser URL — treat as unreachable, never crash the health ping.
|
|
96
|
+
resolve(false);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
req.on("error", () => resolve(false));
|
|
100
|
+
req.on("timeout", () => {
|
|
101
|
+
req.destroy();
|
|
102
|
+
resolve(false);
|
|
103
|
+
});
|
|
104
|
+
req.end();
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/** Wall-clock start of this bridge process — part of its identity. */
|
|
108
|
+
const STARTED_AT = Date.now();
|
|
109
|
+
const BOOT_MINUTE = computeBootMinute();
|
|
53
110
|
function writePidFile(port, token) {
|
|
54
111
|
mkdirSync(STATE_DIR, { recursive: true });
|
|
55
112
|
// Unlink first: writeFileSync's `mode` only applies on create, so overwriting
|
|
@@ -61,9 +118,16 @@ function writePidFile(port, token) {
|
|
|
61
118
|
// Didn't exist — fine
|
|
62
119
|
}
|
|
63
120
|
// 0600: only the owning user may read the auth token.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
121
|
+
// version/startedAt/bootMinute let a CLI process verify this file describes
|
|
122
|
+
// *our* bridge on *this* boot before it ever signals the PID.
|
|
123
|
+
writeFileSync(PID_FILE, JSON.stringify({
|
|
124
|
+
pid: process.pid,
|
|
125
|
+
port,
|
|
126
|
+
token,
|
|
127
|
+
version: getPackageVersion(),
|
|
128
|
+
startedAt: STARTED_AT,
|
|
129
|
+
bootMinute: BOOT_MINUTE,
|
|
130
|
+
}), { mode: 0o600 });
|
|
67
131
|
}
|
|
68
132
|
function removePidFile() {
|
|
69
133
|
try {
|
|
@@ -117,6 +181,40 @@ export function resolveBridgeScript(importMetaDir) {
|
|
|
117
181
|
const sourceScript = builtScript.replace(/\.js$/, ".ts");
|
|
118
182
|
return existsSync(sourceScript) ? sourceScript : builtScript;
|
|
119
183
|
}
|
|
184
|
+
/** Locate the tsx CLI entrypoint without going through `npx`. */
|
|
185
|
+
function resolveTsxCli() {
|
|
186
|
+
try {
|
|
187
|
+
const require = createRequire(import.meta.url);
|
|
188
|
+
const pkgPath = require.resolve("tsx/package.json");
|
|
189
|
+
const cli = join(dirname(pkgPath), "dist", "cli.mjs");
|
|
190
|
+
return existsSync(cli) ? cli : null;
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Decide how to launch the bridge process.
|
|
198
|
+
*
|
|
199
|
+
* Prefers the built JavaScript. The TypeScript entrypoint is used only in a
|
|
200
|
+
* source checkout (or under OPERA_CLI_DEV=1), and only when tsx is already
|
|
201
|
+
* installed — never via `npx`, which blocks on an install prompt when the
|
|
202
|
+
* package is uncached and would hang invisibly behind a redirected stdio.
|
|
203
|
+
*/
|
|
204
|
+
export function resolveBridgeLauncher(importMetaDir, execPath = process.execPath) {
|
|
205
|
+
const builtScript = resolve(importMetaDir, "../bin/opera-browser-cli-bridge.js");
|
|
206
|
+
const sourceScript = builtScript.replace(/\.js$/, ".ts");
|
|
207
|
+
const preferSource = process.env.OPERA_CLI_DEV === "1" || !existsSync(builtScript);
|
|
208
|
+
if (preferSource && existsSync(sourceScript)) {
|
|
209
|
+
const tsx = resolveTsxCli();
|
|
210
|
+
if (tsx === null)
|
|
211
|
+
return { ok: false, reason: "tsx-not-installed" };
|
|
212
|
+
return { ok: true, command: execPath, args: [tsx, sourceScript] };
|
|
213
|
+
}
|
|
214
|
+
if (!existsSync(builtScript))
|
|
215
|
+
return { ok: false, reason: "bridge-not-built" };
|
|
216
|
+
return { ok: true, command: execPath, args: [builtScript] };
|
|
217
|
+
}
|
|
120
218
|
async function readRequestBody(req) {
|
|
121
219
|
let body = "";
|
|
122
220
|
for await (const chunk of req) {
|
|
@@ -202,6 +300,17 @@ export function checkRequestAccess(req, token, requireToken) {
|
|
|
202
300
|
export function generateBridgeToken() {
|
|
203
301
|
return randomBytes(32).toString("hex");
|
|
204
302
|
}
|
|
303
|
+
export function buildHealth(connected) {
|
|
304
|
+
return {
|
|
305
|
+
status: connected ? "ok" : "not-connected",
|
|
306
|
+
server: BRIDGE_SERVER_NAME,
|
|
307
|
+
version: getPackageVersion(),
|
|
308
|
+
pid: process.pid,
|
|
309
|
+
startedAt: STARTED_AT,
|
|
310
|
+
bootMinute: BOOT_MINUTE,
|
|
311
|
+
browser: { connected },
|
|
312
|
+
};
|
|
313
|
+
}
|
|
205
314
|
async function handleToolsRequest(client, res) {
|
|
206
315
|
const result = await client.listTools();
|
|
207
316
|
writeJson(res, 200, result.tools.map((tool) => ({
|
|
@@ -280,14 +389,12 @@ export async function handleBridgeRequest(client, req, res, captureNextId, token
|
|
|
280
389
|
writeJson(res, baseAccess.status ?? 403, { error: baseAccess.error });
|
|
281
390
|
return;
|
|
282
391
|
}
|
|
283
|
-
// /health is token-free so the CLI can detect a running bridge before it knows
|
|
392
|
+
// /health is token-free so the CLI can detect a running bridge before it knows
|
|
393
|
+
// the token. It carries the full identity (version, pid, boot) so the caller
|
|
394
|
+
// can tell a usable bridge from a stale-version one from a foreign server.
|
|
284
395
|
if (req.method === "GET" && req.url === "/health") {
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
}
|
|
288
|
-
else {
|
|
289
|
-
writeJson(res, 503, { status: "not-connected", server: "opera-browser-cli" });
|
|
290
|
-
}
|
|
396
|
+
const connected = await isBridgeHealthConnected(client);
|
|
397
|
+
writeJson(res, connected ? 200 : 503, buildHealth(connected));
|
|
291
398
|
return;
|
|
292
399
|
}
|
|
293
400
|
// Every remaining route exposes browser state or automation — require the token.
|
|
@@ -321,17 +428,68 @@ export async function handleBridgeRequest(client, req, res, captureNextId, token
|
|
|
321
428
|
}
|
|
322
429
|
writeJson(res, 404, { error: "not found" });
|
|
323
430
|
}
|
|
324
|
-
|
|
431
|
+
/**
|
|
432
|
+
* Build the HTTP server.
|
|
433
|
+
*
|
|
434
|
+
* `resolve` is called per request rather than the client being captured up
|
|
435
|
+
* front, so the port can be bound before the MCP connection exists. Until it
|
|
436
|
+
* returns a client every route answers 503 with a well-formed health body —
|
|
437
|
+
* which is exactly what a caller probing /health during startup should see.
|
|
438
|
+
*/
|
|
439
|
+
export function createBridgeServer(resolve, token = null) {
|
|
325
440
|
return createServer((req, res) => {
|
|
441
|
+
const { client, captureNextId } = resolve();
|
|
442
|
+
if (client === null) {
|
|
443
|
+
res.setHeader("Content-Type", "application/json");
|
|
444
|
+
writeJson(res, 503, buildHealth(false));
|
|
445
|
+
return;
|
|
446
|
+
}
|
|
326
447
|
void handleBridgeRequest(client, req, res, captureNextId, token);
|
|
327
448
|
});
|
|
328
449
|
}
|
|
329
450
|
function logBridgeMessage(message) {
|
|
330
451
|
process.stderr.write(`[opera-browser-cli] ${message}\n`);
|
|
331
452
|
}
|
|
453
|
+
// ---------------------------------------------------------------------------
|
|
454
|
+
// Startup handshake
|
|
455
|
+
//
|
|
456
|
+
// The parent spawns us with stdout on a pipe and reads exactly one line:
|
|
457
|
+
// READY — listening, MCP connected, PID file written
|
|
458
|
+
// FAILED <reason> — fatal, with a machine-readable reason
|
|
459
|
+
//
|
|
460
|
+
// Without this the parent can only poll /health blind, which costs a full
|
|
461
|
+
// timeout window even when we died in milliseconds. stderr goes to the log
|
|
462
|
+
// file, so stdout carries nothing but this handshake.
|
|
463
|
+
// ---------------------------------------------------------------------------
|
|
464
|
+
/** Exit code signalling "port taken, try the next one" (EX_TEMPFAIL). */
|
|
465
|
+
export const EXIT_PORT_IN_USE = 75;
|
|
332
466
|
function writeReadySignal() {
|
|
333
467
|
process.stdout.write("READY\n");
|
|
334
468
|
}
|
|
469
|
+
function writeFailedSignal(reason, detail) {
|
|
470
|
+
process.stdout.write(`FAILED ${reason}${detail ? ` ${detail}` : ""}\n`);
|
|
471
|
+
}
|
|
472
|
+
/**
|
|
473
|
+
* Whether to launch a visible browser.
|
|
474
|
+
*
|
|
475
|
+
* Headless is the safe default for a tool — it is the only thing that works on
|
|
476
|
+
* a server with no display. But a configured Opera binary means the user wants
|
|
477
|
+
* *their* browser, and every Opera AI feature needs a window: sign-in and
|
|
478
|
+
* consent cannot be completed headlessly, so a headless AI command fails on a
|
|
479
|
+
* state the user has no way to fix.
|
|
480
|
+
*
|
|
481
|
+
* So: headed when an Opera executable is configured, headless otherwise, and
|
|
482
|
+
* OPERA_CLI_HEADED=0 or =1 overrides either way. A machine with no Opera
|
|
483
|
+
* installed — CI, Docker, a plain-Chrome setup — keeps the old behaviour.
|
|
484
|
+
*/
|
|
485
|
+
export function shouldRunHeaded() {
|
|
486
|
+
const explicit = process.env.OPERA_CLI_HEADED;
|
|
487
|
+
if (explicit === "1")
|
|
488
|
+
return true;
|
|
489
|
+
if (explicit === "0")
|
|
490
|
+
return false;
|
|
491
|
+
return Boolean(process.env.OPERA_CLI_EXECUTABLE_PATH);
|
|
492
|
+
}
|
|
335
493
|
export function buildTransportArgs() {
|
|
336
494
|
const args = [];
|
|
337
495
|
const browserUrl = process.env.OPERA_CLI_BROWSER_URL;
|
|
@@ -356,7 +514,8 @@ export function buildTransportArgs() {
|
|
|
356
514
|
args.push("--ignore-default-chrome-arg=--password-store=basic");
|
|
357
515
|
args.push("--ignore-default-chrome-arg=--disable-extensions");
|
|
358
516
|
args.push("--ignore-default-chrome-arg=--disable-component-extensions-with-background-pages");
|
|
359
|
-
|
|
517
|
+
// Load the Opera AI component extension with the persistent profile (0.2.6+).
|
|
518
|
+
args.push("--chrome-arg=--show-component-extension-options");
|
|
360
519
|
// Allow external extension loader and download services
|
|
361
520
|
args.push("--ignore-default-chrome-arg=--disable-default-apps");
|
|
362
521
|
args.push("--ignore-default-chrome-arg=--disable-background-networking");
|
|
@@ -364,7 +523,7 @@ export function buildTransportArgs() {
|
|
|
364
523
|
else {
|
|
365
524
|
args.push("--isolated");
|
|
366
525
|
}
|
|
367
|
-
if (
|
|
526
|
+
if (!shouldRunHeaded()) {
|
|
368
527
|
args.push("--headless");
|
|
369
528
|
}
|
|
370
529
|
}
|
|
@@ -376,6 +535,38 @@ export function buildTransportArgs() {
|
|
|
376
535
|
}
|
|
377
536
|
return args;
|
|
378
537
|
}
|
|
538
|
+
/** Look a bare command up on PATH, the way a shell would. */
|
|
539
|
+
function existsOnPath(command) {
|
|
540
|
+
const pathVar = process.env.PATH ?? "";
|
|
541
|
+
const separator = process.platform === "win32" ? ";" : ":";
|
|
542
|
+
const extensions = process.platform === "win32"
|
|
543
|
+
? (process.env.PATHEXT ?? ".EXE;.CMD;.BAT").split(";")
|
|
544
|
+
: [""];
|
|
545
|
+
for (const entry of pathVar.split(separator)) {
|
|
546
|
+
if (!entry)
|
|
547
|
+
continue;
|
|
548
|
+
for (const ext of extensions) {
|
|
549
|
+
if (existsSync(join(entry, command + ext)))
|
|
550
|
+
return true;
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
return false;
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* Where opera-devtools-mcp is coming from, and whether it is actually there.
|
|
557
|
+
* Used by `doctor` so a missing MCP server is named before it costs a failed
|
|
558
|
+
* bridge start.
|
|
559
|
+
*/
|
|
560
|
+
export function resolveMcpBinStatus() {
|
|
561
|
+
const bin = resolveOperaMcpBin();
|
|
562
|
+
if (process.env.OPERA_CLI_MCP_BIN) {
|
|
563
|
+
return { bin, found: existsSync(bin) || existsOnPath(bin), source: "env" };
|
|
564
|
+
}
|
|
565
|
+
if (bin === "opera-devtools-mcp") {
|
|
566
|
+
return { bin, found: existsOnPath(bin), source: "path" };
|
|
567
|
+
}
|
|
568
|
+
return { bin, found: existsSync(bin), source: "dependency" };
|
|
569
|
+
}
|
|
379
570
|
function resolveOperaMcpBin() {
|
|
380
571
|
if (process.env.OPERA_CLI_MCP_BIN)
|
|
381
572
|
return process.env.OPERA_CLI_MCP_BIN;
|
|
@@ -479,18 +670,64 @@ async function closeServer(server) {
|
|
|
479
670
|
});
|
|
480
671
|
}
|
|
481
672
|
export async function runBridge(port = DEFAULT_PORT) {
|
|
673
|
+
// The parent destroys its end of the stdout pipe once the handshake is read.
|
|
674
|
+
// We never write to stdout again, but guard anyway so a stray write can never
|
|
675
|
+
// take the bridge down with an EPIPE.
|
|
676
|
+
process.stdout.on("error", () => { });
|
|
677
|
+
// Bind the port before anything expensive happens. Connecting to MCP first
|
|
678
|
+
// would launch an entire browser only to throw it away when the listen
|
|
679
|
+
// fails — so losing a start race would cost a browser launch and leave an
|
|
680
|
+
// orphaned child. Binding first makes losing the race free.
|
|
681
|
+
let client = null;
|
|
682
|
+
let captureNextId;
|
|
683
|
+
const token = generateBridgeToken();
|
|
684
|
+
const server = createBridgeServer(() => ({ client, captureNextId }), token);
|
|
685
|
+
// Without an error handler this is an uncaught exception: the bridge dies
|
|
686
|
+
// with a stack trace in the log and the parent waits out the whole startup
|
|
687
|
+
// timeout. EADDRINUSE is routine — we lost a start race, or the port was
|
|
688
|
+
// taken between the parent's probe and our listen — so exit with a code the
|
|
689
|
+
// parent can read as "try the next port".
|
|
690
|
+
server.on("error", (error) => {
|
|
691
|
+
if (error.code === "EADDRINUSE") {
|
|
692
|
+
writeFailedSignal("port-in-use", String(port));
|
|
693
|
+
logBridgeMessage(`Port ${port} already in use`);
|
|
694
|
+
process.exit(EXIT_PORT_IN_USE);
|
|
695
|
+
}
|
|
696
|
+
writeFailedSignal("listen-failed", getErrorMessage(error));
|
|
697
|
+
logBridgeMessage(`Listen failed: ${getErrorMessage(error)}`);
|
|
698
|
+
process.exit(1);
|
|
699
|
+
});
|
|
700
|
+
await new Promise((resolve) => {
|
|
701
|
+
server.listen(port, "127.0.0.1", resolve);
|
|
702
|
+
});
|
|
703
|
+
logBridgeMessage(`Listening on http://127.0.0.1:${port}`);
|
|
482
704
|
const transport = createTransport();
|
|
483
|
-
|
|
484
|
-
const
|
|
485
|
-
|
|
705
|
+
captureNextId = wrapTransportForIdCapture(transport);
|
|
706
|
+
const mcpClient = createBridgeClient();
|
|
707
|
+
try {
|
|
708
|
+
await mcpClient.connect(transport);
|
|
709
|
+
}
|
|
710
|
+
catch (error) {
|
|
711
|
+
// Almost always a missing or broken opera-devtools-mcp. Name it now rather
|
|
712
|
+
// than letting the parent time out with nothing to report.
|
|
713
|
+
writeFailedSignal("mcp-connect", getErrorMessage(error));
|
|
714
|
+
logBridgeMessage(`Failed to connect to opera-devtools-mcp: ${getErrorMessage(error)}`);
|
|
715
|
+
process.exit(1);
|
|
716
|
+
}
|
|
717
|
+
client = mcpClient;
|
|
486
718
|
logBridgeMessage("Connected to opera-devtools-mcp");
|
|
487
|
-
|
|
488
|
-
const server = createBridgeServer(client, captureNextId, token);
|
|
489
|
-
server.listen(port, "127.0.0.1", () => {
|
|
719
|
+
try {
|
|
490
720
|
writePidFile(port, token);
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
721
|
+
}
|
|
722
|
+
catch (error) {
|
|
723
|
+
// Typically a state dir left root-owned by an earlier `sudo` run. This used
|
|
724
|
+
// to throw uncaught from inside the listen callback, killing the bridge
|
|
725
|
+
// *after* it had bound the port.
|
|
726
|
+
writeFailedSignal("state-dir-unwritable", STATE_DIR);
|
|
727
|
+
logBridgeMessage(`Cannot write ${PID_FILE}: ${getErrorMessage(error)} — check ownership of ${STATE_DIR}`);
|
|
728
|
+
process.exit(1);
|
|
729
|
+
}
|
|
730
|
+
writeReadySignal();
|
|
494
731
|
let shuttingDown = false;
|
|
495
732
|
const shutdown = async () => {
|
|
496
733
|
if (shuttingDown)
|
|
@@ -498,7 +735,7 @@ export async function runBridge(port = DEFAULT_PORT) {
|
|
|
498
735
|
shuttingDown = true;
|
|
499
736
|
removePidFile();
|
|
500
737
|
await closeServer(server);
|
|
501
|
-
await
|
|
738
|
+
await mcpClient.close();
|
|
502
739
|
await transport.close();
|
|
503
740
|
process.exit(0);
|
|
504
741
|
};
|
package/dist/src/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decide what browser the bridge should talk to, before it starts.
|
|
3
|
+
*
|
|
4
|
+
* The constraint that shapes all of this: --remote-debugging-port is a
|
|
5
|
+
* startup-only flag. A browser the user opened normally cannot be attached to,
|
|
6
|
+
* ever. So there is no way to "connect to the Opera that is already open" —
|
|
7
|
+
* only ways to arrange that the open Opera was started with a port in the first
|
|
8
|
+
* place, and a way to detect it when it was.
|
|
9
|
+
*
|
|
10
|
+
* That gives three states for a configured profile:
|
|
11
|
+
*
|
|
12
|
+
* free → let opera-devtools-mcp launch it, as before.
|
|
13
|
+
* locked, debug port live → attach. No prompt, no restart, nothing to do.
|
|
14
|
+
* locked, no debug port → a conflict only the user can resolve, by
|
|
15
|
+
* letting us restart their browser.
|
|
16
|
+
*
|
|
17
|
+
* The second case is the one that makes this feel automatic: once a browser has
|
|
18
|
+
* been started with a port — by us, or by the user following `launch-args` —
|
|
19
|
+
* every later command finds it on its own via DevToolsActivePort.
|
|
20
|
+
*/
|
|
21
|
+
import { type ProfileLock } from "./profile.js";
|
|
22
|
+
export interface BrowserTargetContext {
|
|
23
|
+
browserUrl?: string | undefined;
|
|
24
|
+
userDataDir?: string | undefined;
|
|
25
|
+
executablePath?: string | undefined;
|
|
26
|
+
}
|
|
27
|
+
export type BrowserTarget =
|
|
28
|
+
/** Connect to a browser that is already running. */
|
|
29
|
+
{
|
|
30
|
+
mode: "attach";
|
|
31
|
+
url: string;
|
|
32
|
+
note: string;
|
|
33
|
+
}
|
|
34
|
+
/** Let opera-devtools-mcp launch the browser, as it always has. */
|
|
35
|
+
| {
|
|
36
|
+
mode: "managed";
|
|
37
|
+
note: string;
|
|
38
|
+
}
|
|
39
|
+
/** The profile is in use and we cannot reach the browser holding it. */
|
|
40
|
+
| {
|
|
41
|
+
mode: "conflict";
|
|
42
|
+
userDataDir: string;
|
|
43
|
+
lock: ProfileLock;
|
|
44
|
+
};
|
|
45
|
+
export declare function resolveBrowserTarget(ctx: BrowserTargetContext): Promise<BrowserTarget>;
|
|
46
|
+
export interface QuitResult {
|
|
47
|
+
ok: boolean;
|
|
48
|
+
reason?: "no-pid" | "timeout";
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Ask a running browser to quit, and wait for it to let go of the profile.
|
|
52
|
+
*
|
|
53
|
+
* SIGTERM only. Chromium treats it as a clean shutdown — session saved, profile
|
|
54
|
+
* flushed — whereas SIGKILL risks a corrupted profile and loses the user's
|
|
55
|
+
* tabs. If it will not go, we say so rather than escalating: this is somebody's
|
|
56
|
+
* browser, and forcing it is not ours to decide.
|
|
57
|
+
*/
|
|
58
|
+
export declare function quitBrowser(lock: ProfileLock, userDataDir: string, timeoutMs?: number): Promise<QuitResult>;
|
|
59
|
+
export interface LaunchResult {
|
|
60
|
+
ok: boolean;
|
|
61
|
+
url?: string;
|
|
62
|
+
reason?: "no-executable" | "spawn-failed" | "timeout";
|
|
63
|
+
detail?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Start a browser we can attach to, and that outlives us.
|
|
67
|
+
*
|
|
68
|
+
* `--remote-debugging-port=0` has Chromium pick a free port itself and record
|
|
69
|
+
* it in DevToolsActivePort. That satisfies two requirements at once: we never
|
|
70
|
+
* squat a predictable port like 9222, and the port is discoverable by every
|
|
71
|
+
* later command without being written to any config.
|
|
72
|
+
*
|
|
73
|
+
* The browser is detached deliberately. Having just restarted the user's
|
|
74
|
+
* browser, closing it again when the CLI's bridge stops would be a poor trade.
|
|
75
|
+
*/
|
|
76
|
+
export declare function launchAttachableBrowser(executablePath: string | undefined, userDataDir: string, extraArgs?: string[], timeoutMs?: number): Promise<LaunchResult>;
|
|
77
|
+
/**
|
|
78
|
+
* The flags a user needs to start Opera themselves so the CLI can attach.
|
|
79
|
+
*
|
|
80
|
+
* Deliberately not `--remote-allow-origins=*`: Chromium's default rejection of
|
|
81
|
+
* CDP WebSocket upgrades that carry an Origin header is what stops a web page
|
|
82
|
+
* from driving the browser, and this profile is logged into everything.
|
|
83
|
+
*/
|
|
84
|
+
export declare function browserLaunchArgs(userDataDir?: string): string[];
|