@jobshimo/browser-link 0.37.0 → 0.39.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/dist/agent-instructions/content.js +5 -360
- package/dist/agent-instructions/content.js.map +1 -1
- package/dist/bridge/server.d.ts +5 -0
- package/dist/bridge/server.js +1 -1
- package/dist/bridge/server.js.map +1 -1
- package/dist/bridge/ws-bridge.d.ts +10 -1
- package/dist/bridge/ws-bridge.js +19 -6
- package/dist/bridge/ws-bridge.js.map +1 -1
- package/dist/cdp/flow.d.ts +8 -0
- package/dist/cdp/flow.js +11 -0
- package/dist/cdp/flow.js.map +1 -1
- package/dist/cdp/inpage/builders.d.ts +7 -4
- package/dist/cdp/inpage/builders.js +4 -1
- package/dist/cdp/inpage/builders.js.map +1 -1
- package/dist/cdp/inpage/deep-query.d.ts +1 -1
- package/dist/cdp/inpage/deep-query.js +12 -9
- package/dist/cdp/inpage/deep-query.js.map +1 -1
- package/dist/cdp/transport.js +7 -1
- package/dist/cdp/transport.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +78 -38
- package/dist/cli.js.map +1 -1
- package/dist/commands/about.js +4 -2
- package/dist/commands/about.js.map +1 -1
- package/dist/config.d.ts +10 -0
- package/dist/config.js +9 -0
- package/dist/config.js.map +1 -1
- package/dist/extension/background.js +13 -2
- package/dist/extension/background.js.map +1 -1
- package/dist/extension/flow.d.ts +8 -0
- package/dist/extension/flow.js +11 -0
- package/dist/extension/flow.js.map +1 -1
- package/dist/extension/inpage/builders.d.ts +7 -4
- package/dist/extension/inpage/builders.js +4 -1
- package/dist/extension/inpage/builders.js.map +1 -1
- package/dist/extension/inpage/deep-query.d.ts +1 -1
- package/dist/extension/inpage/deep-query.js +12 -9
- package/dist/extension/inpage/deep-query.js.map +1 -1
- package/dist/extension/manifest.json +1 -1
- package/dist/manual/core.d.ts +20 -0
- package/dist/manual/core.js +72 -0
- package/dist/manual/core.js.map +1 -0
- package/dist/manual/refresh.d.ts +36 -0
- package/dist/manual/refresh.js +60 -0
- package/dist/manual/refresh.js.map +1 -0
- package/dist/manual/render.d.ts +22 -0
- package/dist/manual/render.js +56 -0
- package/dist/manual/render.js.map +1 -0
- package/dist/manual/status.d.ts +23 -0
- package/dist/manual/status.js +52 -0
- package/dist/manual/status.js.map +1 -0
- package/dist/manual/tool.d.ts +20 -0
- package/dist/manual/tool.js +106 -0
- package/dist/manual/tool.js.map +1 -0
- package/dist/manual/topics.d.ts +18 -0
- package/dist/manual/topics.js +60 -0
- package/dist/manual/topics.js.map +1 -0
- package/dist/messages.d.ts +7 -0
- package/dist/permissions.js +6 -0
- package/dist/permissions.js.map +1 -1
- package/dist/server.js +28 -19
- package/dist/server.js.map +1 -1
- package/dist/tools/browser-definitions.js +34 -6
- package/dist/tools/browser-definitions.js.map +1 -1
- package/dist/tools/browser-dispatch.d.ts +11 -0
- package/dist/tools/browser-dispatch.js +30 -0
- package/dist/tools/browser-dispatch.js.map +1 -1
- package/dist/tools/server-instructions.d.ts +31 -13
- package/dist/tools/server-instructions.js +33 -314
- package/dist/tools/server-instructions.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1,20 +1,38 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { printExtensionInstructions } from './commands/extension.js';
|
|
6
|
-
import { printAbout } from './commands/about.js';
|
|
7
|
-
import { checkUpdates, formatUpdate } from './commands/updates.js';
|
|
8
|
-
import { runToolsCommand } from './commands/tools.js';
|
|
9
|
-
import { runMultiAgentCommand } from './commands/multi-agent.js';
|
|
10
|
-
import { runFreePort } from './commands/free-port.js';
|
|
11
|
-
import { runConfigCommand } from './commands/config.js';
|
|
12
|
-
import { runCdpCommand } from './commands/cdp.js';
|
|
13
|
-
import { runMapCommand } from './commands/map.js';
|
|
14
|
-
import { runActivityCommand } from './commands/activity.js';
|
|
15
|
-
import { formatStatus as formatInstructionsStatus, installInstructionsAll, installInstructionsFor, statusAll as instructionsStatusAll, statusFor as instructionsStatusFor, uninstallInstructionsAll, uninstallInstructionsFor, } from './commands/instructions.js';
|
|
16
|
-
import { loadConfig } from './config.js';
|
|
2
|
+
import { realpathSync } from 'node:fs';
|
|
3
|
+
import { enableCompileCache } from 'node:module';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
17
5
|
import { VERSION } from './version.js';
|
|
6
|
+
// Only the real entry point enables Node's on-disk compile cache, before any
|
|
7
|
+
// command module loads, so later runs reuse the compiled code. Importing this
|
|
8
|
+
// module (tests) must not change the importing process.
|
|
9
|
+
const isEntryPoint = isMainModule();
|
|
10
|
+
if (isEntryPoint && typeof enableCompileCache === 'function')
|
|
11
|
+
enableCompileCache();
|
|
12
|
+
// Command modules are imported lazily inside each `dispatch` case: a run
|
|
13
|
+
// loads only the module its command needs, so `version` or `help` never pay
|
|
14
|
+
// for better-sqlite3, the MCP SDK or the IPC client.
|
|
15
|
+
// True when Node was started with this file as its entry script, through any
|
|
16
|
+
// symlink or shim (`node_modules/.bin`) and with or without the `.js`
|
|
17
|
+
// extension (`node dist/cli`). The native realpath canonicalises the case of
|
|
18
|
+
// Windows paths, so `node c:\...\cli.js` still matches.
|
|
19
|
+
function isMainModule() {
|
|
20
|
+
const entry = process.argv.at(1);
|
|
21
|
+
if (entry === undefined)
|
|
22
|
+
return false;
|
|
23
|
+
const self = canonicalPath(fileURLToPath(import.meta.url));
|
|
24
|
+
if (self === null)
|
|
25
|
+
return false;
|
|
26
|
+
return [entry, `${entry}.js`].some((candidate) => canonicalPath(candidate) === self);
|
|
27
|
+
}
|
|
28
|
+
function canonicalPath(path) {
|
|
29
|
+
try {
|
|
30
|
+
return realpathSync.native(path);
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
18
36
|
function buildHelp(language) {
|
|
19
37
|
if (language === 'es') {
|
|
20
38
|
return `browser-link ${VERSION} — puente entre cualquier cliente MCP y las pestañas de Chrome que vos habilites.
|
|
@@ -298,7 +316,7 @@ function parseClient(argv, language) {
|
|
|
298
316
|
return val;
|
|
299
317
|
throw new Error(CLI_I18N[language].unknownClient(val));
|
|
300
318
|
}
|
|
301
|
-
async function dispatch(argv) {
|
|
319
|
+
export async function dispatch(argv) {
|
|
302
320
|
// `argv.at(0)` returns `string | undefined`, which is what we want
|
|
303
321
|
// here — at runtime the array really can be empty (bare invocation
|
|
304
322
|
// of the CLI). Destructuring `const [cmd] = argv` would have typed
|
|
@@ -306,6 +324,14 @@ async function dispatch(argv) {
|
|
|
306
324
|
// off) and forced an eslint-disable on the `case undefined` branch.
|
|
307
325
|
const cmd = argv.at(0);
|
|
308
326
|
const rest = argv.slice(1);
|
|
327
|
+
// The version is language-independent: print it before the config is read.
|
|
328
|
+
if (cmd === 'version' || cmd === '-v' || cmd === '--version') {
|
|
329
|
+
console.log(VERSION);
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
// Every other command reads the config first, as it always has (help and
|
|
333
|
+
// the unknown-command error are localised; a corrupt config warns once).
|
|
334
|
+
const { loadConfig } = await import('./config.js');
|
|
309
335
|
const cfg = loadConfig();
|
|
310
336
|
const language = cfg.language ?? 'en';
|
|
311
337
|
const t = CLI_I18N[language];
|
|
@@ -324,6 +350,7 @@ async function dispatch(argv) {
|
|
|
324
350
|
}
|
|
325
351
|
case 'install': {
|
|
326
352
|
const client = parseClient(rest, language);
|
|
353
|
+
const { installAll, installFor } = await import('./commands/install.js');
|
|
327
354
|
const reports = client ? [installFor(client)] : installAll();
|
|
328
355
|
for (const r of reports) {
|
|
329
356
|
const prefix = r.installedClient ? '✓' : '·';
|
|
@@ -336,25 +363,30 @@ async function dispatch(argv) {
|
|
|
336
363
|
}
|
|
337
364
|
case 'uninstall': {
|
|
338
365
|
const client = parseClient(rest, language);
|
|
366
|
+
const { uninstallAll, uninstallFor } = await import('./commands/uninstall.js');
|
|
339
367
|
const reports = client ? [uninstallFor(client)] : uninstallAll();
|
|
340
368
|
for (const r of reports)
|
|
341
369
|
console.log(`· ${r.displayName}: ${r.message}`);
|
|
342
370
|
return;
|
|
343
371
|
}
|
|
344
372
|
case 'extension': {
|
|
373
|
+
const { printExtensionInstructions } = await import('./commands/extension.js');
|
|
345
374
|
printExtensionInstructions(language);
|
|
346
375
|
return;
|
|
347
376
|
}
|
|
348
377
|
case 'doctor': {
|
|
378
|
+
const { formatDoctor, runDoctor } = await import('./commands/doctor.js');
|
|
349
379
|
const report = await runDoctor();
|
|
350
380
|
console.log(formatDoctor(report, language));
|
|
351
381
|
return;
|
|
352
382
|
}
|
|
353
383
|
case 'about': {
|
|
384
|
+
const { printAbout } = await import('./commands/about.js');
|
|
354
385
|
printAbout(language);
|
|
355
386
|
return;
|
|
356
387
|
}
|
|
357
388
|
case 'updates': {
|
|
389
|
+
const { checkUpdates, formatUpdate } = await import('./commands/updates.js');
|
|
358
390
|
const info = await checkUpdates();
|
|
359
391
|
console.log(formatUpdate(info, language));
|
|
360
392
|
// Non-zero exit when we could not reach the registry, so scripts can detect it.
|
|
@@ -363,28 +395,34 @@ async function dispatch(argv) {
|
|
|
363
395
|
return;
|
|
364
396
|
}
|
|
365
397
|
case 'tools': {
|
|
398
|
+
const { runToolsCommand } = await import('./commands/tools.js');
|
|
366
399
|
console.log(runToolsCommand(rest, language));
|
|
367
400
|
console.log('');
|
|
368
401
|
console.log(t.toolsRestart);
|
|
369
402
|
return;
|
|
370
403
|
}
|
|
371
404
|
case 'multi-agent': {
|
|
405
|
+
const { runMultiAgentCommand } = await import('./commands/multi-agent.js');
|
|
372
406
|
console.log(runMultiAgentCommand(rest, language));
|
|
373
407
|
return;
|
|
374
408
|
}
|
|
375
409
|
case 'config': {
|
|
410
|
+
const { runConfigCommand } = await import('./commands/config.js');
|
|
376
411
|
console.log(await runConfigCommand(rest, language));
|
|
377
412
|
return;
|
|
378
413
|
}
|
|
379
414
|
case 'cdp': {
|
|
415
|
+
const { runCdpCommand } = await import('./commands/cdp.js');
|
|
380
416
|
console.log(await runCdpCommand(rest, language));
|
|
381
417
|
return;
|
|
382
418
|
}
|
|
383
419
|
case 'map': {
|
|
420
|
+
const { runMapCommand } = await import('./commands/map.js');
|
|
384
421
|
console.log(runMapCommand(rest, language));
|
|
385
422
|
return;
|
|
386
423
|
}
|
|
387
424
|
case 'activity': {
|
|
425
|
+
const { runActivityCommand } = await import('./commands/activity.js');
|
|
388
426
|
console.log(runActivityCommand(rest, language));
|
|
389
427
|
return;
|
|
390
428
|
}
|
|
@@ -392,15 +430,18 @@ async function dispatch(argv) {
|
|
|
392
430
|
// `rest.at(0)` correctly types the missing-arg case as `undefined`
|
|
393
431
|
// (vs. `rest[0]: string` under the project's loose index access).
|
|
394
432
|
const action = rest.at(0);
|
|
433
|
+
const instructions = await import('./commands/instructions.js');
|
|
395
434
|
if (action === undefined || action === 'status') {
|
|
396
435
|
const client = parseClient(rest, language);
|
|
397
|
-
const reports = client ? [
|
|
398
|
-
console.log(
|
|
436
|
+
const reports = client ? [instructions.statusFor(client)] : instructions.statusAll();
|
|
437
|
+
console.log(instructions.formatStatus(reports, language));
|
|
399
438
|
return;
|
|
400
439
|
}
|
|
401
440
|
if (action === 'install') {
|
|
402
441
|
const client = parseClient(rest, language);
|
|
403
|
-
const reports = client
|
|
442
|
+
const reports = client
|
|
443
|
+
? [instructions.installInstructionsFor(client)]
|
|
444
|
+
: instructions.installInstructionsAll();
|
|
404
445
|
printInstructionsReports(reports);
|
|
405
446
|
console.log('');
|
|
406
447
|
console.log(t.instructionsInstallNext);
|
|
@@ -408,7 +449,9 @@ async function dispatch(argv) {
|
|
|
408
449
|
}
|
|
409
450
|
if (action === 'uninstall') {
|
|
410
451
|
const client = parseClient(rest, language);
|
|
411
|
-
const reports = client
|
|
452
|
+
const reports = client
|
|
453
|
+
? [instructions.uninstallInstructionsFor(client)]
|
|
454
|
+
: instructions.uninstallInstructionsAll();
|
|
412
455
|
printInstructionsReports(reports);
|
|
413
456
|
console.log('');
|
|
414
457
|
console.log(t.instructionsUninstallDone);
|
|
@@ -419,18 +462,13 @@ async function dispatch(argv) {
|
|
|
419
462
|
return;
|
|
420
463
|
}
|
|
421
464
|
case 'stop': {
|
|
465
|
+
const { runFreePort } = await import('./commands/free-port.js');
|
|
422
466
|
const result = runFreePort(language);
|
|
423
467
|
console.log(result.message);
|
|
424
468
|
if (!result.ok)
|
|
425
469
|
process.exit(2);
|
|
426
470
|
return;
|
|
427
471
|
}
|
|
428
|
-
case 'version':
|
|
429
|
-
case '-v':
|
|
430
|
-
case '--version': {
|
|
431
|
-
console.log(VERSION);
|
|
432
|
-
return;
|
|
433
|
-
}
|
|
434
472
|
default: {
|
|
435
473
|
console.error(t.unknownCommand(cmd));
|
|
436
474
|
console.error('');
|
|
@@ -439,17 +477,19 @@ async function dispatch(argv) {
|
|
|
439
477
|
}
|
|
440
478
|
}
|
|
441
479
|
}
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
//
|
|
445
|
-
//
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
480
|
+
if (isEntryPoint) {
|
|
481
|
+
const argv = process.argv.slice(2);
|
|
482
|
+
// No args + both stdin and stdout are TTYs → human in a terminal: mount the
|
|
483
|
+
// Ink-based UI (welcome on first run, then the setup menu).
|
|
484
|
+
// Otherwise (no TTY anywhere, or output piped) → start the MCP server over stdio.
|
|
485
|
+
if (argv.length === 0 && process.stdin.isTTY && process.stdout.isTTY) {
|
|
486
|
+
const { startUI } = await import('./ui/start.js');
|
|
487
|
+
await startUI();
|
|
488
|
+
process.exit(0);
|
|
489
|
+
}
|
|
490
|
+
dispatch(argv).catch((err) => {
|
|
491
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
492
|
+
process.exit(1);
|
|
493
|
+
});
|
|
450
494
|
}
|
|
451
|
-
dispatch(argv).catch((err) => {
|
|
452
|
-
console.error(err instanceof Error ? err.message : String(err));
|
|
453
|
-
process.exit(1);
|
|
454
|
-
});
|
|
455
495
|
//# sourceMappingURL=cli.js.map
|
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,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/about.js
CHANGED
|
@@ -45,6 +45,7 @@ export const I18N_ABOUT = {
|
|
|
45
45
|
bridgeTools: [
|
|
46
46
|
' browser.list_tabs list connected tabs',
|
|
47
47
|
' browser.my_tabs list tabs claimed by the calling agent',
|
|
48
|
+
' browser.manual read the agent manual: index, one tool or one topic (no tab)',
|
|
48
49
|
' browser.ping check the bridge to a tab',
|
|
49
50
|
' browser.snapshot dump title, url, text and interactive elements (filterable)',
|
|
50
51
|
' browser.find locate an element by visible text — selector + coords',
|
|
@@ -58,7 +59,7 @@ export const I18N_ABOUT = {
|
|
|
58
59
|
' browser.wait_for_tab wait for a popup/window.open tab and auto-claim it',
|
|
59
60
|
' browser.events bridge lifecycle log (tab renamed/registered/claimed, …)',
|
|
60
61
|
' browser.navigate change the tab URL',
|
|
61
|
-
' browser.click click an element by CSS selector (occlusion-checked)',
|
|
62
|
+
' browser.click click an element by CSS selector or ref (occlusion-checked)',
|
|
62
63
|
' browser.type type into an input',
|
|
63
64
|
' browser.press press a key (trusted CDP input, not synthetic)',
|
|
64
65
|
' browser.drag drag an element to another element or coordinate',
|
|
@@ -164,6 +165,7 @@ export const I18N_ABOUT = {
|
|
|
164
165
|
bridgeTools: [
|
|
165
166
|
' browser.list_tabs listar pestañas conectadas',
|
|
166
167
|
' browser.my_tabs listar pestañas reclamadas por el agente que llama',
|
|
168
|
+
' browser.manual leer el manual del agente: índice, una herramienta o un tema (sin pestaña)',
|
|
167
169
|
' browser.ping comprobar el puente a una pestaña',
|
|
168
170
|
' browser.snapshot volcar título, url, texto y elementos interactivos (filtrable)',
|
|
169
171
|
' browser.find localizar un elemento por texto visible — selector + coords',
|
|
@@ -177,7 +179,7 @@ export const I18N_ABOUT = {
|
|
|
177
179
|
' browser.wait_for_tab esperar una pestaña emergente (window.open) y reclamarla',
|
|
178
180
|
' browser.events log de eventos del puente (pestaña renombrada/registrada/…)',
|
|
179
181
|
' browser.navigate cambiar la URL de la pestaña',
|
|
180
|
-
' browser.click hacer click en un elemento por CSS selector (con chequeo de oclusión)',
|
|
182
|
+
' browser.click hacer click en un elemento por CSS selector o ref (con chequeo de oclusión)',
|
|
181
183
|
' browser.type escribir en un input',
|
|
182
184
|
' browser.press presionar una tecla (input CDP confiable, no sintético)',
|
|
183
185
|
' browser.drag arrastrar un elemento hacia otro elemento o coordenada',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"about.js","sourceRoot":"","sources":["../../src/commands/about.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,MAAM,UAAU,GAAgC;IACrD,EAAE,EAAE;QACF,KAAK,EAAE,sBAAsB;QAC7B,SAAS,EAAE,eAAe;QAC1B,IAAI,EAAE;YACJ,oEAAoE;YACpE,qEAAqE;YACrE,kEAAkE;YAClE,EAAE;YACF,4BAA4B;YAC5B,qEAAqE;YACrE,qEAAqE;YACrE,qEAAqE;YACrE,oEAAoE;YACpE,wDAAwD;SACzD,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,QAAQ,EAAE,mBAAmB;QAC7B,GAAG,EAAE;YACH,sEAAsE;YACtE,kEAAkE;YAClE,mEAAmE;YACnE,qEAAqE;YACrE,uEAAuE;YACvE,EAAE;YACF,sEAAsE;YACtE,uEAAuE;YACvE,qEAAqE;YACrE,uEAAuE;YACvE,4CAA4C;SAC7C,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,YAAY,EAAE,uCAAuC;QACrD,OAAO,EAAE;YACP,kEAAkE;YAClE,sEAAsE;YACtE,mEAAmE;YACnE,qEAAqE;YACrE,qEAAqE;YACrE,gEAAgE;YAChE,EAAE;YACF,qEAAqE;YACrE,oEAAoE;YACpE,2DAA2D;SAC5D,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,gBAAgB,EAAE,sCAAsC;QACxD,WAAW,EAAE;YACX,iDAAiD;YACjD,oEAAoE;YACpE,uDAAuD;YACvD,yFAAyF;YACzF,mFAAmF;YACnF,6FAA6F;YAC7F,4FAA4F;YAC5F,8FAA8F;YAC9F,mEAAmE;YACnE,mEAAmE;YACnE,kEAAkE;YAClE,oFAAoF;YACpF,gFAAgF;YAChF,sFAAsF;YACtF,gDAAgD;YAChD,
|
|
1
|
+
{"version":3,"file":"about.js","sourceRoot":"","sources":["../../src/commands/about.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -30,6 +30,16 @@ export interface BrowserLinkConfig {
|
|
|
30
30
|
* the primary does). Has no effect when multiAgent is false.
|
|
31
31
|
*/
|
|
32
32
|
autoReelect?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Refresh the installed agent-instructions block at server start. Default
|
|
35
|
+
* ON. When true (default), the primary rewrites, in place, every client's
|
|
36
|
+
* block that exists but is older than the server (`installed-outdated`),
|
|
37
|
+
* through the same installer `browser-link instructions install` uses, and
|
|
38
|
+
* tells the agent to restart its client. A client without a block, or with
|
|
39
|
+
* a corrupt file, is never touched. Set explicitly to false in config.json
|
|
40
|
+
* to keep the block as it is (the agent then sees the outdated notice).
|
|
41
|
+
*/
|
|
42
|
+
instructionsAutoRefresh?: boolean;
|
|
33
43
|
/**
|
|
34
44
|
* CLI-side mirror of the extension's idle-disconnect TTL (see
|
|
35
45
|
* `packages/extension/src/idle-policy.ts`), in minutes. `0` means
|
package/dist/config.js
CHANGED
|
@@ -99,6 +99,7 @@ export function clampIdleTtlMinutes(value) {
|
|
|
99
99
|
const DEFAULT_MULTI_AGENT = true;
|
|
100
100
|
const DEFAULT_AUTO_REELECT = true;
|
|
101
101
|
const DEFAULT_CDP_DIRECT_ENABLED = false;
|
|
102
|
+
const DEFAULT_INSTRUCTIONS_AUTO_REFRESH = true;
|
|
102
103
|
function configFile() {
|
|
103
104
|
return join(getDataDir(), 'config.json');
|
|
104
105
|
}
|
|
@@ -111,6 +112,9 @@ function withDefaults(cfg) {
|
|
|
111
112
|
// ambiguity for the consumer.
|
|
112
113
|
const autoReelect = multiAgent ? (cfg.autoReelect ?? DEFAULT_AUTO_REELECT) : false;
|
|
113
114
|
const cdpDirectEnabled = cfg.cdpDirectEnabled ?? DEFAULT_CDP_DIRECT_ENABLED;
|
|
115
|
+
// Only an explicit boolean false turns the refresh off; anything else in a
|
|
116
|
+
// hand-edited file reads as the default.
|
|
117
|
+
const instructionsAutoRefresh = cfg.instructionsAutoRefresh !== false;
|
|
114
118
|
// sanitizeCdpPort (not `?? DEFAULT`) so cfg.cdpDirectPort is ALWAYS a valid
|
|
115
119
|
// integer by construction — an untrusted config.json string that would
|
|
116
120
|
// otherwise reach a discovery URL is neutralized here, at the read
|
|
@@ -137,6 +141,7 @@ function withDefaults(cfg) {
|
|
|
137
141
|
cdpDirectPort,
|
|
138
142
|
cdpDirectGrantTtlMinutes,
|
|
139
143
|
idleTtlMinutes,
|
|
144
|
+
instructionsAutoRefresh,
|
|
140
145
|
};
|
|
141
146
|
}
|
|
142
147
|
/** Strip fields that hold their default value before writing — the on-disk
|
|
@@ -184,6 +189,10 @@ function normaliseForWrite(cfg) {
|
|
|
184
189
|
const { cdpDirectGrantTtlMinutes: _omit7, ...rest7 } = next;
|
|
185
190
|
next = rest7;
|
|
186
191
|
}
|
|
192
|
+
if (next.instructionsAutoRefresh === DEFAULT_INSTRUCTIONS_AUTO_REFRESH) {
|
|
193
|
+
const { instructionsAutoRefresh: _omit8, ...rest8 } = next;
|
|
194
|
+
next = rest8;
|
|
195
|
+
}
|
|
187
196
|
return next;
|
|
188
197
|
}
|
|
189
198
|
export function loadConfig() {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { buildKeyEventSequence, resolveKey, modifiersToBitmask, MODIFIER_BITS, }
|
|
|
6
6
|
import { resolveSettleParams, settleSafely } from './settle.js';
|
|
7
7
|
import { beginExpect, resolveExpectParams, verifyExpect } from './expect.js';
|
|
8
8
|
import { captureAround, createDownloadCapture } from './download-capture.js';
|
|
9
|
-
import { refFailureMessage, runFlow, } from './flow.js';
|
|
9
|
+
import { refFailureMessage, retargetedClickMessage, runFlow, } from './flow.js';
|
|
10
10
|
import { MAX_DETACHED_FLOW_MS, appendFlowHistory, createFlowRegistry, detachedFlowKey, detachedFlowRecordsToEvict, finishedDetachedFlowRecord, flowHistoryKey, flowIdFromDetachedFlowKey, minimalDetachedFlowRecord, parseDetachedFlowRecord, parseFlowHistory, startedDetachedFlowRecord, terminatedDetachedFlowRecord, terminatedFlowHistoryEntry, toFlowStatus, toHistoryEntry, } from './flow-registry.js';
|
|
11
11
|
import { DEFAULT_IDLE_TTL_MINUTES, IDLE_TTL_STORAGE_KEY, IDLE_TTL_UPDATED_AT_STORAGE_KEY, clampIdleTtlMinutes, parseIncomingSettings, shouldAcceptIncomingSettings, shouldDisconnectForIdle, shouldScheduleIdleSweep, } from './idle-policy.js';
|
|
12
12
|
import { DEFAULT_FLOW_RECORDING_ENABLED, FLOW_RECORDING_STORAGE_KEY, FLOW_RECORDING_UPDATED_AT_STORAGE_KEY, normalizeFlowRecordingEnabled, parseIncomingFlowRecordingSettings, } from './flow-recording-policy.js';
|
|
@@ -1016,6 +1016,12 @@ async function performClick(tabId, params) {
|
|
|
1016
1016
|
error: `Element covered by ${resolved.blocker} — click the covering element or dismiss it first`,
|
|
1017
1017
|
};
|
|
1018
1018
|
}
|
|
1019
|
+
if (resolved.reason === 'retargeted') {
|
|
1020
|
+
return {
|
|
1021
|
+
ok: false,
|
|
1022
|
+
error: retargetedClickMessage(resolved.hit_element, ref ?? selector ?? ''),
|
|
1023
|
+
};
|
|
1024
|
+
}
|
|
1019
1025
|
if (resolved.reason === 'invalid-selector') {
|
|
1020
1026
|
return { ok: false, error: `Invalid selector "${selector}": ${resolved.error}` };
|
|
1021
1027
|
}
|
|
@@ -2732,7 +2738,12 @@ async function doConnectTab(tabId) {
|
|
|
2732
2738
|
ws.addEventListener('open', () => {
|
|
2733
2739
|
send(ws, {
|
|
2734
2740
|
kind: 'tab.register',
|
|
2735
|
-
payload: {
|
|
2741
|
+
payload: {
|
|
2742
|
+
url: registerUrl,
|
|
2743
|
+
title: registerTitle,
|
|
2744
|
+
previousTabId,
|
|
2745
|
+
extensionVersion: chrome.runtime.getManifest().version,
|
|
2746
|
+
},
|
|
2736
2747
|
});
|
|
2737
2748
|
});
|
|
2738
2749
|
ws.addEventListener('message', (ev) => {
|