cbrowser 19.2.2 → 19.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/analysis/accessibility-empathy.d.ts +48 -1
  2. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  3. package/dist/analysis/accessibility-empathy.js +766 -92
  4. package/dist/analysis/accessibility-empathy.js.map +1 -1
  5. package/dist/analysis/agent-ready-audit.d.ts +28 -0
  6. package/dist/analysis/agent-ready-audit.d.ts.map +1 -1
  7. package/dist/analysis/agent-ready-audit.js +218 -21
  8. package/dist/analysis/agent-ready-audit.js.map +1 -1
  9. package/dist/analysis/bug-hunter.d.ts +45 -0
  10. package/dist/analysis/bug-hunter.d.ts.map +1 -1
  11. package/dist/analysis/bug-hunter.js +211 -64
  12. package/dist/analysis/bug-hunter.js.map +1 -1
  13. package/dist/analysis/competitive-benchmark.d.ts.map +1 -1
  14. package/dist/analysis/competitive-benchmark.js +4 -2
  15. package/dist/analysis/competitive-benchmark.js.map +1 -1
  16. package/dist/browser/session-manager.d.ts.map +1 -1
  17. package/dist/browser/session-manager.js +4 -2
  18. package/dist/browser/session-manager.js.map +1 -1
  19. package/dist/browser.d.ts +11 -2
  20. package/dist/browser.d.ts.map +1 -1
  21. package/dist/browser.js +64 -15
  22. package/dist/browser.js.map +1 -1
  23. package/dist/cli.js +2 -1
  24. package/dist/cli.js.map +1 -1
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/mcp-server.d.ts.map +1 -1
  30. package/dist/mcp-server.js +19 -19
  31. package/dist/mcp-server.js.map +1 -1
  32. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  33. package/dist/mcp-tools/base/audit-tools.js +114 -58
  34. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  35. package/dist/mcp-tools/base/browser-state-tools.d.ts.map +1 -1
  36. package/dist/mcp-tools/base/browser-state-tools.js +3 -2
  37. package/dist/mcp-tools/base/browser-state-tools.js.map +1 -1
  38. package/dist/mcp-tools/base/bug-analysis-tools.d.ts.map +1 -1
  39. package/dist/mcp-tools/base/bug-analysis-tools.js +4 -67
  40. package/dist/mcp-tools/base/bug-analysis-tools.js.map +1 -1
  41. package/dist/mcp-tools/base/interaction-tools.d.ts.map +1 -1
  42. package/dist/mcp-tools/base/interaction-tools.js +4 -0
  43. package/dist/mcp-tools/base/interaction-tools.js.map +1 -1
  44. package/dist/mcp-tools/security-layer.d.ts +33 -0
  45. package/dist/mcp-tools/security-layer.d.ts.map +1 -1
  46. package/dist/mcp-tools/security-layer.js +191 -1
  47. package/dist/mcp-tools/security-layer.js.map +1 -1
  48. package/dist/navigation-errors.d.ts +21 -0
  49. package/dist/navigation-errors.d.ts.map +1 -0
  50. package/dist/navigation-errors.js +119 -0
  51. package/dist/navigation-errors.js.map +1 -0
  52. package/dist/remediation/llms-txt.d.ts.map +1 -1
  53. package/dist/remediation/llms-txt.js +3 -1
  54. package/dist/remediation/llms-txt.js.map +1 -1
  55. package/dist/remediation/structured-data.d.ts.map +1 -1
  56. package/dist/remediation/structured-data.js +3 -1
  57. package/dist/remediation/structured-data.js.map +1 -1
  58. package/dist/security/script-gate.d.ts +7 -0
  59. package/dist/security/script-gate.d.ts.map +1 -1
  60. package/dist/security/script-gate.js +7 -0
  61. package/dist/security/script-gate.js.map +1 -1
  62. package/dist/testing/flaky-detection.js +1 -1
  63. package/dist/testing/flaky-detection.js.map +1 -1
  64. package/dist/testing/nl-test-suite.d.ts +12 -0
  65. package/dist/testing/nl-test-suite.d.ts.map +1 -1
  66. package/dist/testing/nl-test-suite.js +92 -14
  67. package/dist/testing/nl-test-suite.js.map +1 -1
  68. package/dist/testing/test-repair.js +3 -3
  69. package/dist/testing/test-repair.js.map +1 -1
  70. package/dist/types.d.ts +51 -0
  71. package/dist/types.d.ts.map +1 -1
  72. package/dist/types.js.map +1 -1
  73. package/dist/visual/attention-transport.d.ts +89 -11
  74. package/dist/visual/attention-transport.d.ts.map +1 -1
  75. package/dist/visual/attention-transport.js +148 -53
  76. package/dist/visual/attention-transport.js.map +1 -1
  77. package/dist/visual/cross-browser.d.ts.map +1 -1
  78. package/dist/visual/cross-browser.js +3 -1
  79. package/dist/visual/cross-browser.js.map +1 -1
  80. package/dist/visual/distance-metrics.js +6 -6
  81. package/dist/visual/distance-metrics.js.map +1 -1
  82. package/dist/visual/perceptual-transport.d.ts +14 -3
  83. package/dist/visual/perceptual-transport.d.ts.map +1 -1
  84. package/dist/visual/perceptual-transport.js +51 -9
  85. package/dist/visual/perceptual-transport.js.map +1 -1
  86. package/package.json +1 -1
@@ -3,13 +3,85 @@
3
3
  * Copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com
4
4
  * Learn more at https://cbrowser.ai - MIT License
5
5
  */
6
+ /**
7
+ * The crawl's identity for a URL: parsed, fragment dropped, trailing slash
8
+ * trimmed from a non-root path. `http://host` and `http://host/` and
9
+ * `http://host/#top` are one page; so are `/pricing` and `/pricing/`.
10
+ *
11
+ * Without it the start URL was stored as typed. cbrowser.ai's own `href="/"`
12
+ * resolves to `https://cbrowser.ai/`, which did not equal a start URL typed
13
+ * without the slash, so the home page was crawled a second time as a "new"
14
+ * page and pagesVisited counted it twice.
15
+ */
16
+ export function normalizeCrawlUrl(raw) {
17
+ try {
18
+ const u = new URL(raw);
19
+ u.hash = "";
20
+ if (u.pathname.length > 1 && u.pathname.endsWith("/"))
21
+ u.pathname = u.pathname.replace(/\/+$/, "") || "/";
22
+ return u.href;
23
+ }
24
+ catch {
25
+ return raw;
26
+ }
27
+ }
28
+ /**
29
+ * Severity for a finding, the same on every page.
30
+ *
31
+ * The first page had this mapping; crawled pages used
32
+ * `a11y-violation ? "high" : "medium"`, so an alt="" image the first page
33
+ * graded "low" (a prompt to confirm a decorative image) was "medium" on page
34
+ * two. One function, both loops.
35
+ */
36
+ export function severityFor(issue) {
37
+ const isPlaceholderOnly = (issue.description ?? "").includes("relies only on placeholder");
38
+ let severity = "medium";
39
+ if (isPlaceholderOnly) {
40
+ severity = "medium";
41
+ }
42
+ else if (issue.type === "duplicate-id") {
43
+ severity = "high"; // Breaks functionality
44
+ }
45
+ else if (issue.type === "missing-page-title" || issue.type === "missing-lang") {
46
+ severity = "high"; // WCAG Level A
47
+ }
48
+ else if (issue.type === "autoplay-media") {
49
+ severity = "critical"; // Can cause seizures
50
+ }
51
+ else if (issue.type === "missing-skip-link") {
52
+ severity = "low"; // WCAG Level A but common omission
53
+ }
54
+ else if (issue.type === "contrast-violation") {
55
+ severity = "high"; // Affects readability
56
+ }
57
+ else if (issue.type === "missing-aria") {
58
+ severity = "medium"; // Affects AT users
59
+ }
60
+ else if (issue.type === "console-error") {
61
+ severity = "high";
62
+ }
63
+ else if (issue.type === "a11y-violation") {
64
+ severity = "high";
65
+ }
66
+ else if (issue.type === "a11y-verify") {
67
+ // A prompt to confirm an existing decision, not a violation. Grading it
68
+ // high is what made hunt_bugs contradict empathy_audit on the same six
69
+ // images — one calling it critical, the other minor.
70
+ severity = "low";
71
+ }
72
+ return severity;
73
+ }
6
74
  /**
7
75
  * Autonomously explore a page and find bugs.
8
76
  */
9
77
  export async function huntBugs(browser, url, options = {}) {
10
78
  const startTime = Date.now();
11
79
  const bugs = [];
12
- const visited = new Set();
80
+ // Requested and landed URLs, normalized: never request the same page twice.
81
+ const seen = new Set();
82
+ // Pages actually analysed. pagesVisited is its length, so the count and the
83
+ // list cannot disagree.
84
+ const visitedUrls = [];
13
85
  const _maxPages = options.maxPages || 10;
14
86
  const _timeout = options.timeout || 60000;
15
87
  const page = await browser.getPage();
@@ -20,9 +92,31 @@ export async function huntBugs(browser, url, options = {}) {
20
92
  consoleErrors.push(msg.text());
21
93
  }
22
94
  });
23
- // Start with initial URL
95
+ // Console errors collected since the last flush belong to `pageUrl`.
96
+ // Crawled pages' errors used to be collected and never reported: the only
97
+ // flush ran once, before the crawl started.
98
+ const flushConsoleErrors = (pageUrl) => {
99
+ const errorCounts = new Map();
100
+ for (const error of consoleErrors.splice(0)) {
101
+ const key = error.slice(0, 200);
102
+ errorCounts.set(key, (errorCounts.get(key) || 0) + 1);
103
+ }
104
+ for (const [error, count] of errorCounts) {
105
+ bugs.push({
106
+ type: "console-error",
107
+ severity: severityFor({ type: "console-error", description: error }),
108
+ description: count > 1 ? `${error} (×${count})` : error,
109
+ url: pageUrl,
110
+ });
111
+ }
112
+ };
113
+ // Start with initial URL. The page is recorded where the browser LANDED,
114
+ // so a redirect is not visited twice under two names.
24
115
  await browser.navigate(url);
25
- visited.add(url);
116
+ const startUrl = normalizeCrawlUrl(page.url() || url);
117
+ seen.add(normalizeCrawlUrl(url));
118
+ seen.add(startUrl);
119
+ visitedUrls.push(startUrl);
26
120
  // Check for issues on current page
27
121
  const pageIssues = await page.evaluate(() => {
28
122
  const issues = [];
@@ -274,62 +368,17 @@ export async function huntBugs(browser, url, options = {}) {
274
368
  });
275
369
  // Add page issues to bugs with severity mapping
276
370
  for (const issue of pageIssues) {
277
- const isPlaceholderOnly = issue.description.includes("relies only on placeholder");
278
- // Determine severity based on issue type
279
- let severity = "medium";
280
- if (isPlaceholderOnly) {
281
- severity = "medium";
282
- }
283
- else if (issue.type === "duplicate-id") {
284
- severity = "high"; // Breaks functionality
285
- }
286
- else if (issue.type === "missing-page-title" || issue.type === "missing-lang") {
287
- severity = "high"; // WCAG Level A
288
- }
289
- else if (issue.type === "autoplay-media") {
290
- severity = "critical"; // Can cause seizures
291
- }
292
- else if (issue.type === "missing-skip-link") {
293
- severity = "low"; // WCAG Level A but common omission
294
- }
295
- else if (issue.type === "contrast-violation") {
296
- severity = "high"; // Affects readability
297
- }
298
- else if (issue.type === "missing-aria") {
299
- severity = "medium"; // Affects AT users
300
- }
301
- else if (issue.type === "a11y-violation") {
302
- severity = "high";
303
- }
304
- else if (issue.type === "a11y-verify") {
305
- // A prompt to confirm an existing decision, not a violation. Grading it
306
- // high is what made hunt_bugs contradict empathy_audit on the same six
307
- // images — one calling it critical, the other minor.
308
- severity = "low";
309
- }
310
371
  bugs.push({
311
372
  type: issue.type,
312
- severity,
373
+ severity: severityFor(issue),
313
374
  description: issue.description,
314
- url,
375
+ url: startUrl,
315
376
  selector: issue.selector,
316
377
  recommendation: issue.recommendation,
317
378
  });
318
379
  }
319
380
  // Add console errors (deduplicated with count)
320
- const errorCounts = new Map();
321
- for (const error of consoleErrors) {
322
- const key = error.slice(0, 200);
323
- errorCounts.set(key, (errorCounts.get(key) || 0) + 1);
324
- }
325
- for (const [error, count] of errorCounts) {
326
- bugs.push({
327
- type: "console-error",
328
- severity: "high",
329
- description: count > 1 ? `${error} (×${count})` : error,
330
- url,
331
- });
332
- }
381
+ flushConsoleErrors(startUrl);
333
382
  // v11.6.0: Actually implement link-following crawler for maxPages > 1
334
383
  if (_maxPages > 1) {
335
384
  const baseUrl = new URL(url);
@@ -354,15 +403,39 @@ export async function huntBugs(browser, url, options = {}) {
354
403
  return [...new Set(links)]; // Deduplicate
355
404
  }, baseDomain);
356
405
  };
357
- const toVisit = await extractLinks();
406
+ const queued = new Set();
407
+ const toVisit = [];
408
+ const enqueue = (links) => {
409
+ for (const link of links) {
410
+ const key = normalizeCrawlUrl(link);
411
+ if (seen.has(key) || queued.has(key))
412
+ continue;
413
+ queued.add(key);
414
+ toVisit.push(link);
415
+ }
416
+ };
417
+ enqueue(await extractLinks());
358
418
  // Visit additional pages up to maxPages
359
- while (visited.size < _maxPages && toVisit.length > 0 && (Date.now() - startTime) < _timeout) {
419
+ while (visitedUrls.length < _maxPages && toVisit.length > 0 && (Date.now() - startTime) < _timeout) {
360
420
  const nextUrl = toVisit.shift();
361
- if (!nextUrl || visited.has(nextUrl))
421
+ if (!nextUrl)
422
+ continue;
423
+ const requested = normalizeCrawlUrl(nextUrl);
424
+ if (seen.has(requested))
362
425
  continue;
426
+ seen.add(requested);
363
427
  try {
428
+ // Errors logged from here on belong to this page.
429
+ consoleErrors.length = 0;
364
430
  await browser.navigate(nextUrl);
365
- visited.add(nextUrl);
431
+ const landed = normalizeCrawlUrl(page.url() || nextUrl);
432
+ if (landed !== requested && seen.has(landed)) {
433
+ // Redirected to a page already analysed.
434
+ consoleErrors.length = 0;
435
+ continue;
436
+ }
437
+ seen.add(landed);
438
+ visitedUrls.push(landed);
366
439
  // Check for issues on this page
367
440
  const pageIssues2 = await page.evaluate(() => {
368
441
  const issues = [];
@@ -398,30 +471,104 @@ export async function huntBugs(browser, url, options = {}) {
398
471
  for (const issue of pageIssues2) {
399
472
  bugs.push({
400
473
  type: issue.type,
401
- severity: issue.type === "a11y-violation" ? "high" : "medium",
474
+ severity: severityFor(issue),
402
475
  description: issue.description,
403
- url: nextUrl,
476
+ url: landed,
404
477
  selector: issue.selector,
405
478
  recommendation: issue.recommendation,
406
479
  });
407
480
  }
481
+ flushConsoleErrors(landed);
408
482
  // Extract more links from this page
409
- const newLinks = await extractLinks();
410
- for (const link of newLinks) {
411
- if (!visited.has(link) && !toVisit.includes(link)) {
412
- toVisit.push(link);
413
- }
414
- }
483
+ enqueue(await extractLinks());
415
484
  }
416
485
  catch {
417
486
  // Navigation failed, skip this URL
487
+ consoleErrors.length = 0;
418
488
  }
419
489
  }
420
490
  }
421
491
  return {
422
492
  bugs,
423
- pagesVisited: visited.size,
493
+ pagesVisited: visitedUrls.length,
494
+ visitedUrls,
424
495
  duration: Date.now() - startTime,
425
496
  };
426
497
  }
498
+ /**
499
+ * The hunt_bugs tool response, shared by the HTTP and stdio servers.
500
+ *
501
+ * Repeats of one finding on one page are collapsed with an occurrence count;
502
+ * findings are sorted worst first and paged (limit/offset) with the cut
503
+ * stated; byPage/byType/bySeverity describe ALL findings. byPage starts with
504
+ * every visited page at 0, so a clean page is listed rather than missing:
505
+ * pagesVisited said 5 while byPage named 3, and the reader could not tell
506
+ * "two clean pages" from "two pages lost". The stdio copy had none of this:
507
+ * crawl-order slice(0, 10), no paging, no breakdowns. (2026-10-09)
508
+ */
509
+ export function huntBugsResponse(result, options = {}) {
510
+ const all = result.bugs ?? [];
511
+ const groups = new Map();
512
+ for (const bug of all) {
513
+ const key = `${bug.type}|${bug.url}|${bug.description}`;
514
+ const prior = groups.get(key);
515
+ if (prior) {
516
+ prior.occurrences += 1;
517
+ if (bug.selector && !prior.selectors.includes(bug.selector))
518
+ prior.selectors.push(bug.selector);
519
+ }
520
+ else {
521
+ groups.set(key, { ...bug, occurrences: 1, selectors: bug.selector ? [bug.selector] : [] });
522
+ }
523
+ }
524
+ const distinct = [...groups.values()];
525
+ const SEV = (x) => ({ critical: 0, high: 1, major: 1, medium: 2, moderate: 2, low: 3, minor: 3, info: 4 }[String(x).toLowerCase()] ?? 5);
526
+ // Worst first. A plain slice took the first ten in crawl order, which is
527
+ // page one -- so a five-page crawl reported thirty-five bugs and showed
528
+ // ten, every one of them from the homepage, with nothing saying so.
529
+ distinct.sort((x, y) => SEV(x.severity) - SEV(y.severity));
530
+ const start = Math.max(0, options.offset ?? 0);
531
+ const shown = distinct.slice(start, start + Math.max(1, options.limit ?? 25));
532
+ const tally = (rows, key, seed = []) => rows.reduce((m, r) => {
533
+ const k = String(r[key] ?? "unknown");
534
+ m[k] = (m[k] ?? 0) + 1;
535
+ return m;
536
+ }, Object.fromEntries(seed.map((u) => [u, 0])));
537
+ const visitedUrls = result.visitedUrls ?? [];
538
+ return {
539
+ pagesVisited: result.pagesVisited,
540
+ visitedUrls,
541
+ // Raw DOM occurrences, and the distinct findings behind them.
542
+ bugsFound: all.length,
543
+ distinctBugs: distinct.length,
544
+ duration: result.duration,
545
+ returned: shown.length,
546
+ offset: start,
547
+ // Stated, not implied. The previous shape reported a count it did
548
+ // not deliver and gave no way to ask for the rest.
549
+ ...(start + shown.length < distinct.length
550
+ ? {
551
+ omitted: distinct.length - (start + shown.length),
552
+ omittedNote: `Showing ${shown.length} of ${distinct.length} distinct bugs, worst first. Re-run with offset=${start + shown.length} for the next page, or raise limit. The breakdowns below cover ALL findings, not just the ones shown.`,
553
+ }
554
+ : {}),
555
+ // Composition of everything found, so a truncated list cannot
556
+ // misrepresent the shape of the result. Every visited page is listed,
557
+ // clean ones at 0.
558
+ byPage: tally(distinct, "url", visitedUrls),
559
+ byType: tally(distinct, "type"),
560
+ bySeverity: tally(distinct, "severity"),
561
+ bugs: shown.map(bug => ({
562
+ type: bug.type,
563
+ severity: bug.severity,
564
+ description: bug.description,
565
+ url: bug.url,
566
+ selector: bug.selector,
567
+ ...(bug.occurrences > 1
568
+ ? { occurrences: bug.occurrences, allSelectors: bug.selectors }
569
+ : {}),
570
+ recommendation: bug.recommendation,
571
+ })),
572
+ };
573
+ }
427
574
  //# sourceMappingURL=bug-hunter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bug-hunter.js","sourceRoot":"","sources":["../../src/analysis/bug-hunter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bug-hunter.js","sourceRoot":"","sources":["../../src/analysis/bug-hunter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"competitive-benchmark.d.ts","sourceRoot":"","sources":["../../src/analysis/competitive-benchmark.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,KAAK,EACV,0BAA0B,EAC1B,2BAA2B,EAO5B,MAAM,aAAa,CAAC;AA03BrB,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,0BAA0B,GAAG,MAAM,CAoH3F;AAED,wBAAgB,sCAAsC,CAAC,MAAM,EAAE,0BAA0B,GAAG,MAAM,CA0OjG;AAMD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CAiHrC;AAMD,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EAGrB,kBAAkB,EAInB,MAAM,aAAa,CAAC;AAoIrB;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAkJ5B;AAoGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EAAE,EACnB,eAAe,EAAE,MAAM,EAAE,EACzB,SAAS,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACpG,MAAM,EAAE,CAYV;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAarE;AAiBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,qBAAqB,EAAE,EACnC,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACnD,KAAK,EAAE,MAAM,GACZ,qBAAqB,GAAG,SAAS,CAOnC"}
1
+ {"version":3,"file":"competitive-benchmark.d.ts","sourceRoot":"","sources":["../../src/analysis/competitive-benchmark.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,OAAO,KAAK,EACV,0BAA0B,EAC1B,2BAA2B,EAO5B,MAAM,aAAa,CAAC;AA23BrB,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,0BAA0B,GAAG,MAAM,CAoH3F;AAED,wBAAgB,sCAAsC,CAAC,MAAM,EAAE,0BAA0B,GAAG,MAAM,CA0OjG;AAMD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CAiHrC;AAMD,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EAGrB,kBAAkB,EAInB,MAAM,aAAa,CAAC;AAoIrB;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAkJ5B;AAoGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EAAE,EACnB,eAAe,EAAE,MAAM,EAAE,EACzB,SAAS,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACpG,MAAM,EAAE,CAYV;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAarE;AAiBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,qBAAqB,EAAE,EACnC,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACnD,KAAK,EAAE,MAAM,GACZ,qBAAqB,GAAG,SAAS,CAOnC"}
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { VERSION } from "../version.js";
7
7
  import { CBrowser } from "../browser.js";
8
+ import { navigationError } from "../navigation-errors.js";
8
9
  import { getPersonaOrRefuse } from "../personas.js";
9
10
  import { getFocusHierarchy, inferTaskTypeFromGoal, calculateFocusPriority, getDistractionIgnoreRate, } from "../cognitive/focus-hierarchies.js";
10
11
  import { runCognitiveJourney, isApiKeyConfigured, } from "../cognitive/index.js";
@@ -64,8 +65,9 @@ async function simulateJourney(page, url, goal, persona, maxSteps, maxTime) {
64
65
  end: '',
65
66
  };
66
67
  try {
67
- // Navigate to starting URL
68
- await page.goto(url, { waitUntil: "domcontentloaded", timeout: 10000 });
68
+ // Navigate to starting URL (a failed load in plain words, not the raw Playwright error)
69
+ await page.goto(url, { waitUntil: "domcontentloaded", timeout: 10000 })
70
+ .catch((e) => { throw navigationError(e, url); });
69
71
  await page.waitForTimeout(1000);
70
72
  // Take start screenshot
71
73
  const startBuffer = await page.screenshot();