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.
- package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
- package/dist/analysis/accessibility-empathy.js +395 -66
- package/dist/analysis/accessibility-empathy.js.map +1 -1
- package/dist/analysis/agent-ready-audit.d.ts.map +1 -1
- package/dist/analysis/agent-ready-audit.js +78 -0
- package/dist/analysis/agent-ready-audit.js.map +1 -1
- package/dist/analysis/page-understanding.d.ts +139 -1
- package/dist/analysis/page-understanding.d.ts.map +1 -1
- package/dist/analysis/page-understanding.js +179 -12
- package/dist/analysis/page-understanding.js.map +1 -1
- package/dist/artifact-store.d.ts +19 -5
- package/dist/artifact-store.d.ts.map +1 -1
- package/dist/artifact-store.js +41 -11
- package/dist/artifact-store.js.map +1 -1
- package/dist/browser.d.ts +9 -0
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +81 -5
- package/dist/browser.js.map +1 -1
- package/dist/cli.js +55 -10
- package/dist/cli.js.map +1 -1
- package/dist/cognitive/index.d.ts.map +1 -1
- package/dist/cognitive/index.js +3 -2
- package/dist/cognitive/index.js.map +1 -1
- package/dist/config.d.ts +57 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +234 -7
- package/dist/config.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-server-remote.d.ts.map +1 -1
- package/dist/mcp-server-remote.js +108 -4
- package/dist/mcp-server-remote.js.map +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +62 -938
- package/dist/mcp-server.js.map +1 -1
- package/dist/mcp-tools/account-personas.d.ts +41 -0
- package/dist/mcp-tools/account-personas.d.ts.map +1 -0
- package/dist/mcp-tools/account-personas.js +98 -0
- package/dist/mcp-tools/account-personas.js.map +1 -0
- package/dist/mcp-tools/base/analysis-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/analysis-tools.js +12 -2
- package/dist/mcp-tools/base/analysis-tools.js.map +1 -1
- package/dist/mcp-tools/base/artifact-tools.d.ts +3 -0
- package/dist/mcp-tools/base/artifact-tools.d.ts.map +1 -0
- package/dist/mcp-tools/base/artifact-tools.js +78 -0
- package/dist/mcp-tools/base/artifact-tools.js.map +1 -0
- package/dist/mcp-tools/base/audit-tools.d.ts +11 -0
- package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/audit-tools.js +595 -340
- package/dist/mcp-tools/base/audit-tools.js.map +1 -1
- package/dist/mcp-tools/base/browser-management-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/browser-management-tools.js +18 -0
- package/dist/mcp-tools/base/browser-management-tools.js.map +1 -1
- package/dist/mcp-tools/base/bug-analysis-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/bug-analysis-tools.js +59 -3
- package/dist/mcp-tools/base/bug-analysis-tools.js.map +1 -1
- package/dist/mcp-tools/base/capture-tools.d.ts +37 -0
- package/dist/mcp-tools/base/capture-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/capture-tools.js +267 -6
- package/dist/mcp-tools/base/capture-tools.js.map +1 -1
- package/dist/mcp-tools/base/cognitive-tools.d.ts +12 -0
- package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/cognitive-tools.js +63 -15
- package/dist/mcp-tools/base/cognitive-tools.js.map +1 -1
- package/dist/mcp-tools/base/extraction-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/extraction-tools.js +33 -2
- package/dist/mcp-tools/base/extraction-tools.js.map +1 -1
- package/dist/mcp-tools/base/index.d.ts +2 -0
- package/dist/mcp-tools/base/index.d.ts.map +1 -1
- package/dist/mcp-tools/base/index.js +9 -0
- package/dist/mcp-tools/base/index.js.map +1 -1
- package/dist/mcp-tools/base/marketing-tools.js +3 -3
- package/dist/mcp-tools/base/marketing-tools.js.map +1 -1
- package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/persona-comparison-tools.js +529 -40
- package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
- package/dist/mcp-tools/base/site-knowledge-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/site-knowledge-tools.js +36 -3
- package/dist/mcp-tools/base/site-knowledge-tools.js.map +1 -1
- package/dist/mcp-tools/base/values-tools.d.ts +113 -0
- package/dist/mcp-tools/base/values-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/values-tools.js +868 -78
- package/dist/mcp-tools/base/values-tools.js.map +1 -1
- package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/visual-testing-tools.js +130 -10
- package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
- package/dist/mcp-tools/index.d.ts +3 -1
- package/dist/mcp-tools/index.d.ts.map +1 -1
- package/dist/mcp-tools/index.js +3 -28
- package/dist/mcp-tools/index.js.map +1 -1
- package/dist/mcp-tools/persona-creation-tools.d.ts.map +1 -1
- package/dist/mcp-tools/persona-creation-tools.js +363 -20
- package/dist/mcp-tools/persona-creation-tools.js.map +1 -1
- package/dist/mcp-tools/persona-lifecycle-tools.d.ts +3 -0
- package/dist/mcp-tools/persona-lifecycle-tools.d.ts.map +1 -0
- package/dist/mcp-tools/persona-lifecycle-tools.js +406 -0
- package/dist/mcp-tools/persona-lifecycle-tools.js.map +1 -0
- package/dist/mcp-tools/screenshot-utils.d.ts.map +1 -1
- package/dist/mcp-tools/screenshot-utils.js +56 -10
- package/dist/mcp-tools/screenshot-utils.js.map +1 -1
- package/dist/mcp-tools/tier-gate.js +2 -2
- package/dist/mcp-tools/tier-gate.js.map +1 -1
- package/dist/mcp-tools/tool-categories.d.ts.map +1 -1
- package/dist/mcp-tools/tool-categories.js +4 -1
- package/dist/mcp-tools/tool-categories.js.map +1 -1
- package/dist/mcp-tools/ui-resources.d.ts +167 -0
- package/dist/mcp-tools/ui-resources.d.ts.map +1 -0
- package/dist/mcp-tools/ui-resources.js +707 -0
- package/dist/mcp-tools/ui-resources.js.map +1 -0
- package/dist/mcp-tools/widget-kit.d.ts +299 -0
- package/dist/mcp-tools/widget-kit.d.ts.map +1 -0
- package/dist/mcp-tools/widget-kit.js +2034 -0
- package/dist/mcp-tools/widget-kit.js.map +1 -0
- package/dist/mcp-ui-resources.d.ts.map +1 -1
- package/dist/mcp-ui-resources.js +14 -4
- package/dist/mcp-ui-resources.js.map +1 -1
- package/dist/persona-questionnaire.d.ts +69 -1
- package/dist/persona-questionnaire.d.ts.map +1 -1
- package/dist/persona-questionnaire.js +177 -76
- package/dist/persona-questionnaire.js.map +1 -1
- package/dist/persona-scope.d.ts +20 -0
- package/dist/persona-scope.d.ts.map +1 -0
- package/dist/persona-scope.js +59 -0
- package/dist/persona-scope.js.map +1 -0
- package/dist/personas.d.ts +51 -17
- package/dist/personas.d.ts.map +1 -1
- package/dist/personas.js +947 -286
- package/dist/personas.js.map +1 -1
- package/dist/recording/capture-player.d.ts +68 -0
- package/dist/recording/capture-player.d.ts.map +1 -0
- package/dist/recording/capture-player.js +298 -0
- package/dist/recording/capture-player.js.map +1 -0
- package/dist/recording/engine.d.ts +52 -0
- package/dist/recording/engine.d.ts.map +1 -1
- package/dist/recording/engine.js +241 -3
- package/dist/recording/engine.js.map +1 -1
- package/dist/recording/inline-player.d.ts +39 -0
- package/dist/recording/inline-player.d.ts.map +1 -0
- package/dist/recording/inline-player.js +272 -0
- package/dist/recording/inline-player.js.map +1 -0
- package/dist/recording/saliency-overlay.d.ts +133 -0
- package/dist/recording/saliency-overlay.d.ts.map +1 -0
- package/dist/recording/saliency-overlay.js +360 -0
- package/dist/recording/saliency-overlay.js.map +1 -0
- package/dist/recording/types.d.ts +32 -0
- package/dist/recording/types.d.ts.map +1 -1
- package/dist/recording/types.js +46 -0
- package/dist/recording/types.js.map +1 -1
- package/dist/site-model/manager.d.ts +20 -0
- package/dist/site-model/manager.d.ts.map +1 -1
- package/dist/site-model/manager.js +52 -0
- package/dist/site-model/manager.js.map +1 -1
- package/dist/trait-reference.d.ts +26 -2
- package/dist/trait-reference.d.ts.map +1 -1
- package/dist/trait-reference.js +129 -19
- package/dist/trait-reference.js.map +1 -1
- package/dist/types.d.ts +105 -18
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/url-resolution.d.ts +58 -0
- package/dist/url-resolution.d.ts.map +1 -0
- package/dist/url-resolution.js +143 -0
- package/dist/url-resolution.js.map +1 -0
- package/dist/values/big-five-inference.d.ts +121 -0
- package/dist/values/big-five-inference.d.ts.map +1 -0
- package/dist/values/big-five-inference.js +241 -0
- package/dist/values/big-five-inference.js.map +1 -0
- package/dist/values/big-five-values.d.ts +76 -0
- package/dist/values/big-five-values.d.ts.map +1 -0
- package/dist/values/big-five-values.js +152 -0
- package/dist/values/big-five-values.js.map +1 -0
- package/dist/values/index.d.ts +1 -1
- package/dist/values/index.d.ts.map +1 -1
- package/dist/values/index.js +1 -1
- package/dist/values/index.js.map +1 -1
- package/dist/values/persona-completeness.d.ts +91 -0
- package/dist/values/persona-completeness.d.ts.map +1 -0
- package/dist/values/persona-completeness.js +114 -0
- package/dist/values/persona-completeness.js.map +1 -0
- package/dist/values/persona-diff.d.ts +50 -0
- package/dist/values/persona-diff.d.ts.map +1 -0
- package/dist/values/persona-diff.js +126 -0
- package/dist/values/persona-diff.js.map +1 -0
- package/dist/values/persona-values.d.ts +16 -0
- package/dist/values/persona-values.d.ts.map +1 -1
- package/dist/values/persona-values.js +33 -0
- package/dist/values/persona-values.js.map +1 -1
- package/dist/values/schwartz-values.d.ts +9 -1
- package/dist/values/schwartz-values.d.ts.map +1 -1
- package/dist/values/schwartz-values.js +10 -2
- package/dist/values/schwartz-values.js.map +1 -1
- package/dist/values/value-mappings.d.ts +41 -2
- package/dist/values/value-mappings.d.ts.map +1 -1
- package/dist/values/value-mappings.js +65 -8
- package/dist/values/value-mappings.js.map +1 -1
- package/dist/visual/attention-quality.d.ts +27 -0
- package/dist/visual/attention-quality.d.ts.map +1 -1
- package/dist/visual/attention-quality.js +164 -2
- package/dist/visual/attention-quality.js.map +1 -1
- package/dist/visual/attention-transport.d.ts +41 -2
- package/dist/visual/attention-transport.d.ts.map +1 -1
- package/dist/visual/attention-transport.js +98 -26
- package/dist/visual/attention-transport.js.map +1 -1
- package/dist/visual/barrier-overlay-html.d.ts +10 -0
- package/dist/visual/barrier-overlay-html.d.ts.map +1 -1
- package/dist/visual/barrier-overlay-html.js.map +1 -1
- package/dist/visual/cognitive-models.d.ts +109 -13
- package/dist/visual/cognitive-models.d.ts.map +1 -1
- package/dist/visual/cognitive-models.js +166 -3
- package/dist/visual/cognitive-models.js.map +1 -1
- package/dist/visual/cognitive-transport-chain.d.ts +149 -5
- package/dist/visual/cognitive-transport-chain.d.ts.map +1 -1
- package/dist/visual/cognitive-transport-chain.js +558 -30
- package/dist/visual/cognitive-transport-chain.js.map +1 -1
- package/dist/visual/cognitive-transport.d.ts +45 -3
- package/dist/visual/cognitive-transport.d.ts.map +1 -1
- package/dist/visual/cognitive-transport.js +126 -12
- package/dist/visual/cognitive-transport.js.map +1 -1
- package/dist/visual/fixation-corpus.d.ts +52 -0
- package/dist/visual/fixation-corpus.d.ts.map +1 -1
- package/dist/visual/fixation-corpus.js +95 -0
- package/dist/visual/fixation-corpus.js.map +1 -1
- package/dist/visual/llm-relevance.d.ts +193 -0
- package/dist/visual/llm-relevance.d.ts.map +1 -0
- package/dist/visual/llm-relevance.js +480 -0
- package/dist/visual/llm-relevance.js.map +1 -0
- package/dist/visual/perceptual-transport.d.ts +60 -0
- package/dist/visual/perceptual-transport.d.ts.map +1 -1
- package/dist/visual/perceptual-transport.js +228 -19
- package/dist/visual/perceptual-transport.js.map +1 -1
- package/dist/visual/persona-context.d.ts +23 -0
- package/dist/visual/persona-context.d.ts.map +1 -0
- package/dist/visual/persona-context.js +44 -0
- package/dist/visual/persona-context.js.map +1 -0
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
846
|
-
|
|
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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"}
|
package/dist/artifact-store.d.ts
CHANGED
|
@@ -26,12 +26,26 @@
|
|
|
26
26
|
* @license MIT
|
|
27
27
|
*/
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
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
|
|
33
|
-
/** Public origin the artifact directory is exposed under. */
|
|
34
|
-
export declare
|
|
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;
|
|
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"}
|
package/dist/artifact-store.js
CHANGED
|
@@ -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
|
-
*
|
|
32
|
-
*
|
|
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
|
|
35
|
-
|
|
36
|
-
|
|
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(
|
|
49
|
-
mkdirSync(
|
|
71
|
+
if (!existsSync(dir))
|
|
72
|
+
mkdirSync(dir, { recursive: true });
|
|
50
73
|
const safe = filename.replace(/[^a-zA-Z0-9._-]+/g, "-");
|
|
51
|
-
const path = join(
|
|
74
|
+
const path = join(dir, safe);
|
|
52
75
|
writeFileSync(path, typeof data === "string" ? Buffer.from(data, "base64") : data);
|
|
53
|
-
return { path, url: `${
|
|
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 `${
|
|
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
|
|
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
|
/**
|