cbrowser 18.78.0 → 18.80.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 (235) hide show
  1. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  2. package/dist/analysis/accessibility-empathy.js +395 -66
  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 +78 -0
  6. package/dist/analysis/agent-ready-audit.js.map +1 -1
  7. package/dist/analysis/page-understanding.d.ts +139 -1
  8. package/dist/analysis/page-understanding.d.ts.map +1 -1
  9. package/dist/analysis/page-understanding.js +179 -12
  10. package/dist/analysis/page-understanding.js.map +1 -1
  11. package/dist/artifact-store.d.ts +19 -5
  12. package/dist/artifact-store.d.ts.map +1 -1
  13. package/dist/artifact-store.js +41 -11
  14. package/dist/artifact-store.js.map +1 -1
  15. package/dist/browser.d.ts +9 -0
  16. package/dist/browser.d.ts.map +1 -1
  17. package/dist/browser.js +81 -5
  18. package/dist/browser.js.map +1 -1
  19. package/dist/cli.js +55 -10
  20. package/dist/cli.js.map +1 -1
  21. package/dist/cognitive/index.d.ts.map +1 -1
  22. package/dist/cognitive/index.js +3 -2
  23. package/dist/cognitive/index.js.map +1 -1
  24. package/dist/config.d.ts +57 -0
  25. package/dist/config.d.ts.map +1 -1
  26. package/dist/config.js +234 -7
  27. package/dist/config.js.map +1 -1
  28. package/dist/index.js +1 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/mcp-server-remote.d.ts.map +1 -1
  31. package/dist/mcp-server-remote.js +108 -4
  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 +62 -938
  35. package/dist/mcp-server.js.map +1 -1
  36. package/dist/mcp-tools/account-personas.d.ts +41 -0
  37. package/dist/mcp-tools/account-personas.d.ts.map +1 -0
  38. package/dist/mcp-tools/account-personas.js +98 -0
  39. package/dist/mcp-tools/account-personas.js.map +1 -0
  40. package/dist/mcp-tools/base/analysis-tools.d.ts.map +1 -1
  41. package/dist/mcp-tools/base/analysis-tools.js +12 -2
  42. package/dist/mcp-tools/base/analysis-tools.js.map +1 -1
  43. package/dist/mcp-tools/base/artifact-tools.d.ts +3 -0
  44. package/dist/mcp-tools/base/artifact-tools.d.ts.map +1 -0
  45. package/dist/mcp-tools/base/artifact-tools.js +78 -0
  46. package/dist/mcp-tools/base/artifact-tools.js.map +1 -0
  47. package/dist/mcp-tools/base/audit-tools.d.ts +11 -0
  48. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  49. package/dist/mcp-tools/base/audit-tools.js +595 -340
  50. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  51. package/dist/mcp-tools/base/browser-management-tools.d.ts.map +1 -1
  52. package/dist/mcp-tools/base/browser-management-tools.js +18 -0
  53. package/dist/mcp-tools/base/browser-management-tools.js.map +1 -1
  54. package/dist/mcp-tools/base/bug-analysis-tools.d.ts.map +1 -1
  55. package/dist/mcp-tools/base/bug-analysis-tools.js +59 -3
  56. package/dist/mcp-tools/base/bug-analysis-tools.js.map +1 -1
  57. package/dist/mcp-tools/base/capture-tools.d.ts +37 -0
  58. package/dist/mcp-tools/base/capture-tools.d.ts.map +1 -1
  59. package/dist/mcp-tools/base/capture-tools.js +267 -6
  60. package/dist/mcp-tools/base/capture-tools.js.map +1 -1
  61. package/dist/mcp-tools/base/cognitive-tools.d.ts +12 -0
  62. package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
  63. package/dist/mcp-tools/base/cognitive-tools.js +63 -15
  64. package/dist/mcp-tools/base/cognitive-tools.js.map +1 -1
  65. package/dist/mcp-tools/base/extraction-tools.d.ts.map +1 -1
  66. package/dist/mcp-tools/base/extraction-tools.js +33 -2
  67. package/dist/mcp-tools/base/extraction-tools.js.map +1 -1
  68. package/dist/mcp-tools/base/index.d.ts +2 -0
  69. package/dist/mcp-tools/base/index.d.ts.map +1 -1
  70. package/dist/mcp-tools/base/index.js +9 -0
  71. package/dist/mcp-tools/base/index.js.map +1 -1
  72. package/dist/mcp-tools/base/marketing-tools.js +3 -3
  73. package/dist/mcp-tools/base/marketing-tools.js.map +1 -1
  74. package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
  75. package/dist/mcp-tools/base/persona-comparison-tools.js +529 -40
  76. package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
  77. package/dist/mcp-tools/base/site-knowledge-tools.d.ts.map +1 -1
  78. package/dist/mcp-tools/base/site-knowledge-tools.js +36 -3
  79. package/dist/mcp-tools/base/site-knowledge-tools.js.map +1 -1
  80. package/dist/mcp-tools/base/values-tools.d.ts +113 -0
  81. package/dist/mcp-tools/base/values-tools.d.ts.map +1 -1
  82. package/dist/mcp-tools/base/values-tools.js +868 -78
  83. package/dist/mcp-tools/base/values-tools.js.map +1 -1
  84. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  85. package/dist/mcp-tools/base/visual-testing-tools.js +130 -10
  86. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  87. package/dist/mcp-tools/index.d.ts +3 -1
  88. package/dist/mcp-tools/index.d.ts.map +1 -1
  89. package/dist/mcp-tools/index.js +3 -28
  90. package/dist/mcp-tools/index.js.map +1 -1
  91. package/dist/mcp-tools/persona-creation-tools.d.ts.map +1 -1
  92. package/dist/mcp-tools/persona-creation-tools.js +363 -20
  93. package/dist/mcp-tools/persona-creation-tools.js.map +1 -1
  94. package/dist/mcp-tools/persona-lifecycle-tools.d.ts +3 -0
  95. package/dist/mcp-tools/persona-lifecycle-tools.d.ts.map +1 -0
  96. package/dist/mcp-tools/persona-lifecycle-tools.js +406 -0
  97. package/dist/mcp-tools/persona-lifecycle-tools.js.map +1 -0
  98. package/dist/mcp-tools/screenshot-utils.d.ts.map +1 -1
  99. package/dist/mcp-tools/screenshot-utils.js +56 -10
  100. package/dist/mcp-tools/screenshot-utils.js.map +1 -1
  101. package/dist/mcp-tools/tier-gate.js +2 -2
  102. package/dist/mcp-tools/tier-gate.js.map +1 -1
  103. package/dist/mcp-tools/tool-categories.d.ts.map +1 -1
  104. package/dist/mcp-tools/tool-categories.js +4 -1
  105. package/dist/mcp-tools/tool-categories.js.map +1 -1
  106. package/dist/mcp-tools/ui-resources.d.ts +167 -0
  107. package/dist/mcp-tools/ui-resources.d.ts.map +1 -0
  108. package/dist/mcp-tools/ui-resources.js +707 -0
  109. package/dist/mcp-tools/ui-resources.js.map +1 -0
  110. package/dist/mcp-tools/widget-kit.d.ts +299 -0
  111. package/dist/mcp-tools/widget-kit.d.ts.map +1 -0
  112. package/dist/mcp-tools/widget-kit.js +2034 -0
  113. package/dist/mcp-tools/widget-kit.js.map +1 -0
  114. package/dist/mcp-ui-resources.d.ts.map +1 -1
  115. package/dist/mcp-ui-resources.js +14 -4
  116. package/dist/mcp-ui-resources.js.map +1 -1
  117. package/dist/persona-questionnaire.d.ts +69 -1
  118. package/dist/persona-questionnaire.d.ts.map +1 -1
  119. package/dist/persona-questionnaire.js +177 -76
  120. package/dist/persona-questionnaire.js.map +1 -1
  121. package/dist/persona-scope.d.ts +20 -0
  122. package/dist/persona-scope.d.ts.map +1 -0
  123. package/dist/persona-scope.js +59 -0
  124. package/dist/persona-scope.js.map +1 -0
  125. package/dist/personas.d.ts +51 -17
  126. package/dist/personas.d.ts.map +1 -1
  127. package/dist/personas.js +947 -286
  128. package/dist/personas.js.map +1 -1
  129. package/dist/recording/capture-player.d.ts +68 -0
  130. package/dist/recording/capture-player.d.ts.map +1 -0
  131. package/dist/recording/capture-player.js +298 -0
  132. package/dist/recording/capture-player.js.map +1 -0
  133. package/dist/recording/engine.d.ts +52 -0
  134. package/dist/recording/engine.d.ts.map +1 -1
  135. package/dist/recording/engine.js +241 -3
  136. package/dist/recording/engine.js.map +1 -1
  137. package/dist/recording/inline-player.d.ts +39 -0
  138. package/dist/recording/inline-player.d.ts.map +1 -0
  139. package/dist/recording/inline-player.js +272 -0
  140. package/dist/recording/inline-player.js.map +1 -0
  141. package/dist/recording/saliency-overlay.d.ts +133 -0
  142. package/dist/recording/saliency-overlay.d.ts.map +1 -0
  143. package/dist/recording/saliency-overlay.js +360 -0
  144. package/dist/recording/saliency-overlay.js.map +1 -0
  145. package/dist/recording/types.d.ts +32 -0
  146. package/dist/recording/types.d.ts.map +1 -1
  147. package/dist/recording/types.js +46 -0
  148. package/dist/recording/types.js.map +1 -1
  149. package/dist/site-model/manager.d.ts +20 -0
  150. package/dist/site-model/manager.d.ts.map +1 -1
  151. package/dist/site-model/manager.js +52 -0
  152. package/dist/site-model/manager.js.map +1 -1
  153. package/dist/trait-reference.d.ts +26 -2
  154. package/dist/trait-reference.d.ts.map +1 -1
  155. package/dist/trait-reference.js +129 -19
  156. package/dist/trait-reference.js.map +1 -1
  157. package/dist/types.d.ts +105 -18
  158. package/dist/types.d.ts.map +1 -1
  159. package/dist/types.js.map +1 -1
  160. package/dist/url-resolution.d.ts +58 -0
  161. package/dist/url-resolution.d.ts.map +1 -0
  162. package/dist/url-resolution.js +143 -0
  163. package/dist/url-resolution.js.map +1 -0
  164. package/dist/values/big-five-inference.d.ts +121 -0
  165. package/dist/values/big-five-inference.d.ts.map +1 -0
  166. package/dist/values/big-five-inference.js +241 -0
  167. package/dist/values/big-five-inference.js.map +1 -0
  168. package/dist/values/big-five-values.d.ts +76 -0
  169. package/dist/values/big-five-values.d.ts.map +1 -0
  170. package/dist/values/big-five-values.js +152 -0
  171. package/dist/values/big-five-values.js.map +1 -0
  172. package/dist/values/index.d.ts +1 -1
  173. package/dist/values/index.d.ts.map +1 -1
  174. package/dist/values/index.js +1 -1
  175. package/dist/values/index.js.map +1 -1
  176. package/dist/values/persona-completeness.d.ts +91 -0
  177. package/dist/values/persona-completeness.d.ts.map +1 -0
  178. package/dist/values/persona-completeness.js +114 -0
  179. package/dist/values/persona-completeness.js.map +1 -0
  180. package/dist/values/persona-diff.d.ts +50 -0
  181. package/dist/values/persona-diff.d.ts.map +1 -0
  182. package/dist/values/persona-diff.js +126 -0
  183. package/dist/values/persona-diff.js.map +1 -0
  184. package/dist/values/persona-values.d.ts +16 -0
  185. package/dist/values/persona-values.d.ts.map +1 -1
  186. package/dist/values/persona-values.js +33 -0
  187. package/dist/values/persona-values.js.map +1 -1
  188. package/dist/values/schwartz-values.d.ts +9 -1
  189. package/dist/values/schwartz-values.d.ts.map +1 -1
  190. package/dist/values/schwartz-values.js +10 -2
  191. package/dist/values/schwartz-values.js.map +1 -1
  192. package/dist/values/value-mappings.d.ts +41 -2
  193. package/dist/values/value-mappings.d.ts.map +1 -1
  194. package/dist/values/value-mappings.js +65 -8
  195. package/dist/values/value-mappings.js.map +1 -1
  196. package/dist/visual/attention-quality.d.ts +27 -0
  197. package/dist/visual/attention-quality.d.ts.map +1 -1
  198. package/dist/visual/attention-quality.js +164 -2
  199. package/dist/visual/attention-quality.js.map +1 -1
  200. package/dist/visual/attention-transport.d.ts +41 -2
  201. package/dist/visual/attention-transport.d.ts.map +1 -1
  202. package/dist/visual/attention-transport.js +98 -26
  203. package/dist/visual/attention-transport.js.map +1 -1
  204. package/dist/visual/barrier-overlay-html.d.ts +10 -0
  205. package/dist/visual/barrier-overlay-html.d.ts.map +1 -1
  206. package/dist/visual/barrier-overlay-html.js.map +1 -1
  207. package/dist/visual/cognitive-models.d.ts +109 -13
  208. package/dist/visual/cognitive-models.d.ts.map +1 -1
  209. package/dist/visual/cognitive-models.js +166 -3
  210. package/dist/visual/cognitive-models.js.map +1 -1
  211. package/dist/visual/cognitive-transport-chain.d.ts +149 -5
  212. package/dist/visual/cognitive-transport-chain.d.ts.map +1 -1
  213. package/dist/visual/cognitive-transport-chain.js +558 -30
  214. package/dist/visual/cognitive-transport-chain.js.map +1 -1
  215. package/dist/visual/cognitive-transport.d.ts +45 -3
  216. package/dist/visual/cognitive-transport.d.ts.map +1 -1
  217. package/dist/visual/cognitive-transport.js +126 -12
  218. package/dist/visual/cognitive-transport.js.map +1 -1
  219. package/dist/visual/fixation-corpus.d.ts +52 -0
  220. package/dist/visual/fixation-corpus.d.ts.map +1 -1
  221. package/dist/visual/fixation-corpus.js +95 -0
  222. package/dist/visual/fixation-corpus.js.map +1 -1
  223. package/dist/visual/llm-relevance.d.ts +193 -0
  224. package/dist/visual/llm-relevance.d.ts.map +1 -0
  225. package/dist/visual/llm-relevance.js +480 -0
  226. package/dist/visual/llm-relevance.js.map +1 -0
  227. package/dist/visual/perceptual-transport.d.ts +60 -0
  228. package/dist/visual/perceptual-transport.d.ts.map +1 -1
  229. package/dist/visual/perceptual-transport.js +228 -19
  230. package/dist/visual/perceptual-transport.js.map +1 -1
  231. package/dist/visual/persona-context.d.ts +23 -0
  232. package/dist/visual/persona-context.d.ts.map +1 -0
  233. package/dist/visual/persona-context.js +44 -0
  234. package/dist/visual/persona-context.js.map +1 -0
  235. package/package.json +2 -1
@@ -27,9 +27,34 @@ export class PageUnderstandingEngine {
27
27
  * Extracts all interactive elements, headings, forms, nav landmarks, and semantic regions
28
28
  * in a single DOM traversal, then classifies, structures, and relates them.
29
29
  */
30
- async analyze(page) {
30
+ /**
31
+ * @param scope `viewport` restricts extraction to the first screenful plus
32
+ * landmarks; `full_page` scrolls to trigger lazy content and counts
33
+ * everything; `auto` (the historical behaviour) uses the full page unless
34
+ * it exceeds MAX_ELEMENTS_FULL_SCAN, then silently falls back to viewport.
35
+ *
36
+ * `auto` is the default for compatibility and is the worst of the three,
37
+ * which is why the mode actually used is now reported: the same tool
38
+ * measured two different things depending on page size, and said nothing.
39
+ * On ucdenver.edu/academics -- 229 links, 6436px -- it returned
40
+ * affordanceCount 10 against 8 above-fold interactive elements.
41
+ */
42
+ async analyze(page, scope = "auto") {
31
43
  const url = page.url();
32
44
  const start = Date.now();
45
+ if (scope === "full_page") {
46
+ try {
47
+ const vh = await page.evaluate(() => window.innerHeight);
48
+ const steps = await page.evaluate(() => Math.min(5, Math.ceil(document.documentElement.scrollHeight / window.innerHeight)));
49
+ for (let i = 1; i <= steps; i++) {
50
+ await page.evaluate((y) => window.scrollTo(0, y), i * vh);
51
+ await page.waitForTimeout(300);
52
+ }
53
+ await page.evaluate(() => window.scrollTo(0, 0));
54
+ await page.waitForTimeout(300);
55
+ }
56
+ catch { /* a page that will not scroll is still analysable */ }
57
+ }
33
58
  // Check cache: valid if not expired and content hash matches
34
59
  const cached = this.cache.get(url);
35
60
  if (cached && Date.now() - cached.timestamp < CACHE_TTL_MS) {
@@ -38,7 +63,7 @@ export class PageUnderstandingEngine {
38
63
  return cached.understanding;
39
64
  }
40
65
  }
41
- const raw = await this.extractDOM(page);
66
+ const raw = await this.extractDOM(page, scope);
42
67
  const type = classifyPageType(raw, url);
43
68
  const affordances = computeAffordances(raw, url);
44
69
  const structure = buildStructure(raw);
@@ -52,6 +77,9 @@ export class PageUnderstandingEngine {
52
77
  relationships,
53
78
  computedAt: Date.now(),
54
79
  computeTimeMs,
80
+ extractionScope: raw.extractionScope,
81
+ pageScreens: raw.pageScreens,
82
+ totalElements: raw.totalElementCount,
55
83
  };
56
84
  // Cache with content hash
57
85
  const contentHash = await this.computeContentHash(page);
@@ -207,11 +235,15 @@ export class PageUnderstandingEngine {
207
235
  * Single page.evaluate() that extracts everything in one DOM traversal.
208
236
  * For pages with >1000 elements, restricts extraction to visible viewport + nav elements.
209
237
  */
210
- async extractDOM(page) {
211
- const raw = await page.evaluate((maxElements) => {
238
+ async extractDOM(page, scope = "auto") {
239
+ const raw = await page.evaluate(([maxElements, mode]) => {
212
240
  const totalElementCount = document.querySelectorAll("*").length;
213
241
  const viewportHeight = window.innerHeight;
214
- const limitToViewport = totalElementCount > maxElements;
242
+ // `auto` keeps the size-triggered fallback that shipped; the other two say
243
+ // what they want and get it regardless of how big the page is.
244
+ const limitToViewport = mode === "viewport" ? true
245
+ : mode === "full_page" ? false
246
+ : totalElementCount > maxElements;
215
247
  function isInViewport(el) {
216
248
  if (!limitToViewport)
217
249
  return true;
@@ -243,6 +275,63 @@ export class PageUnderstandingEngine {
243
275
  }
244
276
  return (source.textContent || "").trim().replace(/\s+/g, " ").slice(0, 80);
245
277
  }
278
+ /**
279
+ * Build a selector that resolves to exactly ONE node, verified before it
280
+ * is returned.
281
+ *
282
+ * getNthOfType below counts previous SIBLINGS, so it is parent-scoped —
283
+ * but an unscoped `button:nth-of-type(1)` matches the first button inside
284
+ * every container on the page. Two different buttons each first in their
285
+ * own card collided on one selector, which silently corrupts anything
286
+ * keyed on it: the self-healing cache, element tracking, test generation.
287
+ *
288
+ * Strategy order matches CBrowser's documented priority (id, testid,
289
+ * aria/role, then a scoped structural path), and every candidate is
290
+ * checked with querySelectorAll before being accepted. A selector that
291
+ * matches != 1 node is not an answer.
292
+ */
293
+ function uniqueSelector(el) {
294
+ const ok = (sel) => {
295
+ try {
296
+ return document.querySelectorAll(sel).length === 1;
297
+ }
298
+ catch {
299
+ return false;
300
+ }
301
+ };
302
+ const esc = (v) => v.replace(/["\\]/g, "\\$&");
303
+ if (el.id && ok(`#${CSS.escape(el.id)}`))
304
+ return `#${CSS.escape(el.id)}`;
305
+ for (const attr of ["data-testid", "data-test-id", "data-cy", "data-qa"]) {
306
+ const v = el.getAttribute(attr);
307
+ if (v && ok(`[${attr}="${esc(v)}"]`))
308
+ return `[${attr}="${esc(v)}"]`;
309
+ }
310
+ const role = el.getAttribute("role");
311
+ const label = el.getAttribute("aria-label");
312
+ if (role && label && ok(`[role="${esc(role)}"][aria-label="${esc(label)}"]`)) {
313
+ return `[role="${esc(role)}"][aria-label="${esc(label)}"]`;
314
+ }
315
+ if (label && ok(`${el.tagName.toLowerCase()}[aria-label="${esc(label)}"]`)) {
316
+ return `${el.tagName.toLowerCase()}[aria-label="${esc(label)}"]`;
317
+ }
318
+ // Scoped structural path: walk up adding :nth-child until unique, which
319
+ // terminates at <html> in the worst case and is unique by construction.
320
+ const parts = [];
321
+ let node = el;
322
+ while (node && node.nodeType === 1 && node.tagName !== "HTML") {
323
+ const parent = node.parentElement;
324
+ if (!parent)
325
+ break;
326
+ const idx = Array.from(parent.children).indexOf(node) + 1;
327
+ parts.unshift(`${node.tagName.toLowerCase()}:nth-child(${idx})`);
328
+ const candidate = parts.join(" > ");
329
+ if (ok(candidate))
330
+ return candidate;
331
+ node = parent;
332
+ }
333
+ return parts.length > 0 ? parts.join(" > ") : el.tagName.toLowerCase();
334
+ }
246
335
  function getNthOfType(el) {
247
336
  const tag = el.tagName;
248
337
  let nth = 1;
@@ -284,7 +373,12 @@ export class PageUnderstandingEngine {
284
373
  interactiveElements.push({
285
374
  tag,
286
375
  type: inputEl.type || "",
287
- text: getVisibleText(el),
376
+ typeAttr: el.getAttribute("type") || "",
377
+ // `<input type="submit" value="Apply">` has no textContent at all, so
378
+ // getVisibleText returns "" and every downstream classifier skipped
379
+ // it as unlabelled. Its label is the value attribute. Found on the CU
380
+ // Denver homepage, where the program-finder's submit is exactly that.
381
+ text: getVisibleText(el) || (tag === "input" ? String(inputEl.value ?? "").trim() : ""),
288
382
  href: el.href || "",
289
383
  name: inputEl.name || "",
290
384
  id: el.id || "",
@@ -295,6 +389,7 @@ export class PageUnderstandingEngine {
295
389
  rect: { top: rect.top, left: rect.left, width: rect.width, height: rect.height },
296
390
  formIndex,
297
391
  nthOfType: getNthOfType(el),
392
+ uniqueSelector: uniqueSelector(el),
298
393
  });
299
394
  });
300
395
  // -- Headings --
@@ -436,10 +531,12 @@ export class PageUnderstandingEngine {
436
531
  navs,
437
532
  regions,
438
533
  totalElementCount,
534
+ extractionScope: (limitToViewport ? "viewport" : "full_page"),
535
+ pageScreens: Math.round((Math.max(viewportHeight, document.documentElement.scrollHeight) / viewportHeight) * 10) / 10,
439
536
  title: document.title || "",
440
537
  viewportHeight,
441
538
  };
442
- }, MAX_ELEMENTS_FULL_SCAN);
539
+ }, [MAX_ELEMENTS_FULL_SCAN, scope]);
443
540
  return raw;
444
541
  }
445
542
  }
@@ -833,17 +930,79 @@ function buildFormGroups(raw) {
833
930
  };
834
931
  });
835
932
  }
836
- function detectCTAs(raw) {
933
+ /**
934
+ * Is this control the thing a form is asking the user to do?
935
+ *
936
+ * Per the HTML spec a `<button>` inside a form defaults to `type="submit"`, so
937
+ * this is a structural reading rather than a heuristic: the submit control of a
938
+ * form IS the call to action, whatever its label says.
939
+ *
940
+ * That is the half the keyword list could never cover. `ctaCount: 0` was
941
+ * reported on a page carrying a program-finder with three selects and a submit
942
+ * button, and re-testing at full_page scope only partly explained it -- the
943
+ * homepage still found one CTA at whole-page scope. The reason is that its
944
+ * three submit controls are labelled "rechercher", "rechercher" and "Apply",
945
+ * and the keyword list recognises marketing verbs: sign up, get started, buy,
946
+ * subscribe, download, learn more. A form's submit button is the most literal
947
+ * call to action on a page and matched none of them. (2026-08-03, BUG-19)
948
+ */
949
+ export function isFormSubmitControl(el) {
950
+ // The ATTRIBUTE, never the IDL property. `HTMLButtonElement.type` reports
951
+ // "submit" for any bare <button> -- form or no form, author intent or not --
952
+ // so testing it made menu toggles, search toggles and a video pause button
953
+ // into calls to action on the first attempt.
954
+ //
955
+ // An explicit type="submit" IS an author declaration, and it holds whether or
956
+ // not a <form> ancestor exists. That matters here: the widget this bug was
957
+ // reported against is JS-driven, and its "Submit" button is 68x50, fully
958
+ // visible, type="submit", and formIndex -1. Requiring a form ancestor was my
959
+ // first attempt and changed nothing at all.
960
+ if (el.typeAttr === "submit")
961
+ return true;
962
+ // No type attribute at all: the HTML default is submit, but only inside a
963
+ // form. Outside one a bare <button> does nothing by default, so the form
964
+ // ancestor is required for this branch and not for the one above.
965
+ return el.tag === "button" && el.typeAttr === "" && el.formIndex >= 0;
966
+ }
967
+ export function detectCTAs(raw) {
837
968
  const ctas = [];
838
- const ctaKeywords = /\b(sign up|get started|try|start|buy|subscribe|download|join|register|book|order|contact|learn more|shop now|explore)\b/i;
969
+ /**
970
+ * Two vocabularies, and the second one was missing entirely.
971
+ *
972
+ * The original list is MARKETING language -- sign up, get started, buy,
973
+ * subscribe, learn more. That is what a landing page says. It is not what a
974
+ * form says, and a form's button is the most literal call to action there is.
975
+ *
976
+ * `ctaCount: 0` was reported on a page carrying a program-finder with three
977
+ * selects and a submit button. Re-testing at full_page scope explained part
978
+ * of it -- /academics went 0 to 6 -- and left the homepage at 1. The button
979
+ * is `<button>Submit</button>`: no type attribute, no <form> ancestor, so it
980
+ * declares nothing structurally and only its LABEL says what it does.
981
+ *
982
+ * Added verbs are ones that complete a task rather than describe one.
983
+ * Deliberately excluded: go, view, see, browse, more. Each matches a large
984
+ * share of ordinary link text and would trade a false negative for a flood of
985
+ * false positives. (2026-08-03, BUG-19)
986
+ */
987
+ const ctaKeywords = /\b(sign up|get started|try|start|buy|subscribe|download|join|register|book|order|contact|learn more|shop now|explore|submit|search|apply|send|continue|enroll|checkout|check out|add to cart|schedule|donate|request info|sign in|log in)\b/i;
988
+ const disclosureLabels = /\b(toggle|expand|collapse|open menu|close|dismiss|show more|hide|previous|next slide|pause|play)\b/i;
839
989
  for (const el of raw.interactiveElements) {
840
990
  if (el.disabled)
841
991
  continue;
842
- const text = el.text.trim();
992
+ // aria-label is a real label; an icon-only submit has nothing else.
993
+ const text = (el.text || el.ariaLabel || "").trim();
843
994
  if (!text || text.length > 60)
844
995
  continue;
845
- // Check if element text matches CTA patterns
846
- if (!ctaKeywords.test(text))
996
+ // A disclosure control is never a call to action, whatever verb it uses.
997
+ // "search toggle" opens a search box; it does not perform a search. Without
998
+ // this, widening the vocabulary to include `search` turned every header
999
+ // toggle into a conversion point.
1000
+ if (disclosureLabels.test(text))
1001
+ continue;
1002
+ // TWO independent signals, not one. Language, or structural role.
1003
+ const byKeyword = ctaKeywords.test(text);
1004
+ const bySubmit = isFormSubmitControl(el);
1005
+ if (!byKeyword && !bySubmit)
847
1006
  continue;
848
1007
  const selector = buildSelector(el);
849
1008
  const type = el.tag === "a" ? "link" : "button";
@@ -861,6 +1020,10 @@ function detectCTAs(raw) {
861
1020
  else if (String(el.className ?? "").toLowerCase().match(/\b(primary|cta)\b/)) {
862
1021
  prominence = "secondary";
863
1022
  }
1023
+ // A submit control that ALSO reads like marketing copy is the strongest
1024
+ // signal there is; one that only submits is still a call to action.
1025
+ if (bySubmit && prominence === "tertiary")
1026
+ prominence = "secondary";
864
1027
  ctas.push({ selector, text, prominence, type });
865
1028
  }
866
1029
  // Sort: primary first, then secondary, then tertiary
@@ -960,6 +1123,10 @@ function computeRelationships(raw, structure) {
960
1123
  // Selector builders
961
1124
  // ============================================================================
962
1125
  function buildSelector(el) {
1126
+ // Verified unique in the page it came from — nothing computed out here can
1127
+ // beat a selector that was checked against the live document.
1128
+ if (el.uniqueSelector)
1129
+ return el.uniqueSelector;
963
1130
  if (el.id)
964
1131
  return `#${cssEscape(el.id)}`;
965
1132
  if (el.role && el.ariaLabel)
@@ -1 +1 @@
1
- {"version":3,"file":"page-understanding.js","sourceRoot":"","sources":["../../src/analysis/page-understanding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-understanding.js","sourceRoot":"","sources":["../../src/analysis/page-understanding.ts"],"names":[],"mappings":"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"}
@@ -26,12 +26,26 @@
26
26
  * @license MIT
27
27
  */
28
28
  /**
29
- * The directory nginx serves at `/heatmaps/`. Overridable so tests never write
30
- * into the production served root.
29
+ * Resolved per call, NOT captured at import.
30
+ *
31
+ * These were `export const`, read once when the module was first evaluated. The
32
+ * override then worked or not depending on whether anything else in the process
33
+ * had imported this file first -- which in a test run is decided by file order,
34
+ * something no test controls. tests/artifact-url.test.ts documented the hazard
35
+ * in a comment and worked around it rather than removing it.
36
+ *
37
+ * The workaround held only because this box runs the suite as root, so a write
38
+ * that escaped to the production default succeeded anyway. On a CI runner the
39
+ * same escape is EACCES, `writeArtifact` returns null, and three tests fail --
40
+ * which is what blocked 25 consecutive releases from 2026-08-03. A green suite
41
+ * that is green because of an ambient privilege is not evidence.
42
+ *
43
+ * Reading the variable at call time makes the override authoritative in every
44
+ * import order, and makes the tests hermetic instead of order-dependent.
31
45
  */
32
- export declare const ARTIFACT_DIR: string;
33
- /** Public origin the artifact directory is exposed under. */
34
- export declare const ARTIFACT_BASE_URL: string;
46
+ export declare function artifactDir(): string;
47
+ /** Public origin the artifact directory is exposed under. Resolved per call. */
48
+ export declare function artifactBaseUrl(): string;
35
49
  export interface WrittenArtifact {
36
50
  /** Absolute path on disk. */
37
51
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-store.d.ts","sourceRoot":"","sources":["../src/artifact-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH;;;GAGG;AACH,eAAO,MAAM,YAAY,QAC+C,CAAC;AAEzE,6DAA6D;AAC7D,eAAO,MAAM,iBAAiB,QAC4C,CAAC;AAE3E,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,IAAI,CAUxB;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpD"}
1
+ {"version":3,"file":"artifact-store.d.ts","sourceRoot":"","sources":["../src/artifact-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAWH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,gFAAgF;AAChF,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,IAAI,CAoBxB;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpD"}
@@ -27,13 +27,35 @@
27
27
  */
28
28
  import { writeFileSync, mkdirSync, existsSync } from "fs";
29
29
  import { join } from "path";
30
+ /** The directory nginx serves at `/heatmaps/`, when nothing overrides it. */
31
+ const DEFAULT_ARTIFACT_DIR = "/var/www/cbrowser-data/heatmaps";
32
+ /** Public origin that directory is exposed under, when nothing overrides it. */
33
+ const DEFAULT_ARTIFACT_BASE_URL = "https://cbrowser.ai/heatmaps";
30
34
  /**
31
- * The directory nginx serves at `/heatmaps/`. Overridable so tests never write
32
- * into the production served root.
35
+ * Resolved per call, NOT captured at import.
36
+ *
37
+ * These were `export const`, read once when the module was first evaluated. The
38
+ * override then worked or not depending on whether anything else in the process
39
+ * had imported this file first -- which in a test run is decided by file order,
40
+ * something no test controls. tests/artifact-url.test.ts documented the hazard
41
+ * in a comment and worked around it rather than removing it.
42
+ *
43
+ * The workaround held only because this box runs the suite as root, so a write
44
+ * that escaped to the production default succeeded anyway. On a CI runner the
45
+ * same escape is EACCES, `writeArtifact` returns null, and three tests fail --
46
+ * which is what blocked 25 consecutive releases from 2026-08-03. A green suite
47
+ * that is green because of an ambient privilege is not evidence.
48
+ *
49
+ * Reading the variable at call time makes the override authoritative in every
50
+ * import order, and makes the tests hermetic instead of order-dependent.
33
51
  */
34
- export const ARTIFACT_DIR = process.env.CBROWSER_ARTIFACT_DIR || "/var/www/cbrowser-data/heatmaps";
35
- /** Public origin the artifact directory is exposed under. */
36
- export const ARTIFACT_BASE_URL = process.env.CBROWSER_ARTIFACT_BASE_URL || "https://cbrowser.ai/heatmaps";
52
+ export function artifactDir() {
53
+ return process.env.CBROWSER_ARTIFACT_DIR || DEFAULT_ARTIFACT_DIR;
54
+ }
55
+ /** Public origin the artifact directory is exposed under. Resolved per call. */
56
+ export function artifactBaseUrl() {
57
+ return process.env.CBROWSER_ARTIFACT_BASE_URL || DEFAULT_ARTIFACT_BASE_URL;
58
+ }
37
59
  /**
38
60
  * Write bytes into the served artifact directory and return both the on-disk
39
61
  * path and the URL that serves it.
@@ -44,20 +66,28 @@ export const ARTIFACT_BASE_URL = process.env.CBROWSER_ARTIFACT_BASE_URL || "http
44
66
  * written is the defect this module exists to end.
45
67
  */
46
68
  export function writeArtifact(data, filename) {
69
+ const dir = artifactDir();
47
70
  try {
48
- if (!existsSync(ARTIFACT_DIR))
49
- mkdirSync(ARTIFACT_DIR, { recursive: true });
71
+ if (!existsSync(dir))
72
+ mkdirSync(dir, { recursive: true });
50
73
  const safe = filename.replace(/[^a-zA-Z0-9._-]+/g, "-");
51
- const path = join(ARTIFACT_DIR, safe);
74
+ const path = join(dir, safe);
52
75
  writeFileSync(path, typeof data === "string" ? Buffer.from(data, "base64") : data);
53
- return { path, url: `${ARTIFACT_BASE_URL}/${safe}`, filename: safe };
76
+ return { path, url: `${artifactBaseUrl()}/${safe}`, filename: safe };
54
77
  }
55
- catch {
78
+ catch (err) {
79
+ // Say WHY, and say WHERE. Swallowing this is how the original defect
80
+ // survived ten days: every caller saw a bare null and reported "no
81
+ // artifact", which reads as "nothing to show" rather than "the write
82
+ // failed". A silent null is the same class of defect as a URL to a file
83
+ // that was never written -- both hide the failure from whoever could fix
84
+ // it. stderr, not the tool payload, so a customer response is unaffected.
85
+ console.error(`[artifact-store] write failed: ${filename} -> ${dir}: ${err.message}`);
56
86
  return null;
57
87
  }
58
88
  }
59
89
  /** URL for a filename already known to live in the artifact directory. */
60
90
  export function artifactUrl(filename) {
61
- return `${ARTIFACT_BASE_URL}/${filename.replace(/[^a-zA-Z0-9._-]+/g, "-")}`;
91
+ return `${artifactBaseUrl()}/${filename.replace(/[^a-zA-Z0-9._-]+/g, "-")}`;
62
92
  }
63
93
  //# sourceMappingURL=artifact-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-store.js","sourceRoot":"","sources":["../src/artifact-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GACvB,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,iCAAiC,CAAC;AAEzE,6DAA6D;AAC7D,MAAM,CAAC,MAAM,iBAAiB,GAC5B,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,8BAA8B,CAAC;AAW3E;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAqB,EACrB,QAAgB;IAEhB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACtC,aAAa,CAAC,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,GAAG,iBAAiB,IAAI,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"artifact-store.js","sourceRoot":"","sources":["../src/artifact-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,6EAA6E;AAC7E,MAAM,oBAAoB,GAAG,iCAAiC,CAAC;AAE/D,gFAAgF;AAChF,MAAM,yBAAyB,GAAG,8BAA8B,CAAC;AAEjE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,oBAAoB,CAAC;AACnE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe;IAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,yBAAyB,CAAC;AAC7E,CAAC;AAWD;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAqB,EACrB,QAAgB;IAEhB,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7B,aAAa,CAAC,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,eAAe,EAAE,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qEAAqE;QACrE,mEAAmE;QACnE,qEAAqE;QACrE,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,OAAO,CAAC,KAAK,CACX,kCAAkC,QAAQ,OAAO,GAAG,KAAM,GAAa,CAAC,OAAO,EAAE,CAClF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,GAAG,eAAe,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC;AAC9E,CAAC"}
package/dist/browser.d.ts CHANGED
@@ -25,6 +25,15 @@ export interface ScreenshotOptions {
25
25
  scale?: number;
26
26
  /** Target max file size in bytes - will auto-adjust quality/scale if needed */
27
27
  maxSize?: number;
28
+ /**
29
+ * Never resize the viewport to hit the size budget; drop quality instead.
30
+ *
31
+ * The compression loop shrinks files by calling setViewportSize, which
32
+ * reflows the page for real -- it can cross responsive breakpoints, and
33
+ * during a screen capture it puts a resize into the recording. Callers that
34
+ * own the viewport (a running capture) set this so the page is left alone.
35
+ */
36
+ noResize?: boolean;
28
37
  /** Full page screenshot (default: false) */
29
38
  fullPage?: boolean;
30
39
  /**