@jobshimo/browser-link 0.39.0 → 0.41.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 +23 -8
- package/dist/bridge/dispatch.js +17 -7
- package/dist/bridge/dispatch.js.map +1 -1
- package/dist/bridge/ws-bridge.d.ts +28 -3
- package/dist/bridge/ws-bridge.js +51 -7
- package/dist/bridge/ws-bridge.js.map +1 -1
- package/dist/cli.js +6 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/about.js +10 -0
- package/dist/commands/about.js.map +1 -1
- package/dist/commands/doctor.d.ts +24 -0
- package/dist/commands/doctor.js +62 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/free-port.d.ts +40 -1
- package/dist/commands/free-port.js +72 -7
- package/dist/commands/free-port.js.map +1 -1
- package/dist/config.d.ts +7 -0
- package/dist/config.js +9 -0
- package/dist/config.js.map +1 -1
- package/dist/extension/background.js +100 -8
- package/dist/extension/background.js.map +1 -1
- package/dist/extension/manifest.json +1 -1
- package/dist/extension/notice-policy.d.ts +48 -0
- package/dist/extension/notice-policy.js +83 -0
- package/dist/extension/notice-policy.js.map +1 -0
- package/dist/extension/popup.html +99 -0
- package/dist/extension/popup.js +139 -1
- package/dist/extension/popup.js.map +1 -1
- package/dist/extension/repair-policy.d.ts +60 -0
- package/dist/extension/repair-policy.js +79 -0
- package/dist/extension/repair-policy.js.map +1 -0
- package/dist/extension/version-status.d.ts +44 -0
- package/dist/extension/version-status.js +60 -0
- package/dist/extension/version-status.js.map +1 -0
- package/dist/lifecycle/election.d.ts +98 -0
- package/dist/lifecycle/election.js +187 -0
- package/dist/lifecycle/election.js.map +1 -0
- package/dist/lifecycle/processes.d.ts +67 -0
- package/dist/lifecycle/processes.js +239 -0
- package/dist/lifecycle/processes.js.map +1 -0
- package/dist/lifecycle/repair.d.ts +48 -0
- package/dist/lifecycle/repair.js +67 -0
- package/dist/lifecycle/repair.js.map +1 -0
- package/dist/lifecycle/version-endpoint.d.ts +16 -0
- package/dist/lifecycle/version-endpoint.js +50 -0
- package/dist/lifecycle/version-endpoint.js.map +1 -0
- package/dist/manual/topics.js +1 -1
- package/dist/manual/topics.js.map +1 -1
- package/dist/messages.d.ts +31 -2
- package/dist/notice.d.ts +14 -0
- package/dist/notice.js +25 -0
- package/dist/notice.js.map +1 -0
- package/dist/server.js +90 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/browser-dispatch.d.ts +8 -0
- package/dist/tools/browser-dispatch.js +15 -1
- package/dist/tools/browser-dispatch.js.map +1 -1
- package/dist/ui/app.d.ts +4 -1
- package/dist/ui/app.js +12 -3
- package/dist/ui/app.js.map +1 -1
- package/dist/ui/screens/about.js +3 -1
- package/dist/ui/screens/about.js.map +1 -1
- package/dist/ui/screens/free-port.js +4 -2
- package/dist/ui/screens/free-port.js.map +1 -1
- package/dist/ui/screens/index.d.ts +1 -0
- package/dist/ui/screens/index.js +1 -0
- package/dist/ui/screens/index.js.map +1 -1
- package/dist/ui/screens/notice.d.ts +6 -0
- package/dist/ui/screens/notice.js +17 -0
- package/dist/ui/screens/notice.js.map +1 -0
- package/dist/ui/start.js +2 -1
- package/dist/ui/start.js.map +1 -1
- package/dist/version.d.ts +8 -0
- package/dist/version.js +16 -0
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
> ⚠️ **Read this before installing**
|
|
4
4
|
>
|
|
5
|
+
> **Important notice**
|
|
6
|
+
>
|
|
7
|
+
> browser-link is a development tool. It connects an AI agent to the Chrome tabs you choose, and in those tabs the agent acts with your own session: it sees and can use everything the browser holds in them, including active logins, cookies and tokens, autofilled passwords and payment cards, email, documents and any data the page shows or lets you submit. It can click, type, submit forms and download files as you would.
|
|
8
|
+
>
|
|
9
|
+
> Connect only tabs an agent should operate, disconnect them when you are done, and do not use it on sites whose terms forbid it or with data you cannot afford to expose. Deciding what to grant access to, and what the agent does with that access, is solely the user's responsibility.
|
|
10
|
+
>
|
|
11
|
+
> The software is provided "as is", without warranty of any kind, under the MIT license. The authors accept no liability for losses, damage or misuse arising from its use.
|
|
12
|
+
>
|
|
5
13
|
> This package opens a bridge between your MCP client (Claude Code,
|
|
6
14
|
> OpenCode, GitHub Copilot CLI…) and the Chrome tabs you explicitly
|
|
7
15
|
> enable through a companion extension. On every tab where you press
|
|
@@ -62,7 +70,8 @@ Or drive it directly:
|
|
|
62
70
|
browser-link install # register in every detected client
|
|
63
71
|
browser-link install --client claude # register only in Claude Code
|
|
64
72
|
browser-link extension # show the Chrome extension assets path + steps
|
|
65
|
-
browser-link doctor # diagnose current setup
|
|
73
|
+
browser-link doctor # diagnose current setup (running vs installed version, live processes)
|
|
74
|
+
browser-link stop # stop every live browser-link server, one line per process
|
|
66
75
|
browser-link tools # show which of the 31 MCP tools are enabled
|
|
67
76
|
browser-link tools preset readonly # all | readonly | no-eval | no-map
|
|
68
77
|
browser-link map # list apps the persistent UI map knows about
|
|
@@ -76,11 +85,11 @@ tab you want the agent to reach.
|
|
|
76
85
|
|
|
77
86
|
## The 31 tools, at a glance
|
|
78
87
|
|
|
79
|
-
| Family
|
|
80
|
-
|
|
|
81
|
-
| Browser bridge — read
|
|
82
|
-
| Browser bridge — actions
|
|
83
|
-
| Persistent UI map
|
|
88
|
+
| Family | Count | What it covers |
|
|
89
|
+
| ------------------------ | ----: | ------------------------------------------------------------------------------- |
|
|
90
|
+
| Browser bridge — read | 13 | list/claim tabs, snapshot/find/state, console, network, wait_for(_tab), events |
|
|
91
|
+
| Browser bridge — actions | 12 | navigate, click, type, press, drag, flow, evaluate, dialogs, permissions, reset |
|
|
92
|
+
| Persistent UI map | 6 | recall, save, record_use, forget, rename_app, apps |
|
|
84
93
|
|
|
85
94
|
Every tool can be disabled per machine via `browser-link tools disable
|
|
86
95
|
<name>` or a preset (`all` / `readonly` / `no-eval` / `no-map`). The full
|
|
@@ -91,8 +100,8 @@ this page stays a landing page on purpose.
|
|
|
91
100
|
|
|
92
101
|
## `browser-link map` — inspect and manage the persistent map
|
|
93
102
|
|
|
94
|
-
The 6 map tools above are how an
|
|
95
|
-
works. `browser-link map` is how a
|
|
103
|
+
The 6 map tools above are how an _agent_ reads and writes the map while it
|
|
104
|
+
works. `browser-link map` is how a _human_ looks at the same data from a
|
|
96
105
|
terminal, no agent required:
|
|
97
106
|
|
|
98
107
|
```bash
|
|
@@ -119,6 +128,12 @@ browser-link map import map.json # restore it (merge by default, --re
|
|
|
119
128
|
the same bridge and map. `browser-link multi-agent` shows the current
|
|
120
129
|
state; see [Multi-agent mode](https://github.com/jobshimo/browser-link#multi-agent-mode)
|
|
121
130
|
for how it works.
|
|
131
|
+
- **Updates take effect by themselves**: a newer browser-link that starts
|
|
132
|
+
displaces an older primary (it reads `GET /version` on the bridge port),
|
|
133
|
+
`browser-link stop` stops every live server, `doctor` and `list_tabs`
|
|
134
|
+
show "running X / installed Y", and the extension popup has a "Repair
|
|
135
|
+
connection" button. See
|
|
136
|
+
[Updating while a server is running](https://github.com/jobshimo/browser-link#updating-while-a-server-is-running).
|
|
122
137
|
- **cdp-direct mode** (off by default): an extension-free transport gated
|
|
123
138
|
behind `browser-link config set cdp-direct.enabled true` PLUS a
|
|
124
139
|
time-boxed `browser-link cdp allow` grant — see
|
package/dist/bridge/dispatch.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import { isToolEnabled } from '../permissions.js';
|
|
11
11
|
import { MAP_TOOL_DEFINITIONS, handleMapTool, isMapTool } from '../map/tools.js';
|
|
12
12
|
import { BROWSER_TOOL_DEFINITIONS } from '../tools/browser-definitions.js';
|
|
13
|
-
import { handleBrowserTool, isBrowserTool, } from '../tools/browser-dispatch.js';
|
|
13
|
+
import { handleBrowserTool, isBrowserTool, outdatedServerHint, } from '../tools/browser-dispatch.js';
|
|
14
14
|
import { hintToolResponse, imageToolResponse, toolError, toolResponse, } from '../tools/responses.js';
|
|
15
15
|
import { buildEmptyTabsHint } from '../tools/empty-tabs-hint.js';
|
|
16
16
|
export function handleToolsList(deps) {
|
|
@@ -34,12 +34,22 @@ export async function handleToolCall(req, deps) {
|
|
|
34
34
|
const result = await handleBrowserTool(name, args, deps.browserTools, caller);
|
|
35
35
|
if (name === 'browser.screenshot')
|
|
36
36
|
return imageToolResponse(result);
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
// list_tabs explains itself in a second block; the first stays the
|
|
38
|
+
// bare array every client already parses. An empty list gets the
|
|
39
|
+
// reconnect hint; a server older than the installed one gets the
|
|
40
|
+
// outdated-server hint (S3b, 0.41.0). Both may apply.
|
|
41
|
+
if (name === 'browser.list_tabs' && Array.isArray(result)) {
|
|
42
|
+
const hints = [];
|
|
43
|
+
if (result.length === 0) {
|
|
44
|
+
const events = deps.browserTools.recentEvents?.({ limit: 200 });
|
|
45
|
+
if (events)
|
|
46
|
+
hints.push(buildEmptyTabsHint(events, Date.now()));
|
|
47
|
+
}
|
|
48
|
+
const outdated = outdatedServerHint();
|
|
49
|
+
if (outdated)
|
|
50
|
+
hints.push(outdated);
|
|
51
|
+
if (hints.length > 0)
|
|
52
|
+
return hintToolResponse(result, hints.join('\n'));
|
|
43
53
|
}
|
|
44
54
|
return toolResponse(result);
|
|
45
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/bridge/dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EACL,iBAAiB,EACjB,aAAa,
|
|
1
|
+
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/bridge/dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WebSocket, WebSocketServer } from 'ws';
|
|
2
|
-
import type { ActivityPurgeMessage, ActivityQueryMessage, FlowRecordedPayload, ServerToExtension, SettingsUpdateMessage, TabRegisterPayload } from '../messages.js';
|
|
2
|
+
import type { ActivityPurgeMessage, ActivityQueryMessage, FlowRecordedPayload, ServerToExtension, SettingsUpdateMessage, TabRegisterPayload, TabRegisteredPayload } from '../messages.js';
|
|
3
3
|
import { type BridgeEventLog } from './events.js';
|
|
4
4
|
export declare const WS_HOST = "127.0.0.1";
|
|
5
5
|
export declare const WS_PORT = 17529;
|
|
@@ -18,11 +18,36 @@ export interface PendingRequest {
|
|
|
18
18
|
timeout: NodeJS.Timeout;
|
|
19
19
|
}
|
|
20
20
|
export declare function isAddrInUse(err: unknown): boolean;
|
|
21
|
+
export interface WsBridgeOptions {
|
|
22
|
+
/** Test-only: bind another port (0 = any free port). Default `WS_PORT`. */
|
|
23
|
+
port?: number;
|
|
24
|
+
/** Test-only: the version this bridge reports. Default `VERSION`. */
|
|
25
|
+
version?: string;
|
|
26
|
+
/** Starts the popup "Repair connection" restart (see lifecycle/repair.ts).
|
|
27
|
+
* Absent → `bridge.repair` is answered with `ok: false`. */
|
|
28
|
+
onRepair?: () => boolean;
|
|
29
|
+
}
|
|
30
|
+
/** The effective bind target and reported version. Exported so the
|
|
31
|
+
* defaults are testable without binding the fixed port. */
|
|
32
|
+
export declare function resolveBridgeOptions(options?: WsBridgeOptions): {
|
|
33
|
+
host: string;
|
|
34
|
+
port: number;
|
|
35
|
+
version: string;
|
|
36
|
+
};
|
|
37
|
+
/** The `tab.registered` payload: the running version (`serverVersion`, as
|
|
38
|
+
* before), plus the version installed on disk right now and this pid, so
|
|
39
|
+
* the popup can show "running X · installed Y". */
|
|
40
|
+
export declare function buildTabRegisteredPayload(tabId: string, serverVersion: string, installedVersion: string | null, serverPid: number): TabRegisteredPayload;
|
|
21
41
|
/** Bring up the WebSocket bridge for the Chrome extension. Resolves only
|
|
22
42
|
* after the server is listening, so the caller can fail fast (and refuse
|
|
23
43
|
* to expose the MCP transport) when the port is taken or any other bind
|
|
24
|
-
* error happens.
|
|
25
|
-
|
|
44
|
+
* error happens.
|
|
45
|
+
*
|
|
46
|
+
* The bridge owns its HTTP server: WebSocket upgrades go to the
|
|
47
|
+
* `WebSocketServer` (same Chromium-only `verifyClient`), `GET /version`
|
|
48
|
+
* answers the election probe and every other plain request is a 404.
|
|
49
|
+
* Closing the returned `WebSocketServer` also closes the HTTP server. */
|
|
50
|
+
export declare function startWsBridge(tabs: Map<string, TabSession>, pendingRequests: Map<string, PendingRequest>, events: BridgeEventLog, options?: WsBridgeOptions): Promise<WebSocketServer>;
|
|
26
51
|
/**
|
|
27
52
|
* Build the `settings.update` a freshly-registered tab should receive, or
|
|
28
53
|
* `null` when nothing should be sent. Each of `idleTtlMinutes` and
|
package/dist/bridge/ws-bridge.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { createServer } from 'node:http';
|
|
1
2
|
import { WebSocket, WebSocketServer } from 'ws';
|
|
2
3
|
import { countInRange as countActivityInRange, listAgents as listActivityAgents, purgeRange as purgeActivityRange, query as queryActivity, stats as activityStats, } from '../activity/queries.js';
|
|
3
4
|
import { isAllowedBrowser } from '../auth/allowlist.js';
|
|
4
5
|
import { lookupPeerProcess } from '../auth/process-identity.js';
|
|
5
|
-
import { VERSION } from '../version.js';
|
|
6
|
+
import { VERSION, readInstalledVersion } from '../version.js';
|
|
7
|
+
import { handleBridgeHttpRequest } from '../lifecycle/version-endpoint.js';
|
|
8
|
+
import { answerRepairRequest } from '../lifecycle/repair.js';
|
|
6
9
|
import { isExtensionEventKind } from './events.js';
|
|
7
10
|
import { loadConfig } from '../config.js';
|
|
8
11
|
import { saveFlow } from '../map/queries.js';
|
|
@@ -56,15 +59,39 @@ function assignTabId() {
|
|
|
56
59
|
tabIdCounter += 1;
|
|
57
60
|
return `tab_${tabIdCounter}`;
|
|
58
61
|
}
|
|
62
|
+
/** The effective bind target and reported version. Exported so the
|
|
63
|
+
* defaults are testable without binding the fixed port. */
|
|
64
|
+
export function resolveBridgeOptions(options = {}) {
|
|
65
|
+
return { host: WS_HOST, port: options.port ?? WS_PORT, version: options.version ?? VERSION };
|
|
66
|
+
}
|
|
67
|
+
/** The `tab.registered` payload: the running version (`serverVersion`, as
|
|
68
|
+
* before), plus the version installed on disk right now and this pid, so
|
|
69
|
+
* the popup can show "running X · installed Y". */
|
|
70
|
+
export function buildTabRegisteredPayload(tabId, serverVersion, installedVersion, serverPid) {
|
|
71
|
+
return {
|
|
72
|
+
tabId,
|
|
73
|
+
serverVersion,
|
|
74
|
+
...(installedVersion !== null ? { installedVersion } : {}),
|
|
75
|
+
serverPid,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
59
78
|
/** Bring up the WebSocket bridge for the Chrome extension. Resolves only
|
|
60
79
|
* after the server is listening, so the caller can fail fast (and refuse
|
|
61
80
|
* to expose the MCP transport) when the port is taken or any other bind
|
|
62
|
-
* error happens.
|
|
63
|
-
|
|
81
|
+
* error happens.
|
|
82
|
+
*
|
|
83
|
+
* The bridge owns its HTTP server: WebSocket upgrades go to the
|
|
84
|
+
* `WebSocketServer` (same Chromium-only `verifyClient`), `GET /version`
|
|
85
|
+
* answers the election probe and every other plain request is a 404.
|
|
86
|
+
* Closing the returned `WebSocketServer` also closes the HTTP server. */
|
|
87
|
+
export function startWsBridge(tabs, pendingRequests, events, options = {}) {
|
|
88
|
+
const { host, port, version } = resolveBridgeOptions(options);
|
|
64
89
|
return new Promise((resolve, reject) => {
|
|
90
|
+
const httpServer = createServer((req, res) => {
|
|
91
|
+
handleBridgeHttpRequest(req, res, version);
|
|
92
|
+
});
|
|
65
93
|
const wss = new WebSocketServer({
|
|
66
|
-
|
|
67
|
-
port: WS_PORT,
|
|
94
|
+
server: httpServer,
|
|
68
95
|
// Refuse the upgrade unless the OS confirms the peer is a Chromium-based
|
|
69
96
|
// browser. The check happens before any application bytes are exchanged.
|
|
70
97
|
verifyClient: (info, cb) => {
|
|
@@ -99,12 +126,19 @@ export function startWsBridge(tabs, pendingRequests, events) {
|
|
|
99
126
|
let settled = false;
|
|
100
127
|
wss.on('listening', () => {
|
|
101
128
|
settled = true;
|
|
102
|
-
|
|
129
|
+
const address = httpServer.address();
|
|
130
|
+
const boundPort = typeof address === 'object' && address !== null ? address.port : port;
|
|
131
|
+
log(`WebSocket listening on ws://${host}:${boundPort}`);
|
|
103
132
|
resolve(wss);
|
|
104
133
|
});
|
|
134
|
+
// An external HTTP server outlives `wss.close()` unless closed with it.
|
|
135
|
+
wss.on('close', () => {
|
|
136
|
+
httpServer.close();
|
|
137
|
+
});
|
|
105
138
|
wss.on('error', (err) => {
|
|
106
139
|
if (!settled) {
|
|
107
140
|
settled = true;
|
|
141
|
+
wss.close();
|
|
108
142
|
reject(translateBindError(err));
|
|
109
143
|
return;
|
|
110
144
|
}
|
|
@@ -145,7 +179,7 @@ export function startWsBridge(tabs, pendingRequests, events) {
|
|
|
145
179
|
tabs.set(assignedTabId, buildTabSession(assignedTabId, msg.payload, ws));
|
|
146
180
|
send(ws, {
|
|
147
181
|
kind: 'tab.registered',
|
|
148
|
-
payload:
|
|
182
|
+
payload: buildTabRegisteredPayload(assignedTabId, version, readInstalledVersion(), process.pid),
|
|
149
183
|
});
|
|
150
184
|
log(`Tab registered: ${assignedTabId} -> ${msg.payload.url}`);
|
|
151
185
|
// Hand the freshly-connected tab the CLI's idle-TTL choice, if it
|
|
@@ -231,6 +265,15 @@ export function startWsBridge(tabs, pendingRequests, events) {
|
|
|
231
265
|
send(ws, handleActivityPurgeMessage(msg));
|
|
232
266
|
return;
|
|
233
267
|
}
|
|
268
|
+
if (msg.kind === 'bridge.repair') {
|
|
269
|
+
// Popup "Repair connection". Any authenticated socket may ask (the
|
|
270
|
+
// popup reaches the bridge through whichever tab is connected); the
|
|
271
|
+
// ack goes out before the restart starts.
|
|
272
|
+
answerRepairRequest(msg, (reply) => {
|
|
273
|
+
send(ws, reply);
|
|
274
|
+
}, options.onRepair);
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
234
277
|
if (msg.kind === 'activity.query') {
|
|
235
278
|
// Read-only and deliberately NOT scoped to `assignedTabId`, unlike
|
|
236
279
|
// `flow.recorded` above. The Activity window's whole job is showing
|
|
@@ -257,6 +300,7 @@ export function startWsBridge(tabs, pendingRequests, events) {
|
|
|
257
300
|
log(`WS connection error: ${err.message}`);
|
|
258
301
|
});
|
|
259
302
|
});
|
|
303
|
+
httpServer.listen(port, host);
|
|
260
304
|
});
|
|
261
305
|
}
|
|
262
306
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-bridge.js","sourceRoot":"","sources":["../../src/bridge/ws-bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ws-bridge.js","sourceRoot":"","sources":["../../src/bridge/ws-bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -146,7 +146,9 @@ Uso:
|
|
|
146
146
|
browser-link instructions uninstall --client <id>
|
|
147
147
|
Quita el bloque, deja el resto del archivo intacto.
|
|
148
148
|
browser-link stop Mata el proceso browser-link que esté ocupando el
|
|
149
|
-
puerto 17529 (útil si un cliente MCP quedó zombie)
|
|
149
|
+
puerto 17529 (útil si un cliente MCP quedó zombie)
|
|
150
|
+
y todos los demás servidores browser-link vivos,
|
|
151
|
+
una línea por proceso.
|
|
150
152
|
browser-link about Muestra la explicación completa.
|
|
151
153
|
browser-link version Muestra la versión instalada (también: --version, -v).
|
|
152
154
|
browser-link help Este mensaje.
|
|
@@ -264,7 +266,9 @@ Usage:
|
|
|
264
266
|
Remove the block, leaving the rest of the file
|
|
265
267
|
intact.
|
|
266
268
|
browser-link stop Kill the browser-link process holding port 17529
|
|
267
|
-
(useful when an MCP client left a zombie behind)
|
|
269
|
+
(useful when an MCP client left a zombie behind)
|
|
270
|
+
and every other live browser-link server, one
|
|
271
|
+
line per process.
|
|
268
272
|
browser-link about Show the full explanation of what this is and how it works.
|
|
269
273
|
browser-link version Print the installed version (also: --version, -v).
|
|
270
274
|
browser-link help This message.
|
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,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAKvC,6EAA6E;AAC7E,8EAA8E;AAC9E,wDAAwD;AACxD,MAAM,YAAY,GAAG,YAAY,EAAE,CAAC;AACpC,IAAI,YAAY,IAAI,OAAO,kBAAkB,KAAK,UAAU;IAAE,kBAAkB,EAAE,CAAC;AAEnF,yEAAyE;AACzE,4EAA4E;AAC5E,qDAAqD;AAErD,6EAA6E;AAC7E,sEAAsE;AACtE,6EAA6E;AAC7E,wDAAwD;AACxD,SAAS,YAAY;IACnB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,IAAI,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAcD,SAAS,SAAS,CAAC,QAAkB;IACnC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,gBAAgB,OAAO
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/about.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { NOTICE } from '../notice.js';
|
|
1
2
|
export const I18N_ABOUT = {
|
|
2
3
|
en: {
|
|
3
4
|
title: 'browser-link — about',
|
|
@@ -239,6 +240,15 @@ export const I18N_ABOUT = {
|
|
|
239
240
|
* The interactive version lives in the Ink UI (`ui/screens.tsx`). */
|
|
240
241
|
export function printAbout(language = 'en') {
|
|
241
242
|
const t = I18N_ABOUT[language];
|
|
243
|
+
// The product notice always comes first, before the page itself.
|
|
244
|
+
const notice = NOTICE[language];
|
|
245
|
+
console.log(notice.title);
|
|
246
|
+
console.log('='.repeat(notice.title.length));
|
|
247
|
+
console.log('');
|
|
248
|
+
for (const paragraph of notice.paragraphs) {
|
|
249
|
+
console.log(paragraph);
|
|
250
|
+
console.log('');
|
|
251
|
+
}
|
|
242
252
|
const sections = [
|
|
243
253
|
{ title: t.whatTitle, body: t.what },
|
|
244
254
|
{ title: t.howTitle, body: t.how },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"about.js","sourceRoot":"","sources":["../../src/commands/about.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"about.js","sourceRoot":"","sources":["../../src/commands/about.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Language } from './welcome.js';
|
|
2
2
|
import { type InstructionsState } from '../agent-instructions/index.js';
|
|
3
|
+
import { type VersionProbe } from '../lifecycle/election.js';
|
|
3
4
|
export interface DoctorReport {
|
|
4
5
|
ws: {
|
|
5
6
|
listening: boolean;
|
|
@@ -49,6 +50,29 @@ export interface DoctorReport {
|
|
|
49
50
|
silentDebugger: {
|
|
50
51
|
detected: boolean | null;
|
|
51
52
|
};
|
|
53
|
+
/** Since 0.41.0: the running primary (from its `/version`, `null` when
|
|
54
|
+
* nothing answers it: no server, or one older than 0.41.0) against the
|
|
55
|
+
* version installed on disk. Optional so older report builders still fit. */
|
|
56
|
+
server?: DoctorServerStatus;
|
|
57
|
+
/** Since 0.41.0: every live browser-link bridge process. */
|
|
58
|
+
processes?: DoctorProcess[];
|
|
52
59
|
}
|
|
60
|
+
export interface DoctorServerStatus {
|
|
61
|
+
running: {
|
|
62
|
+
version: string;
|
|
63
|
+
pid: number;
|
|
64
|
+
startedAt: string;
|
|
65
|
+
} | null;
|
|
66
|
+
installed: string | null;
|
|
67
|
+
outdated: boolean;
|
|
68
|
+
}
|
|
69
|
+
export interface DoctorProcess {
|
|
70
|
+
pid: number;
|
|
71
|
+
startedAt: string | null;
|
|
72
|
+
command: string;
|
|
73
|
+
}
|
|
74
|
+
/** Running vs installed. Outdated only when both are known and the running
|
|
75
|
+
* version is lower. */
|
|
76
|
+
export declare function buildServerStatus(probe: VersionProbe, installed: string | null): DoctorServerStatus;
|
|
53
77
|
export declare function runDoctor(): Promise<DoctorReport>;
|
|
54
78
|
export declare function formatDoctor(r: DoctorReport, language?: Language): string;
|
package/dist/commands/doctor.js
CHANGED
|
@@ -9,6 +9,10 @@ import { resolveExtensionPath } from './extension.js';
|
|
|
9
9
|
import { loadConfig } from '../config.js';
|
|
10
10
|
import { IPC_HOST, IPC_PORT } from '../bridge/protocol.js';
|
|
11
11
|
import { getInstructionsInstaller } from '../agent-instructions/index.js';
|
|
12
|
+
import { probeVersion } from '../lifecycle/election.js';
|
|
13
|
+
import { listBridgeProcesses, shortCommand } from '../lifecycle/processes.js';
|
|
14
|
+
import { readInstalledVersion } from '../version.js';
|
|
15
|
+
import { compareSemver } from '../utils/semver.js';
|
|
12
16
|
const WS_HOST = '127.0.0.1';
|
|
13
17
|
const WS_PORT = 17529;
|
|
14
18
|
function checkPort(host, port, timeoutMs = 500) {
|
|
@@ -35,15 +39,37 @@ function checkPort(host, port, timeoutMs = 500) {
|
|
|
35
39
|
});
|
|
36
40
|
});
|
|
37
41
|
}
|
|
42
|
+
/** Running vs installed. Outdated only when both are known and the running
|
|
43
|
+
* version is lower. */
|
|
44
|
+
export function buildServerStatus(probe, installed) {
|
|
45
|
+
const running = probe.kind === 'version'
|
|
46
|
+
? { version: probe.info.version, pid: probe.info.pid, startedAt: probe.info.startedAt }
|
|
47
|
+
: null;
|
|
48
|
+
return {
|
|
49
|
+
running,
|
|
50
|
+
installed,
|
|
51
|
+
outdated: running !== null && installed !== null && compareSemver(running.version, installed) < 0,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function toDoctorProcess(p) {
|
|
55
|
+
return {
|
|
56
|
+
pid: p.pid,
|
|
57
|
+
startedAt: p.startedAt === null ? null : new Date(p.startedAt).toISOString(),
|
|
58
|
+
command: shortCommand(p.command),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
38
61
|
export async function runDoctor() {
|
|
39
62
|
// Independent probes — run them concurrently rather than serially so a
|
|
40
63
|
// slow process-listing scan (silentDebugger) does not add its full
|
|
41
64
|
// latency on top of the port checks.
|
|
42
|
-
const [ws, ipc, silentDebugger] = await Promise.all([
|
|
65
|
+
const [ws, ipc, silentDebugger, versionProbe] = await Promise.all([
|
|
43
66
|
checkPort(WS_HOST, WS_PORT),
|
|
44
67
|
checkPort(IPC_HOST, IPC_PORT),
|
|
45
68
|
detectSilentDebuggerFlag(),
|
|
69
|
+
probeVersion(WS_PORT),
|
|
46
70
|
]);
|
|
71
|
+
const server = buildServerStatus(versionProbe, readInstalledVersion());
|
|
72
|
+
const processes = listBridgeProcesses().map(toDoctorProcess);
|
|
47
73
|
const clients = INSTALLERS.map((i) => {
|
|
48
74
|
const d = i.detect();
|
|
49
75
|
const instructions = getInstructionsInstaller(i.id).detect();
|
|
@@ -77,6 +103,8 @@ export async function runDoctor() {
|
|
|
77
103
|
map: { dbPath, exists: dbExists, sizeBytes, apps },
|
|
78
104
|
security: { allowedBrowsers: getAllowedBrowsers() },
|
|
79
105
|
silentDebugger,
|
|
106
|
+
server,
|
|
107
|
+
processes,
|
|
80
108
|
};
|
|
81
109
|
}
|
|
82
110
|
function symbol(ok) {
|
|
@@ -137,6 +165,13 @@ const DOCTOR_I18N = {
|
|
|
137
165
|
ipcLine: ' IPC port ',
|
|
138
166
|
ipcListening: 'listening (a primary is running)',
|
|
139
167
|
ipcFree: 'free (no primary on this machine)',
|
|
168
|
+
serverRunning: (v, pid) => `running ${v} (pid ${pid})`,
|
|
169
|
+
serverNoVersion: 'running: no /version answer (none, or older than 0.41.0)',
|
|
170
|
+
serverInstalled: (v) => `installed ${v ?? 'unknown'}`,
|
|
171
|
+
serverOutdated: 'outdated, run `browser-link stop` and restart your agent',
|
|
172
|
+
processesHeader: 'Live browser-link processes:',
|
|
173
|
+
processesNone: 'none',
|
|
174
|
+
processStarted: (iso) => `(started ${iso})`,
|
|
140
175
|
},
|
|
141
176
|
es: {
|
|
142
177
|
title: 'browser-link doctor',
|
|
@@ -178,6 +213,13 @@ const DOCTOR_I18N = {
|
|
|
178
213
|
ipcLine: ' Puerto IPC ',
|
|
179
214
|
ipcListening: 'escuchando (hay un primary corriendo)',
|
|
180
215
|
ipcFree: 'libre (no hay primary en esta máquina)',
|
|
216
|
+
serverRunning: (v, pid) => `corriendo ${v} (pid ${pid})`,
|
|
217
|
+
serverNoVersion: 'corriendo: sin respuesta en /version (ninguno, o anterior a 0.41.0)',
|
|
218
|
+
serverInstalled: (v) => `instalado ${v ?? 'desconocido'}`,
|
|
219
|
+
serverOutdated: 'desactualizado, corré `browser-link stop` y reiniciá tu agente',
|
|
220
|
+
processesHeader: 'Procesos browser-link vivos:',
|
|
221
|
+
processesNone: 'ninguno',
|
|
222
|
+
processStarted: (iso) => `(arrancó ${iso})`,
|
|
181
223
|
},
|
|
182
224
|
};
|
|
183
225
|
export function formatDoctor(r, language = 'en') {
|
|
@@ -189,6 +231,25 @@ export function formatDoctor(r, language = 'en') {
|
|
|
189
231
|
if (!r.ws.listening) {
|
|
190
232
|
lines.push(t.wsHint);
|
|
191
233
|
}
|
|
234
|
+
if (r.server) {
|
|
235
|
+
const running = r.server.running
|
|
236
|
+
? t.serverRunning(r.server.running.version, r.server.running.pid)
|
|
237
|
+
: t.serverNoVersion;
|
|
238
|
+
const versions = `${running} / ${t.serverInstalled(r.server.installed)}`;
|
|
239
|
+
lines.push(r.server.outdated ? ` ${red(`${versions} → ${t.serverOutdated}`)}` : ` ${versions}`);
|
|
240
|
+
}
|
|
241
|
+
if (r.processes) {
|
|
242
|
+
if (r.processes.length === 0) {
|
|
243
|
+
lines.push(`${t.processesHeader} ${t.processesNone}`);
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
lines.push(t.processesHeader);
|
|
247
|
+
for (const p of r.processes) {
|
|
248
|
+
const started = p.startedAt ? ` ${t.processStarted(p.startedAt)}` : '';
|
|
249
|
+
lines.push(` PID ${p.pid} ${p.command}${started}`);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
192
253
|
lines.push('');
|
|
193
254
|
lines.push(t.clientsHeader);
|
|
194
255
|
for (const c of r.clients) {
|