cbrowser 19.2.3 → 19.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/artifact-tools.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAU7C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuD7D"}
1
+ {"version":3,"file":"artifact-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/artifact-tools.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAuB7C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoE7D"}
@@ -14,8 +14,22 @@ import { z } from "zod";
14
14
  import { readFileSync, existsSync, statSync } from "node:fs";
15
15
  import { join, basename, extname } from "node:path";
16
16
  import { artifactDir } from "../../artifact-store.js";
17
+ import { fitImageForInline } from "../inline-image.js";
18
+ import { MAX_RESPONSE_SIZE } from "../screenshot-utils.js";
17
19
  /** Largest artifact returned inline. Base64 adds a third on top of this. */
18
20
  const MAX_BYTES = 3_500_000;
21
+ /**
22
+ * Base64 budget for an image this tool returns by default.
23
+ *
24
+ * The comment above says it: hosts truncate a tool result near 150k chars. That
25
+ * holds for a view's callServerTool too. A 1280x800 attention heatmap PNG is
26
+ * ~666k chars of base64, so the attention view asked for it, the host cut it,
27
+ * and the panel showed no image -- while the tool result it rendered from
28
+ * carried a perfectly good inline preview it never reads (Alexa, 2026-10-09:
29
+ * "the attention analysis image doesn't load inline again"). Images over this
30
+ * are fitted (JPEG quality ladder, then downscale) unless `full: true`.
31
+ */
32
+ const VIEW_IMAGE_BUDGET = MAX_RESPONSE_SIZE - 10_000;
19
33
  const MIME = {
20
34
  ".png": "image/png", ".jpg": "image/jpeg", ".jpeg": "image/jpeg",
21
35
  ".gif": "image/gif", ".webp": "image/webp",
@@ -26,6 +40,7 @@ export function registerArtifactTools(server) {
26
40
  description: "Fetch a generated image artifact (heatmap, diff, capture frame) as inline image data. Called by interactive views to display images the widget sandbox cannot load by URL; not usually needed directly.",
27
41
  inputSchema: {
28
42
  file: z.string().describe("Artifact filename as returned by the producing tool, e.g. 'heatmap-abc123.png'"),
43
+ full: z.boolean().optional().describe("Return the original bytes even when they exceed the host's ~150k-char result cap (a host may then truncate the result). Default false: a larger still image comes back as a JPEG fitted under the cap."),
29
44
  },
30
45
  annotations: {
31
46
  title: "Fetch Artifact",
@@ -37,7 +52,7 @@ export function registerArtifactTools(server) {
37
52
  // Hidden from the model's tool list: it exists for views to call, and an
38
53
  // agent reaching for it directly would be fetching bytes it cannot use.
39
54
  _meta: { ui: { visibility: ["app"] } },
40
- }, async ({ file }) => {
55
+ }, async ({ file, full }) => {
41
56
  // basename strips any directory component, so a traversal attempt
42
57
  // resolves to a plain name inside the artifact dir rather than escaping it.
43
58
  // The name is then re-validated, because basename alone would happily
@@ -66,10 +81,22 @@ export function registerArtifactTools(server) {
66
81
  isError: true,
67
82
  };
68
83
  }
84
+ const bytes = readFileSync(path);
85
+ const base64 = bytes.toString("base64");
86
+ // Animated GIFs are never re-encoded: a JPEG would keep one frame.
87
+ if (full !== true && ext !== ".gif" && base64.length > VIEW_IMAGE_BUDGET) {
88
+ const fitted = await fitImageForInline(bytes, VIEW_IMAGE_BUDGET).catch(() => null);
89
+ if (fitted) {
90
+ return {
91
+ content: [{ type: "image", data: fitted.data, mimeType: fitted.mimeType }],
92
+ _meta: { fitted: { width: fitted.width, height: fitted.height, sourceWidth: fitted.sourceWidth, sourceHeight: fitted.sourceHeight, quality: fitted.quality, originalBase64Chars: base64.length } },
93
+ };
94
+ }
95
+ }
69
96
  return {
70
97
  content: [{
71
98
  type: "image",
72
- data: readFileSync(path).toString("base64"),
99
+ data: base64,
73
100
  mimeType: MIME[ext],
74
101
  }],
75
102
  };
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/artifact-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/artifact-tools.ts"],"names":[],"mappings":"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"}
@@ -78,8 +78,8 @@ export function registerBaseTools(server, context) {
78
78
  registerSessionTools(server, context);
79
79
  // Healing (1)
80
80
  registerHealingTools(server, context);
81
- // Visual Testing (6) - no browser context needed
82
- registerVisualTestingTools(server);
81
+ // Visual Testing (6) - attention_analysis can analyze a live session by token
82
+ registerVisualTestingTools(server, context);
83
83
  // Testing (5) - no browser context needed
84
84
  registerTestingTools(server);
85
85
  // Bug Analysis (2)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * @license MIT
6
6
  */
7
7
  import type { ContentBlock } from "../screenshot-utils.js";
8
- import type { McpServer } from "../types.js";
8
+ import type { McpServer, ToolRegistrationContext } from "../types.js";
9
9
  /**
10
10
  * attention_analysis's result: the JSON, then the heatmap as an image block.
11
11
  *
@@ -25,5 +25,5 @@ export declare function assembleAttentionContent(data: Record<string, unknown>,
25
25
  /**
26
26
  * Register visual testing tools (6 tools: visual_baseline, visual_regression, cross_browser_test, cross_browser_diff, responsive_test, ab_comparison)
27
27
  */
28
- export declare function registerVisualTestingTools(server: McpServer): void;
28
+ export declare function registerVisualTestingTools(server: McpServer, context?: ToolRegistrationContext): void;
29
29
  //# sourceMappingURL=visual-testing-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"visual-testing-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/visual-testing-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AA8B3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAU7C;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC,CAOzB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA64BlE"}
1
+ {"version":3,"file":"visual-testing-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/visual-testing-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAmE3D,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAUtE;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC,CAOzB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,IAAI,CA88BrG"}
@@ -9,6 +9,39 @@ import { getDefaultConfig } from "../../config.js";
9
9
  import { resolveValuesForPersona } from "../../values/persona-values.js";
10
10
  import { writeArtifact } from "../../artifact-store.js";
11
11
  import { buildContentWithPreviews } from "../inline-image.js";
12
+ /**
13
+ * Scroll a page for an attention measurement, and say how to put it back.
14
+ *
15
+ * Shared by attention_analysis and attention_compare so the two cannot drift:
16
+ * scrolling happens BEFORE the screenshot and the DOM read, both of which are
17
+ * taken in the viewport, so the heatmap and element coordinates describe the
18
+ * same band of the page. The page clamps an over-large offset; what applied is
19
+ * reported, not what was asked. `restore` returns a caller's session to the
20
+ * scroll position it had. (2026-10-09)
21
+ */
22
+ async function scrollForAnalysis(page, scrollY) {
23
+ const original = await page.evaluate(() => window.scrollY).catch(() => 0);
24
+ let scroll;
25
+ if (scrollY !== undefined) {
26
+ // behavior "instant" overrides a page's CSS scroll-behavior: smooth.
27
+ // Without it the scroll ANIMATES: the position read back is where the page
28
+ // still was (cbrowser.ai: asked 2000, reported 0), and the screenshot can
29
+ // land mid-scroll. (Live check, 2026-10-09)
30
+ const applied = await page.evaluate((y) => {
31
+ window.scrollTo({ top: y, left: 0, behavior: "instant" });
32
+ return { applied: Math.round(window.scrollY), max: Math.max(0, Math.round(document.documentElement.scrollHeight - window.innerHeight)) };
33
+ }, scrollY);
34
+ // Lazy content and sticky headers settle on scroll.
35
+ await new Promise((r) => setTimeout(r, 500));
36
+ scroll = { requested: scrollY, applied: applied.applied, maxScrollY: applied.max };
37
+ }
38
+ return {
39
+ ...(scroll ? { scroll } : {}),
40
+ restore: async () => {
41
+ await page.evaluate((y) => window.scrollTo({ top: y, left: 0, behavior: "instant" }), original).catch(() => { });
42
+ },
43
+ };
44
+ }
12
45
  /**
13
46
  * Resolve a persona before anything is measured, or return the tool's refusal.
14
47
  *
@@ -61,7 +94,7 @@ export async function assembleAttentionContent(data, heatmapPng, fullResolution)
61
94
  /**
62
95
  * Register visual testing tools (6 tools: visual_baseline, visual_regression, cross_browser_test, cross_browser_diff, responsive_test, ab_comparison)
63
96
  */
64
- export function registerVisualTestingTools(server) {
97
+ export function registerVisualTestingTools(server, context) {
65
98
  server.registerTool("visual_baseline", {
66
99
  title: "Capture Visual Baseline",
67
100
  description: "Capture a visual baseline using Wasserstein barycenter. Takes multiple screenshots, rejects outliers, computes optimal consensus reference with adaptive threshold. Robust to dynamic content, animations, and timing variations.",
@@ -446,7 +479,9 @@ export function registerVisualTestingTools(server) {
446
479
  title: "Attention Saliency Analysis",
447
480
  description: "Analyze where a persona's attention goes on a page. Two-layer model: (1) visual saliency via W₂ on CIE-Lab (what POPS), (2) DOM semantic analysis (what MATTERS — CTAs, headings, forms, nav). Blended 35/65 so a gray search bar a power-user prioritizes outweighs a flashy banner they ignore. Returns attention metrics, a quality score, and the heatmap overlay: inline as a JPEG preview sized to fit the result (described in heatmapPreview), with the full-resolution PNG at heatmapUrl / artifact_fetch({ file: heatmapFile }).",
448
481
  inputSchema: {
449
- url: z.string().describe("URL to analyze"),
482
+ url: z.string().optional().describe("URL to analyze. Optional with _browserToken: omit it to analyze the session's current page as it stands (logged in, mid-flow); pass it to navigate that session first. Required without a token."),
483
+ _browserToken: z.string().optional().describe("Browser session token from a previous tool call (navigate, click, fill...). Analyzes that live session instead of a fresh browser, so authenticated and mid-flow states can be measured. The session keeps its viewport (device is ignored), and its scroll position and animation state are restored afterwards."),
484
+ scrollY: z.number().min(0).optional().describe("Vertical scroll offset in CSS pixels to analyze at. The screenshot, heatmap and DOM coordinates are all taken in the viewport at this offset. Clamped to the page's maximum scroll; the applied value is reported in `scroll`."),
450
485
  persona: z.string().optional().default("first-timer").describe("Persona name"),
451
486
  goal: z.string().optional().describe("Task goal — elements matching this goal get boosted attention (e.g., 'find pricing', 'sign up for an account')"),
452
487
  cellSize: z.number().optional().default(4).describe("Saliency grid cell size in pixels (smaller = finer heatmap, default: 4)"),
@@ -465,36 +500,56 @@ export function registerVisualTestingTools(server) {
465
500
  // Declares the attention view. The heatmap is the finding here, and a JSON
466
501
  // list of scores is a lossy description of where a persona actually looks.
467
502
  _meta: { ui: { resourceUri: "ui://cbrowser/attention" } },
468
- }, async ({ url, persona: requestedPersona, goal, cellSize, heatmap, device, useValues, freezeAnimations: doFreeze }) => {
503
+ }, async ({ url, persona: requestedPersona, goal, cellSize, heatmap, device, useValues, freezeAnimations: doFreeze, _browserToken, scrollY }) => {
504
+ const refuse = (error) => ({ isError: true, content: [{ type: "text", text: JSON.stringify({ error }, null, 2) }] });
505
+ if (!url && !_browserToken)
506
+ return refuse("attention_analysis needs a url, or a _browserToken to analyze that session's current page.");
507
+ if (_browserToken && !context?.getBrowserByToken)
508
+ return refuse("This server does not support browser session tokens; pass a url instead.");
469
509
  const resolved = await resolveOrRefuse(requestedPersona);
470
510
  if (!resolved.ok)
471
511
  return resolved.result;
472
512
  const persona = resolved.name;
473
513
  const { CBrowser } = await import("../../browser.js");
474
- const browser = new CBrowser({
475
- headless: true,
476
- // The CONFIGURED viewport, not a hardcoded 1920x1080.
477
- //
478
- // Every other tool renders at the configured default (1280x800) and
479
- // this one alone rendered at 1920x1080, so an attention run and a
480
- // cognitive_effort run were measuring DIFFERENT rendered pages while
481
- // reporting coordinates as if they shared a space. The tell was
482
- // attention regions coming back at x=1312 against a config that says
483
- // the viewport is 1280 wide -- impossible unless the page was wider.
484
- // (2026-08-02)
485
- ...(device ? { device: device.toLowerCase() } : {
486
- viewportWidth: getDefaultConfig().viewportWidth,
487
- viewportHeight: getDefaultConfig().viewportHeight,
488
- }),
489
- });
514
+ // A session is the caller's: analyze it, leave it as found (scroll,
515
+ // animation state), never close it. A fresh browser is ours to close.
516
+ let sessionToken;
517
+ const browser = _browserToken
518
+ ? await (async () => { const r = await context.getBrowserByToken(_browserToken); sessionToken = r.token; return r.browser; })()
519
+ : new CBrowser({
520
+ headless: true,
521
+ // The CONFIGURED viewport, not a hardcoded 1920x1080.
522
+ //
523
+ // Every other tool renders at the configured default (1280x800) and
524
+ // this one alone rendered at 1920x1080, so an attention run and a
525
+ // cognitive_effort run were measuring DIFFERENT rendered pages while
526
+ // reporting coordinates as if they shared a space. The tell was
527
+ // attention regions coming back at x=1312 against a config that says
528
+ // the viewport is 1280 wide -- impossible unless the page was wider.
529
+ // (2026-08-02)
530
+ ...(device ? { device: device.toLowerCase() } : {
531
+ viewportWidth: getDefaultConfig().viewportWidth,
532
+ viewportHeight: getDefaultConfig().viewportHeight,
533
+ }),
534
+ });
490
535
  const { join } = await import("path");
491
536
  const { tmpdir } = await import("os");
492
537
  const { unlinkSync } = await import("fs");
538
+ const ownsBrowser = !_browserToken;
539
+ let restoreSession;
493
540
  try {
494
- await browser.launch();
495
- await browser.navigate(url);
496
- await new Promise(r => setTimeout(r, 2000));
541
+ if (ownsBrowser)
542
+ await browser.launch();
543
+ if (url) {
544
+ await browser.navigate(url);
545
+ await new Promise(r => setTimeout(r, 2000));
546
+ }
497
547
  const page = await browser.getPage();
548
+ const pageUrl = url ?? page.url();
549
+ const viewport = page.viewportSize?.() ?? null;
550
+ const { scroll, restore: restoreScroll } = await scrollForAnalysis(page, scrollY);
551
+ if (!ownsBrowser)
552
+ restoreSession = restoreScroll;
498
553
  // Freeze BEFORE the screenshot, which is the only moment that matters:
499
554
  // the saliency layer reads the image, so anything still moving when the
500
555
  // shutter opens is in the measurement.
@@ -506,6 +561,30 @@ export function registerVisualTestingTools(server) {
506
561
  animationState = await doFreezeAnimations(page);
507
562
  }
508
563
  catch { /* a failed freeze is reported below, never fatal */ }
564
+ if (!ownsBrowser) {
565
+ // The freeze stylesheet and reduced-motion emulation would outlive
566
+ // this call in the caller's session; undo both with the scroll.
567
+ const restoreBefore = restoreSession;
568
+ restoreSession = async () => {
569
+ await restoreBefore?.();
570
+ await page.evaluate(() => {
571
+ for (const st of Array.from(document.querySelectorAll("style"))) {
572
+ if ((st.textContent ?? "").includes("cbrowser-freeze-animations"))
573
+ st.remove();
574
+ }
575
+ try {
576
+ for (const a of document.getAnimations?.() ?? []) {
577
+ try {
578
+ a.play();
579
+ }
580
+ catch { /* not resumable */ }
581
+ }
582
+ }
583
+ catch { /* older engines */ }
584
+ }).catch(() => { });
585
+ await page.emulateMedia?.({ reducedMotion: null }).catch(() => { });
586
+ };
587
+ }
509
588
  }
510
589
  // Measured either way. On a live run it says how much motion the number
511
590
  // was taken through; on a frozen run a non-zero value means the freeze
@@ -627,9 +706,14 @@ export function registerVisualTestingTools(server) {
627
706
  // Stated, because two tools silently rendering at different sizes is
628
707
  // exactly what made these coordinates incomparable with a CTC run.
629
708
  // A reader can now check instead of assuming they match.
630
- renderedViewport: device
631
- ? `device: ${device.toLowerCase()}`
632
- : `${getDefaultConfig().viewportWidth}x${getDefaultConfig().viewportHeight}`,
709
+ renderedViewport: !ownsBrowser
710
+ ? (viewport ? `${viewport.width}x${viewport.height} (session)` : "session viewport")
711
+ : device
712
+ ? `device: ${device.toLowerCase()}`
713
+ : `${getDefaultConfig().viewportWidth}x${getDefaultConfig().viewportHeight}`,
714
+ url: pageUrl,
715
+ ...(scroll ? { scroll } : {}),
716
+ ...(sessionToken ? { _browserToken: sessionToken, ...(device ? { deviceIgnored: "device does not apply to an existing session; its own viewport was used" } : {}) } : {}),
633
717
  coordinateSpace: "CSS pixels in the rendered viewport above — compare only against runs reporting the same renderedViewport",
634
718
  // What actually ran, not what was asked for. A freeze that silently
635
719
  // failed would produce exactly the variance it was asked to remove,
@@ -757,7 +841,7 @@ export function registerVisualTestingTools(server) {
757
841
  apiKey: getSessionApiKey(),
758
842
  imageUrl: publicUrl,
759
843
  toolName: "attention_analysis",
760
- targetUrl: url,
844
+ targetUrl: pageUrl,
761
845
  persona,
762
846
  metadata: { entropy: result.entropy, concentration: result.concentration, alignmentScore: result.alignmentScore },
763
847
  });
@@ -775,16 +859,21 @@ export function registerVisualTestingTools(server) {
775
859
  return { content: await assembleAttentionContent(data, heatmapPng, heatmapFullResolution) };
776
860
  }
777
861
  finally {
778
- await browser.close();
862
+ if (ownsBrowser)
863
+ await browser.close();
864
+ else
865
+ await restoreSession?.();
779
866
  }
780
867
  });
781
868
  server.registerTool("attention_compare", {
782
869
  title: "Compare Persona Attention",
783
870
  description: "Compare attention patterns between two personas on the same page. Shows where they look differently and the Wasserstein divergence between their saliency maps. The comparison map comes back inline as a JPEG preview sized to fit the result (described in comparisonHeatmapPreview), with the full-resolution PNG at comparisonHeatmapUrl / artifact_fetch({ file: comparisonHeatmapFile }).",
784
871
  inputSchema: {
785
- url: z.string().describe("URL to analyze"),
872
+ url: z.string().optional().describe("URL to analyze. Optional with _browserToken: omit it to compare on the session's current page as it stands (logged in, mid-flow); pass it to navigate that session first. Required without a token."),
786
873
  personaA: z.string().describe("First persona"),
787
874
  personaB: z.string().describe("Second persona"),
875
+ _browserToken: z.string().optional().describe("Browser session token from a previous tool call. Compares on that live session instead of a fresh browser; the session keeps its viewport, is never closed, and its scroll position is restored afterwards."),
876
+ scrollY: z.number().min(0).optional().describe("Vertical scroll offset in CSS pixels to compare at. Both personas are measured on the same screenshot at this offset. Clamped to the page's maximum scroll; the applied value is reported in `scroll`."),
788
877
  },
789
878
  annotations: {
790
879
  title: "Compare Persona Attention",
@@ -793,7 +882,12 @@ export function registerVisualTestingTools(server) {
793
882
  idempotentHint: true,
794
883
  openWorldHint: true,
795
884
  },
796
- }, async ({ url, personaA: requestedA, personaB: requestedB }) => {
885
+ }, async ({ url, personaA: requestedA, personaB: requestedB, _browserToken, scrollY }) => {
886
+ const refuse = (error) => ({ isError: true, content: [{ type: "text", text: JSON.stringify({ error }, null, 2) }] });
887
+ if (!url && !_browserToken)
888
+ return refuse("attention_compare needs a url, or a _browserToken to compare on that session's current page.");
889
+ if (_browserToken && !context?.getBrowserByToken)
890
+ return refuse("This server does not support browser session tokens; pass a url instead.");
797
891
  // Both refused before measuring: an unknown name compared as "maximally
798
892
  // different" from power-user, more than the extreme real pair. (2026-10-09)
799
893
  const resolvedA = await resolveOrRefuse(requestedA);
@@ -809,19 +903,34 @@ export function registerVisualTestingTools(server) {
809
903
  // attention runs, so rendering at a size no other tool uses meant its
810
904
  // comparison was internally consistent and incomparable with everything
811
905
  // else that reports attention coordinates. (2026-08-02)
812
- const browser = new CBrowser({
813
- headless: true,
814
- viewportWidth: getDefaultConfig().viewportWidth,
815
- viewportHeight: getDefaultConfig().viewportHeight,
816
- });
906
+ // A session is the caller's: compare on it, leave its scroll as found,
907
+ // never close it. A fresh browser is ours to close. (2026-10-09)
908
+ let sessionToken;
909
+ const browser = _browserToken
910
+ ? await (async () => { const r = await context.getBrowserByToken(_browserToken); sessionToken = r.token; return r.browser; })()
911
+ : new CBrowser({
912
+ headless: true,
913
+ viewportWidth: getDefaultConfig().viewportWidth,
914
+ viewportHeight: getDefaultConfig().viewportHeight,
915
+ });
916
+ const ownsBrowser = !_browserToken;
917
+ let restoreSession;
817
918
  const { join } = await import("path");
818
919
  const { tmpdir } = await import("os");
819
920
  const { unlinkSync } = await import("fs");
820
921
  try {
821
- await browser.launch();
822
- await browser.navigate(url);
823
- await new Promise(r => setTimeout(r, 2000));
922
+ if (ownsBrowser)
923
+ await browser.launch();
924
+ if (url) {
925
+ await browser.navigate(url);
926
+ await new Promise(r => setTimeout(r, 2000));
927
+ }
824
928
  const page = await browser.getPage();
929
+ const pageUrl = url ?? page.url();
930
+ const viewport = page.viewportSize?.() ?? null;
931
+ const { scroll, restore: restoreScroll } = await scrollForAnalysis(page, scrollY);
932
+ if (!ownsBrowser)
933
+ restoreSession = restoreScroll;
825
934
  const screenshotPath = join(tmpdir(), `attn-cmp-${Date.now()}.png`);
826
935
  await page.screenshot({ path: screenshotPath, fullPage: false });
827
936
  // Extract DOM elements for semantic attention layer
@@ -837,6 +946,12 @@ export function registerVisualTestingTools(server) {
837
946
  const { compareAttention } = await import("../../visual/attention-transport.js");
838
947
  const result = await compareAttention(screenshotPath, personaA, personaB, 4, domEls);
839
948
  const responseData = {
949
+ url: pageUrl,
950
+ renderedViewport: !ownsBrowser
951
+ ? (viewport ? `${viewport.width}x${viewport.height} (session)` : "session viewport")
952
+ : `${getDefaultConfig().viewportWidth}x${getDefaultConfig().viewportHeight}`,
953
+ ...(scroll ? { scroll } : {}),
954
+ ...(sessionToken ? { _browserToken: sessionToken } : {}),
840
955
  personaA: {
841
956
  name: personaA,
842
957
  ...(resolvedA.resolvedFrom ? { resolvedFrom: resolvedA.resolvedFrom } : {}),
@@ -901,7 +1016,10 @@ export function registerVisualTestingTools(server) {
901
1016
  return { content };
902
1017
  }
903
1018
  finally {
904
- await browser.close();
1019
+ if (ownsBrowser)
1020
+ await browser.close();
1021
+ else
1022
+ await restoreSession?.();
905
1023
  }
906
1024
  });
907
1025
  }
@@ -1 +1 @@
1
- {"version":3,"file":"visual-testing-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/visual-testing-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visual-testing-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/visual-testing-tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cbrowser",
3
- "version": "19.2.3",
3
+ "version": "19.3.0",
4
4
  "type": "module",
5
5
  "description": "Cognitive browser automation that thinks like your users—and helps AI agents navigate too. Simulate real user cognition with abandonment detection, constitutional safety, chaos engineering, and UX friction discovery. Sites that pass CBrowser's cognitive tests are easier for both humans and AI agents to navigate.",
6
6
  "main": "dist/index.js",