@monoes/monobrowse 1.0.22 → 1.0.24
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/dist/src/__tests__/browse-concurrency.test.js +94 -1
- package/dist/src/__tests__/browse-concurrency.test.js.map +1 -1
- package/dist/src/__tests__/session-discovery.test.js +81 -1
- package/dist/src/__tests__/session-discovery.test.js.map +1 -1
- package/dist/src/browser/ref-cache.d.ts +6 -0
- package/dist/src/browser/ref-cache.d.ts.map +1 -1
- package/dist/src/browser/ref-cache.js +4 -0
- package/dist/src/browser/ref-cache.js.map +1 -1
- package/dist/src/cli/attention-wall.d.ts +12 -0
- package/dist/src/cli/attention-wall.d.ts.map +1 -0
- package/dist/src/cli/attention-wall.js +166 -0
- package/dist/src/cli/attention-wall.js.map +1 -0
- package/dist/src/cli/commands-session.d.ts.map +1 -1
- package/dist/src/cli/commands-session.js +24 -11
- package/dist/src/cli/commands-session.js.map +1 -1
- package/dist/src/cli/commands.d.ts.map +1 -1
- package/dist/src/cli/commands.js +21 -8
- package/dist/src/cli/commands.js.map +1 -1
- package/dist/src/cli/session.d.ts +17 -3
- package/dist/src/cli/session.d.ts.map +1 -1
- package/dist/src/cli/session.js +72 -162
- package/dist/src/cli/session.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/__tests__/browse-concurrency.test.ts +106 -1
- package/src/__tests__/session-discovery.test.ts +112 -2
- package/src/browser/ref-cache.ts +16 -1
- package/src/cli/attention-wall.ts +202 -0
- package/src/cli/commands-session.ts +25 -12
- package/src/cli/commands.ts +22 -8
- package/src/cli/session.ts +78 -198
package/dist/src/cli/session.js
CHANGED
|
@@ -23,6 +23,11 @@
|
|
|
23
23
|
* its own, exactly as `open` would.
|
|
24
24
|
* - Any later command with `--port N` acts on that session, which is how a
|
|
25
25
|
* concurrent caller pins the one `open` handed it.
|
|
26
|
+
* - `--session <name>` is the same pin by name: `open`/`connect` record the
|
|
27
|
+
* name on the session they start (or re-open the live one of that name),
|
|
28
|
+
* every other command acts on the live session of that name and fails
|
|
29
|
+
* when there is none. A command with no name never resolves a named
|
|
30
|
+
* session, so named sessions only ever see their own commands.
|
|
26
31
|
* - `close` ends exactly the session it resolved — one browser, one record.
|
|
27
32
|
*
|
|
28
33
|
* Split out of commands.ts, which is now the command catalogue.
|
|
@@ -30,6 +35,7 @@
|
|
|
30
35
|
import { randomUUID } from 'node:crypto';
|
|
31
36
|
import { tmpdir } from 'node:os';
|
|
32
37
|
import { join } from 'node:path';
|
|
38
|
+
import { SESSION_NAME_RE } from '../browser/ref-cache.js';
|
|
33
39
|
import { output } from './output.js';
|
|
34
40
|
/** `session.port` when no `--port` was given: resolve or start one instead. */
|
|
35
41
|
const UNPINNED = 0;
|
|
@@ -44,6 +50,7 @@ export const session = {
|
|
|
44
50
|
sessionId: '',
|
|
45
51
|
targetId: '',
|
|
46
52
|
port: UNPINNED,
|
|
53
|
+
name: '',
|
|
47
54
|
refs: new Map(),
|
|
48
55
|
parentSessionId: '',
|
|
49
56
|
};
|
|
@@ -71,6 +78,24 @@ export function applySessionPortFlag(flags) {
|
|
|
71
78
|
if (pinned !== undefined)
|
|
72
79
|
session.port = pinned;
|
|
73
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Select the named session given by `--session`. Like the port pin, it only
|
|
83
|
+
* ever sets: a batched command without the flag stays on the session an
|
|
84
|
+
* earlier command in this process named.
|
|
85
|
+
*/
|
|
86
|
+
export function applySessionNameFlag(flags) {
|
|
87
|
+
const raw = flags.session;
|
|
88
|
+
if (raw === undefined)
|
|
89
|
+
return;
|
|
90
|
+
if (typeof raw !== 'string' || !SESSION_NAME_RE.test(raw)) {
|
|
91
|
+
throw new Error(`Invalid session name "${String(raw)}" — use 1-64 letters, digits, '.', '_' or '-'.`);
|
|
92
|
+
}
|
|
93
|
+
session.name = raw;
|
|
94
|
+
}
|
|
95
|
+
/** The error for a `--session` name no live browser answers to. */
|
|
96
|
+
export function noNamedSessionError(name) {
|
|
97
|
+
return new Error(`No live browse session named "${name}" — start one with: monomind browse open <url> --session ${name}`);
|
|
98
|
+
}
|
|
74
99
|
export async function getBrowser() {
|
|
75
100
|
return import('../index.js');
|
|
76
101
|
}
|
|
@@ -127,8 +152,29 @@ export function ensureSignalCleanupHandlers() {
|
|
|
127
152
|
//
|
|
128
153
|
// Records whose browser is gone are dropped as we pass them (self-heal): a
|
|
129
154
|
// crashed or manually-killed Chrome must not wedge every later command.
|
|
155
|
+
//
|
|
156
|
+
// `name` selects the session recorded under that `--session` name; without
|
|
157
|
+
// one, only unnamed sessions are candidates — UNLESS there is exactly one
|
|
158
|
+
// other live session, named or not (see `soleOtherLive` below): a command
|
|
159
|
+
// that named nothing still has to resolve to *something* when there is only
|
|
160
|
+
// one browser to mean, or every command run after a named-only `open` (any
|
|
161
|
+
// flag combination that leaves `session.name` unset — e.g. `snapshot`'s `-s`
|
|
162
|
+
// is `--selector`, not `--session`, see withSessionSelector) would silently
|
|
163
|
+
// miss the live named session and launch a brand-new, unrelated Chrome
|
|
164
|
+
// instead — the process this file exists to prevent (#318), just with an
|
|
165
|
+
// empty new tab standing in for the "wrong browser" (issue: named-session
|
|
166
|
+
// snapshot showed Chrome's New Tab instead of the opened page). Ambiguity
|
|
167
|
+
// (two or more other live sessions) is still refused: guessing among several
|
|
168
|
+
// named browsers is exactly the cross-session bleed #318 fixed.
|
|
130
169
|
export async function resolveLiveSession(browser, opts = {}) {
|
|
170
|
+
const soleOtherLive = [];
|
|
131
171
|
for (const record of await browser.listSessionRecords()) {
|
|
172
|
+
if ((record.name ?? '') !== (opts.name ?? '')) {
|
|
173
|
+
if (opts.name === undefined && soleOtherLive.length < 2 && (await cdpAnswers(record.port))) {
|
|
174
|
+
soleOtherLive.push(record);
|
|
175
|
+
}
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
132
178
|
if (await cdpAnswers(record.port))
|
|
133
179
|
return record;
|
|
134
180
|
await browser.removeSessionRecord(record.port);
|
|
@@ -142,10 +188,13 @@ export async function resolveLiveSession(browser, opts = {}) {
|
|
|
142
188
|
throw new Error(`Connected browser on port ${record.port} is gone — re-run \`connect\` (or \`open\` to launch a fresh one).`);
|
|
143
189
|
}
|
|
144
190
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
//
|
|
148
|
-
|
|
191
|
+
if (opts.name === undefined && soleOtherLive.length === 1)
|
|
192
|
+
return soleOtherLive[0];
|
|
193
|
+
// Nothing native is live (or matched). A session opened by a pre-#318 CLI
|
|
194
|
+
// in this directory may still be — it is the oldest possible candidate, so
|
|
195
|
+
// it is considered last. It predates names, so a named lookup never adopts
|
|
196
|
+
// it.
|
|
197
|
+
return opts.name ? null : adoptLegacySession(browser);
|
|
149
198
|
}
|
|
150
199
|
/**
|
|
151
200
|
* Take over the single session a pre-#318 CLI recorded in this directory, so
|
|
@@ -215,7 +264,7 @@ export async function launchSessionBrowser(browser, opts) {
|
|
|
215
264
|
// belong to this session alone.
|
|
216
265
|
userDataDir: join(tmpdir(), `monomind-browse-${process.pid}-${randomUUID().slice(0, 8)}`),
|
|
217
266
|
});
|
|
218
|
-
await recordSession(browser, port);
|
|
267
|
+
await recordSession(browser, port, opts.name);
|
|
219
268
|
ensureSignalCleanupHandlers();
|
|
220
269
|
return port;
|
|
221
270
|
}
|
|
@@ -232,12 +281,16 @@ export async function launchSessionBrowser(browser, opts) {
|
|
|
232
281
|
// {pid: undefined} on attach used to CLOBBER a real PID a previous `open`
|
|
233
282
|
// had persisted for this exact port, destroying the only way a later
|
|
234
283
|
// process's closeBrowser() PID-kill fallback could ever find it.
|
|
235
|
-
|
|
284
|
+
//
|
|
285
|
+
// `name` labels the session; without one, re-recording keeps the name the
|
|
286
|
+
// session already had, so a `--port` command does not strip it.
|
|
287
|
+
async function recordSession(browser, port, name) {
|
|
236
288
|
const pid = browser.getLaunchedPid(port);
|
|
237
289
|
if (pid !== undefined) {
|
|
238
290
|
await browser.saveSessionRecord(port, {
|
|
239
291
|
pid,
|
|
240
292
|
userDataDir: browser.getLaunchedUserDataDir(port),
|
|
293
|
+
name: name ?? (await browser.loadSessionRecord(port))?.name,
|
|
241
294
|
});
|
|
242
295
|
return;
|
|
243
296
|
}
|
|
@@ -249,6 +302,7 @@ async function recordSession(browser, port) {
|
|
|
249
302
|
launched: existing?.launched,
|
|
250
303
|
pid: existing?.pid,
|
|
251
304
|
userDataDir: existing?.userDataDir,
|
|
305
|
+
name: name ?? existing?.name,
|
|
252
306
|
});
|
|
253
307
|
}
|
|
254
308
|
export async function ensureConnected(port, targetId) {
|
|
@@ -261,9 +315,18 @@ export async function ensureConnected(port, targetId) {
|
|
|
261
315
|
browser.teardownConsoleCapture(session.sessionId);
|
|
262
316
|
session.client.close();
|
|
263
317
|
}
|
|
264
|
-
// Pinned port, else the
|
|
265
|
-
// a
|
|
266
|
-
|
|
318
|
+
// Pinned port, else the named session (which must exist), else the
|
|
319
|
+
// newest live unnamed session, else a session of our own — a command run
|
|
320
|
+
// before any `open` still just works.
|
|
321
|
+
let pinned = port > 0 ? port : undefined;
|
|
322
|
+
if (pinned === undefined && session.name) {
|
|
323
|
+
pinned = (await resolveLiveSession(browser, { name: session.name }))?.port;
|
|
324
|
+
if (pinned === undefined)
|
|
325
|
+
throw noNamedSessionError(session.name);
|
|
326
|
+
}
|
|
327
|
+
else if (pinned === undefined) {
|
|
328
|
+
pinned = (await resolveLiveSession(browser))?.port;
|
|
329
|
+
}
|
|
267
330
|
session.port = await launchSessionBrowser(browser, { port: pinned, headless: true });
|
|
268
331
|
const conn = await browser.connectToTarget(session.port, targetId);
|
|
269
332
|
session.client = conn.client;
|
|
@@ -303,159 +366,6 @@ export async function hydrateRefsFromCache(browser, targetId, currentUrl) {
|
|
|
303
366
|
output.printWarning(`AX ref cache is ${Math.round(cached.ageMs / 1000)}s old — page may have changed since the last snapshot; re-run snapshot if refs don't resolve as expected`);
|
|
304
367
|
}
|
|
305
368
|
}
|
|
306
|
-
// URL patterns that signal an unambiguous login/auth wall.
|
|
307
|
-
// Excludes 'auth', 'oauth', 'sso', 'saml' — their callback/ACS/token paths
|
|
308
|
-
// (/auth/callback, /sso/callback, /saml/acs) are completion endpoints, not walls.
|
|
309
|
-
// DOM detection (password field, CAPTCHA widgets) handles SSO/SAML login pages.
|
|
310
|
-
const ATTENTION_URL_RE = /\/(login|log-in|signin|sign-in|captcha|mfa|2fa|account\/login|accounts\/login|session\/new|users\/sign_in)(?:[/?#]|$)/i;
|
|
311
|
-
export async function detectAttentionNeeded(client, sessionId, url) {
|
|
312
|
-
if (ATTENTION_URL_RE.test(url))
|
|
313
|
-
return 'login';
|
|
314
|
-
try {
|
|
315
|
-
const hasPassword = await client
|
|
316
|
-
.send('Runtime.evaluate', {
|
|
317
|
-
expression: '!!document.querySelector("input[type=password]")',
|
|
318
|
-
returnByValue: true,
|
|
319
|
-
}, sessionId)
|
|
320
|
-
.then((r) => r.result?.value === true)
|
|
321
|
-
.catch(() => false);
|
|
322
|
-
if (hasPassword)
|
|
323
|
-
return 'login';
|
|
324
|
-
const hasCaptcha = await client
|
|
325
|
-
.send('Runtime.evaluate', {
|
|
326
|
-
expression: '!!(document.querySelector("iframe[src*=recaptcha]") || document.querySelector("iframe[src*=hcaptcha]") || document.querySelector(".g-recaptcha") || document.querySelector(".h-captcha") || document.querySelector("[data-sitekey]"))',
|
|
327
|
-
returnByValue: true,
|
|
328
|
-
}, sessionId)
|
|
329
|
-
.then((r) => r.result?.value === true)
|
|
330
|
-
.catch(() => false);
|
|
331
|
-
if (hasCaptcha)
|
|
332
|
-
return 'captcha';
|
|
333
|
-
}
|
|
334
|
-
catch {
|
|
335
|
-
/* ignore CDP errors */
|
|
336
|
-
}
|
|
337
|
-
return null;
|
|
338
|
-
}
|
|
339
|
-
export function waitForEnter() {
|
|
340
|
-
if (!process.stdin.isTTY) {
|
|
341
|
-
// Non-interactive context (MCP server, piped input, CI) — cannot safely read stdin.
|
|
342
|
-
// Auto-continue after a short grace period so automation isn't blocked.
|
|
343
|
-
output.printWarning('Non-interactive mode: auto-continuing in 30s. Switch to headed manually if needed.');
|
|
344
|
-
return new Promise((resolve) => setTimeout(resolve, 30_000));
|
|
345
|
-
}
|
|
346
|
-
return new Promise((resolve) => {
|
|
347
|
-
process.stdin.resume();
|
|
348
|
-
process.stdin.setEncoding('utf8');
|
|
349
|
-
const onData = () => {
|
|
350
|
-
process.stdin.pause();
|
|
351
|
-
process.stdin.off('data', onData);
|
|
352
|
-
resolve();
|
|
353
|
-
};
|
|
354
|
-
process.stdin.once('data', onData);
|
|
355
|
-
});
|
|
356
|
-
}
|
|
357
|
-
export async function switchToHeaded(url, port) {
|
|
358
|
-
const browser = await getBrowser();
|
|
359
|
-
// Snapshot cookies from current headless session before closing
|
|
360
|
-
let savedCookies = [];
|
|
361
|
-
if (session.client && session.sessionId) {
|
|
362
|
-
try {
|
|
363
|
-
savedCookies = await browser.getCookies(session.client, session.sessionId);
|
|
364
|
-
}
|
|
365
|
-
catch {
|
|
366
|
-
/* ignore */
|
|
367
|
-
}
|
|
368
|
-
browser.teardownRouteInterception(session.sessionId);
|
|
369
|
-
browser.stopRequestCapture(session.sessionId);
|
|
370
|
-
browser.teardownDialogHandling(session.sessionId);
|
|
371
|
-
browser.teardownConsoleCapture(session.sessionId);
|
|
372
|
-
session.client.close();
|
|
373
|
-
session.client = null;
|
|
374
|
-
session.sessionId = '';
|
|
375
|
-
session.parentSessionId = '';
|
|
376
|
-
session.targetId = '';
|
|
377
|
-
}
|
|
378
|
-
// Kernel-assigned free port and a profile of its own, so this temporary
|
|
379
|
-
// headed window cannot collide with any other session (#318) — a
|
|
380
|
-
// neighbouring port (port + 10) could well be another session's.
|
|
381
|
-
let headedPort = 0;
|
|
382
|
-
try {
|
|
383
|
-
headedPort = await browser.launchBrowser({
|
|
384
|
-
port: 0,
|
|
385
|
-
headless: false,
|
|
386
|
-
userDataDir: join(tmpdir(), `monomind-browse-headed-${process.pid}-${randomUUID().slice(0, 8)}`),
|
|
387
|
-
});
|
|
388
|
-
}
|
|
389
|
-
catch (err) {
|
|
390
|
-
// Headed launch failed (no display, locked down env). Restore headless and rethrow.
|
|
391
|
-
session.port = await browser.launchBrowser({ port, headless: true });
|
|
392
|
-
const fallback = await browser.connectToTarget(session.port);
|
|
393
|
-
session.client = fallback.client;
|
|
394
|
-
session.sessionId = fallback.sessionId;
|
|
395
|
-
session.targetId = fallback.target.id;
|
|
396
|
-
session.refs = new Map();
|
|
397
|
-
throw new Error(`Cannot open headed browser: ${err instanceof Error ? err.message : String(err)}`);
|
|
398
|
-
}
|
|
399
|
-
const conn = await browser.connectToTarget(headedPort);
|
|
400
|
-
session.client = conn.client;
|
|
401
|
-
session.sessionId = conn.sessionId;
|
|
402
|
-
session.targetId = conn.target.id;
|
|
403
|
-
session.refs = new Map();
|
|
404
|
-
if (savedCookies.length) {
|
|
405
|
-
try {
|
|
406
|
-
await browser.setCookies(session.client, session.sessionId, savedCookies);
|
|
407
|
-
}
|
|
408
|
-
catch {
|
|
409
|
-
/* ignore */
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
await browser.openUrl(session.client, session.sessionId, url);
|
|
413
|
-
output.printInfo('Browser window opened. Complete the required action (login / CAPTCHA), then press Enter to continue in headless mode...');
|
|
414
|
-
await waitForEnter();
|
|
415
|
-
// Capture post-auth cookies
|
|
416
|
-
const authCookies = await browser
|
|
417
|
-
.getCookies(session.client, session.sessionId)
|
|
418
|
-
.catch(() => []);
|
|
419
|
-
const authLocalStorage = await browser
|
|
420
|
-
.getLocalStorage(session.client, session.sessionId)
|
|
421
|
-
.catch(() => ({}));
|
|
422
|
-
// Close headed session — actually terminate the underlying Chrome process
|
|
423
|
-
// (Browser.close CDP command, PID-kill fallback), not just our CDP client
|
|
424
|
-
// connection, so the visible authenticated window doesn't linger forever.
|
|
425
|
-
browser.teardownRouteInterception(session.sessionId);
|
|
426
|
-
browser.stopRequestCapture(session.sessionId);
|
|
427
|
-
browser.teardownDialogHandling(session.sessionId);
|
|
428
|
-
browser.teardownConsoleCapture(session.sessionId);
|
|
429
|
-
await browser.closeBrowser(session.client, headedPort);
|
|
430
|
-
session.client.close();
|
|
431
|
-
session.client = null;
|
|
432
|
-
session.sessionId = '';
|
|
433
|
-
session.parentSessionId = '';
|
|
434
|
-
session.targetId = '';
|
|
435
|
-
// Relaunch headless and restore session
|
|
436
|
-
session.port = await browser.launchBrowser({ port, headless: true });
|
|
437
|
-
const headlessConn = await browser.connectToTarget(session.port);
|
|
438
|
-
session.client = headlessConn.client;
|
|
439
|
-
session.sessionId = headlessConn.sessionId;
|
|
440
|
-
session.targetId = headlessConn.target.id;
|
|
441
|
-
session.refs = new Map();
|
|
442
|
-
if (authCookies.length) {
|
|
443
|
-
try {
|
|
444
|
-
await browser.setCookies(session.client, session.sessionId, authCookies);
|
|
445
|
-
}
|
|
446
|
-
catch {
|
|
447
|
-
/* ignore */
|
|
448
|
-
}
|
|
449
|
-
}
|
|
450
|
-
if (authLocalStorage && Object.keys(authLocalStorage).length) {
|
|
451
|
-
try {
|
|
452
|
-
await browser.setLocalStorage(session.client, session.sessionId, authLocalStorage);
|
|
453
|
-
}
|
|
454
|
-
catch {
|
|
455
|
-
/* ignore */
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
369
|
// Cap on printed output so a command cannot flood a terminal or an agent's
|
|
460
370
|
// context with a whole page. 0 disables truncation.
|
|
461
371
|
export const DEFAULT_EVAL_MAX_OUTPUT = 50_000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/cli/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/cli/session.ts"],"names":[],"mappings":"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"}
|