cbrowser 18.73.2 → 18.74.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.
Files changed (137) hide show
  1. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  2. package/dist/analysis/accessibility-empathy.js +113 -8
  3. package/dist/analysis/accessibility-empathy.js.map +1 -1
  4. package/dist/analysis/agent-ready-audit.d.ts.map +1 -1
  5. package/dist/analysis/agent-ready-audit.js +66 -5
  6. package/dist/analysis/agent-ready-audit.js.map +1 -1
  7. package/dist/analysis/natural-language.d.ts.map +1 -1
  8. package/dist/analysis/natural-language.js +9 -8
  9. package/dist/analysis/natural-language.js.map +1 -1
  10. package/dist/analysis/page-understanding.d.ts.map +1 -1
  11. package/dist/analysis/page-understanding.js +115 -14
  12. package/dist/analysis/page-understanding.js.map +1 -1
  13. package/dist/analysis/webmcp-readiness.d.ts.map +1 -1
  14. package/dist/analysis/webmcp-readiness.js +18 -7
  15. package/dist/analysis/webmcp-readiness.js.map +1 -1
  16. package/dist/artifact-store.d.ts +55 -0
  17. package/dist/artifact-store.d.ts.map +1 -0
  18. package/dist/artifact-store.js +63 -0
  19. package/dist/artifact-store.js.map +1 -0
  20. package/dist/browser.d.ts +8 -0
  21. package/dist/browser.d.ts.map +1 -1
  22. package/dist/browser.js +157 -41
  23. package/dist/browser.js.map +1 -1
  24. package/dist/cli.js +12 -0
  25. package/dist/cli.js.map +1 -1
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +28 -1
  28. package/dist/config.js.map +1 -1
  29. package/dist/mcp-server-remote.d.ts +17 -1
  30. package/dist/mcp-server-remote.d.ts.map +1 -1
  31. package/dist/mcp-server-remote.js +22 -3
  32. package/dist/mcp-server-remote.js.map +1 -1
  33. package/dist/mcp-server.d.ts.map +1 -1
  34. package/dist/mcp-server.js +20 -0
  35. package/dist/mcp-server.js.map +1 -1
  36. package/dist/mcp-tools/base/analysis-tools.d.ts +1 -1
  37. package/dist/mcp-tools/base/analysis-tools.d.ts.map +1 -1
  38. package/dist/mcp-tools/base/analysis-tools.js +83 -10
  39. package/dist/mcp-tools/base/analysis-tools.js.map +1 -1
  40. package/dist/mcp-tools/base/assertion-tools.d.ts +1 -1
  41. package/dist/mcp-tools/base/assertion-tools.d.ts.map +1 -1
  42. package/dist/mcp-tools/base/assertion-tools.js +26 -3
  43. package/dist/mcp-tools/base/assertion-tools.js.map +1 -1
  44. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  45. package/dist/mcp-tools/base/audit-tools.js +189 -28
  46. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  47. package/dist/mcp-tools/base/browser-management-tools.d.ts +1 -1
  48. package/dist/mcp-tools/base/browser-management-tools.d.ts.map +1 -1
  49. package/dist/mcp-tools/base/browser-management-tools.js +66 -15
  50. package/dist/mcp-tools/base/browser-management-tools.js.map +1 -1
  51. package/dist/mcp-tools/base/browser-state-tools.d.ts.map +1 -1
  52. package/dist/mcp-tools/base/browser-state-tools.js +6 -1
  53. package/dist/mcp-tools/base/browser-state-tools.js.map +1 -1
  54. package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
  55. package/dist/mcp-tools/base/cognitive-tools.js +103 -30
  56. package/dist/mcp-tools/base/cognitive-tools.js.map +1 -1
  57. package/dist/mcp-tools/base/extraction-tools.d.ts.map +1 -1
  58. package/dist/mcp-tools/base/extraction-tools.js +6 -0
  59. package/dist/mcp-tools/base/extraction-tools.js.map +1 -1
  60. package/dist/mcp-tools/base/gif-tools.d.ts.map +1 -1
  61. package/dist/mcp-tools/base/gif-tools.js +7 -7
  62. package/dist/mcp-tools/base/gif-tools.js.map +1 -1
  63. package/dist/mcp-tools/base/interaction-tools.d.ts.map +1 -1
  64. package/dist/mcp-tools/base/interaction-tools.js +76 -11
  65. package/dist/mcp-tools/base/interaction-tools.js.map +1 -1
  66. package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
  67. package/dist/mcp-tools/base/persona-comparison-tools.js +78 -10
  68. package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
  69. package/dist/mcp-tools/base/session-tools.d.ts +1 -1
  70. package/dist/mcp-tools/base/session-tools.d.ts.map +1 -1
  71. package/dist/mcp-tools/base/session-tools.js +64 -7
  72. package/dist/mcp-tools/base/session-tools.js.map +1 -1
  73. package/dist/mcp-tools/base/site-knowledge-tools.d.ts.map +1 -1
  74. package/dist/mcp-tools/base/site-knowledge-tools.js +47 -1
  75. package/dist/mcp-tools/base/site-knowledge-tools.js.map +1 -1
  76. package/dist/mcp-tools/base/testing-tools.d.ts.map +1 -1
  77. package/dist/mcp-tools/base/testing-tools.js +20 -0
  78. package/dist/mcp-tools/base/testing-tools.js.map +1 -1
  79. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  80. package/dist/mcp-tools/base/visual-testing-tools.js +71 -46
  81. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  82. package/dist/mcp-tools/persona-creation-tools.d.ts.map +1 -1
  83. package/dist/mcp-tools/persona-creation-tools.js +40 -10
  84. package/dist/mcp-tools/persona-creation-tools.js.map +1 -1
  85. package/dist/mcp-tools/session-policy.d.ts +43 -0
  86. package/dist/mcp-tools/session-policy.d.ts.map +1 -0
  87. package/dist/mcp-tools/session-policy.js +54 -0
  88. package/dist/mcp-tools/session-policy.js.map +1 -0
  89. package/dist/mcp-ui-resources.d.ts +83 -0
  90. package/dist/mcp-ui-resources.d.ts.map +1 -0
  91. package/dist/mcp-ui-resources.js +128 -0
  92. package/dist/mcp-ui-resources.js.map +1 -0
  93. package/dist/performance/metrics.d.ts +0 -3
  94. package/dist/performance/metrics.d.ts.map +1 -1
  95. package/dist/performance/metrics.js +45 -1
  96. package/dist/performance/metrics.js.map +1 -1
  97. package/dist/personas.d.ts.map +1 -1
  98. package/dist/personas.js +38 -4
  99. package/dist/personas.js.map +1 -1
  100. package/dist/remediation/patch-generator.d.ts.map +1 -1
  101. package/dist/remediation/patch-generator.js +36 -2
  102. package/dist/remediation/patch-generator.js.map +1 -1
  103. package/dist/selector-escape.d.ts +37 -0
  104. package/dist/selector-escape.d.ts.map +1 -0
  105. package/dist/selector-escape.js +83 -0
  106. package/dist/selector-escape.js.map +1 -0
  107. package/dist/testing/coverage.d.ts +8 -0
  108. package/dist/testing/coverage.d.ts.map +1 -1
  109. package/dist/testing/coverage.js +12 -0
  110. package/dist/testing/coverage.js.map +1 -1
  111. package/dist/types.d.ts +42 -0
  112. package/dist/types.d.ts.map +1 -1
  113. package/dist/types.js.map +1 -1
  114. package/dist/visual/attention-quality.d.ts +0 -9
  115. package/dist/visual/attention-quality.d.ts.map +1 -1
  116. package/dist/visual/attention-quality.js +28 -1
  117. package/dist/visual/attention-quality.js.map +1 -1
  118. package/dist/visual/barrier-overlay-html.d.ts +88 -0
  119. package/dist/visual/barrier-overlay-html.d.ts.map +1 -0
  120. package/dist/visual/barrier-overlay-html.js +142 -0
  121. package/dist/visual/barrier-overlay-html.js.map +1 -0
  122. package/dist/visual/cognitive-transport.d.ts +15 -8
  123. package/dist/visual/cognitive-transport.d.ts.map +1 -1
  124. package/dist/visual/cognitive-transport.js +113 -34
  125. package/dist/visual/cognitive-transport.js.map +1 -1
  126. package/dist/visual/cross-browser.d.ts +13 -0
  127. package/dist/visual/cross-browser.d.ts.map +1 -1
  128. package/dist/visual/cross-browser.js +29 -3
  129. package/dist/visual/cross-browser.js.map +1 -1
  130. package/dist/visual/perceptual-transport.d.ts +8 -0
  131. package/dist/visual/perceptual-transport.d.ts.map +1 -1
  132. package/dist/visual/perceptual-transport.js +19 -0
  133. package/dist/visual/perceptual-transport.js.map +1 -1
  134. package/dist/visual/regression.d.ts.map +1 -1
  135. package/dist/visual/regression.js +76 -3
  136. package/dist/visual/regression.js.map +1 -1
  137. package/package.json +2 -1
@@ -545,33 +545,45 @@ Begin the simulation now. Narrate your thoughts as this persona.
545
545
  if (actionResult.progressMade) {
546
546
  // Achievement-driven personas get bigger confidence boost from progress
547
547
  newConfidenceLevel = Math.min(1, newConfidenceLevel + 0.1 * achievementMod);
548
- if (newMood === "confused" || newMood === "frustrated") {
549
- newMood = "hopeful";
550
- }
551
548
  }
552
549
  }
553
550
  else {
554
551
  // Failure — security-focused personas accumulate MORE frustration on failure
555
552
  newFrustrationLevel = Math.min(1, newFrustrationLevel + 0.2 * securityMod);
556
- if (newFrustrationLevel > 0.7) {
557
- newMood = "frustrated";
558
- }
559
- if (newFrustrationLevel > 0.8 && personaTraits.persistence < 0.5) {
560
- newMood = "defeated";
561
- }
562
553
  }
563
554
  if (actionResult.wasConfusing) {
564
555
  // Confusion — conformity-seeking personas get more confused without clear guidance
565
556
  newConfusionLevel = Math.min(1, newConfusionLevel + (1 - personaTraits.comprehension) * 0.15 * conformityMod);
566
- if (newConfusionLevel > 0.5 && newMood !== "frustrated") {
567
- newMood = "confused";
568
- }
569
557
  }
570
558
  if (actionResult.wentBack) {
571
559
  // Going back — security-focused personas lose more confidence (risk aversion)
572
560
  newConfidenceLevel = Math.max(0, newConfidenceLevel - 0.15 * securityMod);
573
561
  }
562
+ // Mood resolved from the FINAL levels, by whichever dimension actually
563
+ // dominates. It used to be assigned inside whichever branch happened to
564
+ // run: frustration only set the mood on a FAILED action, while confusion
565
+ // set it on any action guarded only by `newMood !== "frustrated"`. So a
566
+ // persona carrying frustration 0.85 into a successful-but-confusing step
567
+ // came out "confused" while frustration outranked confusion 0.85 to 0.65.
568
+ // (2026-07-29)
569
+ if (newFrustrationLevel > 0.8 && personaTraits.persistence < 0.5) {
570
+ newMood = "defeated";
571
+ }
572
+ else if (newFrustrationLevel > 0.7 || newConfusionLevel > 0.5) {
573
+ newMood = newFrustrationLevel >= newConfusionLevel ? "frustrated" : "confused";
574
+ }
575
+ else if (actionResult.success && actionResult.progressMade) {
576
+ newMood = "hopeful";
577
+ }
578
+ // 6.18: goalProgress is a REQUIRED input that nothing read and nothing
579
+ // returned, so every loop the caller supplied it and got nothing back —
580
+ // state threading dropped it. progressMade already means "the goal moved",
581
+ // so advance it there and echo it otherwise.
582
+ const newGoalProgress = actionResult.progressMade
583
+ ? Math.min(1, currentState.goalProgress + 0.1)
584
+ : currentState.goalProgress;
574
585
  const newState = {
586
+ goalProgress: newGoalProgress,
575
587
  patienceRemaining: Math.max(0, newPatienceRemaining),
576
588
  confusionLevel: newConfusionLevel,
577
589
  frustrationLevel: newFrustrationLevel,
@@ -589,24 +601,49 @@ Begin the simulation now. Narrate your thoughts as this persona.
589
601
  const patienceThreshold = 0.1;
590
602
  const frustrationThreshold = 0.85 / securityMod; // Lower threshold for high-security personas
591
603
  const confusionThreshold = 0.8 / conformityMod; // Lower threshold for high-conformity personas
604
+ // Precedence used to be an implicit if/else chain — patience, then
605
+ // frustration, then confusion — so when two dimensions breached at once
606
+ // the reported reason depended on source order and nothing said which had
607
+ // actually driven the abandonment. Score each breach by how far PAST its
608
+ // own threshold it went, report the worst, and name the others. Margins
609
+ // are relative so thresholds of different scales stay comparable.
610
+ // (2026-07-29)
611
+ const breaches = [];
592
612
  if (newState.patienceRemaining < patienceThreshold) {
593
- shouldAbandon = true;
594
- abandonmentReason = "patience";
595
- abandonmentMessage = "This is taking too long. I give up.";
613
+ breaches.push({
614
+ reason: "patience",
615
+ margin: (patienceThreshold - newState.patienceRemaining) / Math.max(patienceThreshold, 1e-6),
616
+ message: "This is taking too long. I give up.",
617
+ });
596
618
  }
597
- else if (newState.frustrationLevel > frustrationThreshold) {
598
- shouldAbandon = true;
599
- abandonmentReason = "frustration";
600
- abandonmentMessage = (v.security ?? 0.5) > 0.7
601
- ? "This doesn't feel safe or reliable. I'm leaving."
602
- : "This is so frustrating! I'm done.";
619
+ if (newState.frustrationLevel > frustrationThreshold) {
620
+ breaches.push({
621
+ reason: "frustration",
622
+ margin: (newState.frustrationLevel - frustrationThreshold) / Math.max(frustrationThreshold, 1e-6),
623
+ message: (v.security ?? 0.5) > 0.7
624
+ ? "This doesn't feel safe or reliable. I'm leaving."
625
+ : "This is so frustrating! I'm done.",
626
+ });
627
+ }
628
+ // Confusion still requires two consecutive breaching steps: a single
629
+ // confusing moment is not grounds to give up.
630
+ if (newState.confusionLevel > confusionThreshold && currentState.confusionLevel > confusionThreshold) {
631
+ breaches.push({
632
+ reason: "confusion",
633
+ margin: (newState.confusionLevel - confusionThreshold) / Math.max(confusionThreshold, 1e-6),
634
+ message: (v.conformity ?? 0.5) > 0.7
635
+ ? "I can't tell what most people would do here. I'll try something else."
636
+ : "I have no idea what I'm supposed to do here.",
637
+ });
603
638
  }
604
- else if (newState.confusionLevel > confusionThreshold && currentState.confusionLevel > confusionThreshold) {
639
+ let alsoBreached;
640
+ if (breaches.length > 0) {
641
+ breaches.sort((a, b) => b.margin - a.margin);
605
642
  shouldAbandon = true;
606
- abandonmentReason = "confusion";
607
- abandonmentMessage = (v.conformity ?? 0.5) > 0.7
608
- ? "I can't tell what most people would do here. I'll try something else."
609
- : "I have no idea what I'm supposed to do here.";
643
+ abandonmentReason = breaches[0].reason;
644
+ abandonmentMessage = breaches[0].message;
645
+ if (breaches.length > 1)
646
+ alsoBreached = breaches.slice(1).map((b) => b.reason);
610
647
  }
611
648
  return {
612
649
  content: [
@@ -617,6 +654,9 @@ Begin the simulation now. Narrate your thoughts as this persona.
617
654
  shouldAbandon,
618
655
  abandonmentReason,
619
656
  abandonmentMessage,
657
+ // Named so a caller can see the reason was a choice between
658
+ // simultaneous breaches, not the only one that fired.
659
+ ...(alsoBreached ? { alsoBreached } : {}),
620
660
  stateChange: {
621
661
  patienceDelta: newState.patienceRemaining - currentState.patienceRemaining,
622
662
  confusionDelta: newState.confusionLevel - currentState.confusionLevel,
@@ -812,7 +852,40 @@ Begin the simulation now. Narrate your thoughts as this persona.
812
852
  };
813
853
  })() : undefined,
814
854
  }));
815
- const allPersonas = [...builtinPersonas, ...accessibilityPersonas, ...localCustomPersonas, ...cmsCustomPersonas];
855
+ // Dedupe by name. listPersonas() returns built-ins UNION the on-disk custom
856
+ // personas, so each disk-custom persona was already emitted in the builtin
857
+ // loop above (mislabelled category "builtin"), then again as "custom", and a
858
+ // third time from the CMS when it had been synced there — 37 rows for ~23
859
+ // real personas.
860
+ //
861
+ // This MERGES rather than replaces. A plain last-write-wins would be lossy:
862
+ // the CMS record carries no demographics / attentionPattern / decisionStyle
863
+ // and holds raw DB traits, so it would silently drop fields the earlier
864
+ // record had, on a tool whose own description advertises "with their
865
+ // cognitive traits". Later records therefore fill in and refine, and the
866
+ // first-seen computed cognitive profile wins over raw CMS traits.
867
+ // (2026-07-28)
868
+ const rawPersonas = [...builtinPersonas, ...accessibilityPersonas, ...localCustomPersonas, ...cmsCustomPersonas]
869
+ .filter(Boolean);
870
+ const byName = new Map();
871
+ for (const p of rawPersonas) {
872
+ const name = p.name;
873
+ const existing = byName.get(name);
874
+ if (!existing) {
875
+ byName.set(name, { ...p });
876
+ continue;
877
+ }
878
+ for (const [key, value] of Object.entries(p)) {
879
+ if (value === undefined || value === null)
880
+ continue;
881
+ // getCognitiveProfile() output beats the raw traits column.
882
+ if (key === "cognitiveTraits" && existing.cognitiveTraits)
883
+ continue;
884
+ existing[key] = value;
885
+ }
886
+ }
887
+ const allPersonas = [...byName.values()];
888
+ const countByCategory = (category) => allPersonas.filter((p) => p.category === category).length;
816
889
  return {
817
890
  content: [
818
891
  {
@@ -821,9 +894,9 @@ Begin the simulation now. Narrate your thoughts as this persona.
821
894
  personas: allPersonas,
822
895
  count: allPersonas.length,
823
896
  categories: {
824
- builtin: builtinPersonas.length,
825
- accessibility: accessibilityPersonas.length,
826
- custom: localCustomPersonas.length + cmsCustomPersonas.length,
897
+ builtin: countByCategory("builtin"),
898
+ accessibility: countByCategory("accessibility"),
899
+ custom: countByCategory("custom"),
827
900
  },
828
901
  }, null, 2),
829
902
  },
@@ -1 +1 @@
1
- {"version":3,"file":"cognitive-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/cognitive-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cognitive-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/cognitive-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"extraction-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/extraction-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtE;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EACjB,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,uBAAuB,GACzD,IAAI,CAiEN"}
1
+ {"version":3,"file":"extraction-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/extraction-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAItE;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EACjB,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,uBAAuB,GACzD,IAAI,CAsEN"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { z } from "zod";
8
8
  import { buildContentWithScreenshots } from "../screenshot-utils.js";
9
+ import { refuseUnboundSession } from "../session-policy.js";
9
10
  /**
10
11
  * Register extraction tools (2 tools: screenshot, extract)
11
12
  */
@@ -55,6 +56,11 @@ export function registerExtractionTools(server, { getBrowser, getBrowserByToken
55
56
  openWorldHint: false,
56
57
  },
57
58
  }, async ({ what, _browserToken }) => {
59
+ // Extracting from a blank page returns an empty list, which reads as "this
60
+ // page has no links" rather than "I looked at the wrong page".
61
+ const unbound = refuseUnboundSession("extract", { getBrowserByToken }, _browserToken);
62
+ if (unbound)
63
+ return unbound;
58
64
  let b;
59
65
  if (getBrowserByToken) {
60
66
  const result = await getBrowserByToken(_browserToken);
@@ -1 +1 @@
1
- {"version":3,"file":"extraction-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/extraction-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extraction-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/extraction-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gif-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/gif-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtE,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EAAE,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CA8BjB;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,uBAAuB,GAChC,IAAI,CAmLN"}
1
+ {"version":3,"file":"gif-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/gif-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtE,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EAAE,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CA8BjB;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,uBAAuB,GAChC,IAAI,CAkLN"}
@@ -8,6 +8,7 @@
8
8
  * @since v18.53.0
9
9
  */
10
10
  import { z } from "zod";
11
+ import { writeArtifact } from "../../artifact-store.js";
11
12
  /** Frame geometry of the heatmap GIF. Pinned — changing these changes output. */
12
13
  export const HEATMAP_GIF_FRAME_WIDTH = 640;
13
14
  export const HEATMAP_GIF_FRAME_HEIGHT = 400;
@@ -157,14 +158,13 @@ export function registerGifTools(server, context) {
157
158
  // Combine frames into animated GIF (see encodeJourneyHeatmapGif below —
158
159
  // the pipeline is unchanged, only lifted out so it can be regression-pinned)
159
160
  const animatedGif = await encodeJourneyHeatmapGif(frames, frameDelay);
160
- // Save to public heatmaps directory
161
- const webDir = "/home/wyld-web/static/cbrowser-web/out/heatmaps";
162
- if (!existsSync(webDir))
163
- mkdirSync(webDir, { recursive: true });
161
+ // Save through the served artifact store. This used to write to
162
+ // cbrowser-web/out/heatmaps and return a cbrowser.ai/heatmaps URL — two
163
+ // different directories, so the URL 404'd. See src/artifact-store.ts.
164
164
  const gifId = `journey-${persona}-${Date.now()}`;
165
- const gifPath = join(webDir, `${gifId}.gif`);
166
- writeFileSync(gifPath, animatedGif);
167
- const gifUrl = `https://cbrowser.ai/heatmaps/${gifId}.gif`;
165
+ const written = writeArtifact(animatedGif, `${gifId}.gif`);
166
+ const gifPath = written?.path ?? "";
167
+ const gifUrl = written?.url ?? "";
168
168
  const elapsed = Date.now() - startTime;
169
169
  // Clean up temp dir
170
170
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"gif-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/gif-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gif-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/gif-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interaction-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/interaction-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtE;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,uBAAuB,GACzD,IAAI,CA8QN"}
1
+ {"version":3,"file":"interaction-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/interaction-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtE;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,uBAAuB,GACzD,IAAI,CA0UN"}
@@ -77,6 +77,11 @@ export function registerInteractionTools(server, { getBrowser, getBrowserByToken
77
77
  selector: z.string().describe("Element to click"),
78
78
  maxRetries: z.number().optional().default(3).describe("Maximum retry attempts"),
79
79
  dismissOverlays: z.boolean().optional().default(false).describe("Dismiss overlays before clicking"),
80
+ // Its sibling `click` (above) already took this; smart_click did not, so on
81
+ // the HTTP transport it retried against a blank page and reported a clean
82
+ // "element not found" — and self-healing then cached heals derived from
83
+ // nothing. (2026-07-28)
84
+ _browserToken: z.string().optional().describe("Browser session token from a previous tool call"),
80
85
  },
81
86
  annotations: {
82
87
  title: "Smart Click with Self-Healing",
@@ -85,8 +90,17 @@ export function registerInteractionTools(server, { getBrowser, getBrowserByToken
85
90
  idempotentHint: false,
86
91
  openWorldHint: true,
87
92
  },
88
- }, async ({ selector, maxRetries, dismissOverlays }) => {
89
- const b = await getBrowser();
93
+ }, async ({ selector, maxRetries, dismissOverlays, _browserToken }) => {
94
+ let b;
95
+ let token;
96
+ if (getBrowserByToken) {
97
+ const resolved = await getBrowserByToken(_browserToken);
98
+ b = resolved.browser;
99
+ token = resolved.token;
100
+ }
101
+ else {
102
+ b = await getBrowser();
103
+ }
90
104
  const result = await b.smartClick(selector, { maxRetries, dismissOverlays });
91
105
  return {
92
106
  content: [
@@ -101,6 +115,7 @@ export function registerInteractionTools(server, { getBrowser, getBrowserByToken
101
115
  confidence: result.confidence,
102
116
  healed: result.healed,
103
117
  healReason: result.healReason,
118
+ ...(token ? { _browserToken: token } : {}),
104
119
  }, null, 2),
105
120
  },
106
121
  ],
@@ -112,6 +127,10 @@ export function registerInteractionTools(server, { getBrowser, getBrowserByToken
112
127
  inputSchema: {
113
128
  type: z.enum(["auto", "cookie", "age-verify", "newsletter", "custom"]).optional().default("auto").describe("Overlay type to detect"),
114
129
  customSelector: z.string().optional().describe("Custom CSS selector for overlay close button"),
130
+ // Without the token this dismissed overlays on a blank page and reported
131
+ // `overlaysFound: 0` — so the caller's actual cookie banner stayed up while
132
+ // the response said there was nothing to dismiss. (2026-07-28)
133
+ _browserToken: z.string().optional().describe("Browser session token from a previous tool call"),
115
134
  },
116
135
  annotations: {
117
136
  title: "Dismiss Overlay",
@@ -120,8 +139,17 @@ export function registerInteractionTools(server, { getBrowser, getBrowserByToken
120
139
  idempotentHint: true,
121
140
  openWorldHint: true,
122
141
  },
123
- }, async ({ type, customSelector }) => {
124
- const b = await getBrowser();
142
+ }, async ({ type, customSelector, _browserToken }) => {
143
+ let b;
144
+ let token;
145
+ if (getBrowserByToken) {
146
+ const resolved = await getBrowserByToken(_browserToken);
147
+ b = resolved.browser;
148
+ token = resolved.token;
149
+ }
150
+ else {
151
+ b = await getBrowser();
152
+ }
125
153
  const result = await b.dismissOverlay({ type, customSelector });
126
154
  return {
127
155
  content: [
@@ -133,6 +161,7 @@ export function registerInteractionTools(server, { getBrowser, getBrowserByToken
133
161
  overlaysDismissed: result.overlaysDismissed,
134
162
  details: result.details,
135
163
  suggestion: result.suggestion,
164
+ ...(token ? { _browserToken: token } : {}),
136
165
  }, null, 2),
137
166
  },
138
167
  ],
@@ -211,9 +240,14 @@ export function registerInteractionTools(server, { getBrowser, getBrowserByToken
211
240
  },
212
241
  }, async ({ direction, amount, _browserToken }) => {
213
242
  let b;
243
+ let token;
214
244
  if (getBrowserByToken) {
215
245
  const result = await getBrowserByToken(_browserToken);
216
246
  b = result.browser;
247
+ // The resolved token was being discarded here, so scroll was the one
248
+ // bound tool that never echoed it and a caller chaining off it lost the
249
+ // session. (2026-07-28)
250
+ token = result.token;
217
251
  }
218
252
  else {
219
253
  b = await getBrowser();
@@ -238,13 +272,40 @@ export function registerInteractionTools(server, { getBrowser, getBrowserByToken
238
272
  await page.evaluate((amt) => window.scrollBy({ top: amt, behavior: "smooth" }), scrollAmount);
239
273
  break;
240
274
  }
241
- await new Promise((resolve) => setTimeout(resolve, 300));
242
- const scrollInfo = await page.evaluate(() => ({
243
- scrollY: window.scrollY,
244
- maxScroll: document.body.scrollHeight - window.innerHeight,
245
- }));
246
- scrollPosition = scrollInfo.scrollY;
247
- maxScroll = scrollInfo.maxScroll;
275
+ // Smooth scrolling is asynchronous. The previous fixed 300ms wait read
276
+ // the position mid-animation, so a long page reported atBottom:false for
277
+ // a scroll that did in fact reach the bottom. Poll until the position
278
+ // stops moving instead of guessing how long it takes.
279
+ //
280
+ // maxScroll also read document.body.scrollHeight alone; on standards-mode
281
+ // pages the scrolling element is usually documentElement, and the two
282
+ // disagree, which by itself made atBottom wrong. (2026-07-28)
283
+ const readPos = () => page.evaluate(() => {
284
+ const doc = document.documentElement;
285
+ const scrollHeight = Math.max(document.body?.scrollHeight ?? 0, doc?.scrollHeight ?? 0);
286
+ return {
287
+ scrollY: window.scrollY || doc?.scrollTop || 0,
288
+ maxScroll: Math.max(0, scrollHeight - window.innerHeight),
289
+ };
290
+ });
291
+ const SETTLE_DEADLINE_MS = 2000;
292
+ const SETTLE_POLL_MS = 60;
293
+ const deadline = Date.now() + SETTLE_DEADLINE_MS;
294
+ let pos = await readPos();
295
+ let stableReads = 0;
296
+ let settled = false;
297
+ while (Date.now() < deadline) {
298
+ await new Promise((resolve) => setTimeout(resolve, SETTLE_POLL_MS));
299
+ const next = await readPos();
300
+ stableReads = next.scrollY === pos.scrollY ? stableReads + 1 : 0;
301
+ pos = next;
302
+ if (stableReads >= 2) {
303
+ settled = true;
304
+ break;
305
+ }
306
+ }
307
+ scrollPosition = pos.scrollY;
308
+ maxScroll = pos.maxScroll;
248
309
  return {
249
310
  content: [
250
311
  {
@@ -256,6 +317,10 @@ export function registerInteractionTools(server, { getBrowser, getBrowserByToken
256
317
  maxScroll,
257
318
  atTop: scrollPosition <= 0,
258
319
  atBottom: scrollPosition >= maxScroll - 10,
320
+ // False means the page was still moving when we gave up, so the
321
+ // position above is a snapshot rather than a resting place.
322
+ settled,
323
+ ...(token ? { _browserToken: token } : {}),
259
324
  }, null, 2),
260
325
  },
261
326
  ],