cbrowser 18.55.0 → 18.56.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/README.md +4 -4
- package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
- package/dist/analysis/accessibility-empathy.js +4 -34
- 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 +37 -32
- package/dist/analysis/agent-ready-audit.js.map +1 -1
- package/dist/analysis/competitive-benchmark.d.ts.map +1 -1
- package/dist/analysis/competitive-benchmark.js +4 -13
- package/dist/analysis/competitive-benchmark.js.map +1 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +97 -46
- package/dist/browser.js.map +1 -1
- package/dist/cli.js +90 -1
- package/dist/cli.js.map +1 -1
- package/dist/mcp-server-remote.d.ts.map +1 -1
- package/dist/mcp-server-remote.js +93 -118
- package/dist/mcp-server-remote.js.map +1 -1
- package/dist/mcp-tools/base/advanced-interaction-tools.d.ts +14 -0
- package/dist/mcp-tools/base/advanced-interaction-tools.d.ts.map +1 -0
- package/dist/mcp-tools/base/advanced-interaction-tools.js +174 -0
- package/dist/mcp-tools/base/advanced-interaction-tools.js.map +1 -0
- package/dist/mcp-tools/base/audit-tools.d.ts +3 -3
- package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/audit-tools.js +172 -47
- 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 +62 -0
- package/dist/mcp-tools/base/browser-management-tools.js.map +1 -1
- package/dist/mcp-tools/base/browser-state-tools.d.ts +14 -0
- package/dist/mcp-tools/base/browser-state-tools.d.ts.map +1 -0
- package/dist/mcp-tools/base/browser-state-tools.js +229 -0
- package/dist/mcp-tools/base/browser-state-tools.js.map +1 -0
- package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/cognitive-tools.js +10 -5
- package/dist/mcp-tools/base/cognitive-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 +10 -2
- package/dist/mcp-tools/base/index.js.map +1 -1
- package/dist/mcp-tools/base/navigation-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/navigation-tools.js +9 -2
- package/dist/mcp-tools/base/navigation-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 +27 -2
- package/dist/mcp-tools/base/persona-comparison-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 +3 -1
- package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
- package/dist/mcp-tools/tool-categories.d.ts.map +1 -1
- package/dist/mcp-tools/tool-categories.js +12 -0
- package/dist/mcp-tools/tool-categories.js.map +1 -1
- package/dist/remediation/llms-txt.js +4 -14
- package/dist/remediation/llms-txt.js.map +1 -1
- package/dist/remediation/structured-data.js +4 -13
- package/dist/remediation/structured-data.js.map +1 -1
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1581,6 +1581,81 @@ Documentation: https://github.com/alexandriashai/cbrowser/wiki
|
|
|
1581
1581
|
}
|
|
1582
1582
|
break;
|
|
1583
1583
|
}
|
|
1584
|
+
case "type": {
|
|
1585
|
+
const text = args[0];
|
|
1586
|
+
if (!text) {
|
|
1587
|
+
console.error("Usage: cbrowser type \"text to type\" [--delay <ms>]");
|
|
1588
|
+
process.exit(1);
|
|
1589
|
+
}
|
|
1590
|
+
if (options.url)
|
|
1591
|
+
await browser.navigate(options.url);
|
|
1592
|
+
const page = await browser.getPage();
|
|
1593
|
+
const delay = typeof options.delay === "number" ? options.delay : 50;
|
|
1594
|
+
await page.keyboard.type(text, { delay });
|
|
1595
|
+
console.log(`✓ Typed ${text.length} characters`);
|
|
1596
|
+
break;
|
|
1597
|
+
}
|
|
1598
|
+
case "press": {
|
|
1599
|
+
const key = args[0];
|
|
1600
|
+
if (!key) {
|
|
1601
|
+
console.error("Usage: cbrowser press <key> (e.g., Enter, Tab, Escape, Control+a)");
|
|
1602
|
+
process.exit(1);
|
|
1603
|
+
}
|
|
1604
|
+
if (options.url)
|
|
1605
|
+
await browser.navigate(options.url);
|
|
1606
|
+
const page = await browser.getPage();
|
|
1607
|
+
await page.keyboard.press(key);
|
|
1608
|
+
console.log(`✓ Pressed ${key}`);
|
|
1609
|
+
break;
|
|
1610
|
+
}
|
|
1611
|
+
case "drag": {
|
|
1612
|
+
const source = args[0];
|
|
1613
|
+
const target = args[1];
|
|
1614
|
+
if (!source || !target) {
|
|
1615
|
+
console.error("Usage: cbrowser drag <source-selector> <target-selector>");
|
|
1616
|
+
process.exit(1);
|
|
1617
|
+
}
|
|
1618
|
+
if (options.url)
|
|
1619
|
+
await browser.navigate(options.url);
|
|
1620
|
+
const page = await browser.getPage();
|
|
1621
|
+
await page.dragAndDrop(source, target);
|
|
1622
|
+
console.log(`✓ Dragged ${source} → ${target}`);
|
|
1623
|
+
break;
|
|
1624
|
+
}
|
|
1625
|
+
case "eval":
|
|
1626
|
+
case "evaluate": {
|
|
1627
|
+
const script = args[0];
|
|
1628
|
+
if (!script) {
|
|
1629
|
+
console.error("Usage: cbrowser eval \"<javascript>\"");
|
|
1630
|
+
process.exit(1);
|
|
1631
|
+
}
|
|
1632
|
+
if (options.url)
|
|
1633
|
+
await browser.navigate(options.url);
|
|
1634
|
+
const page = await browser.getPage();
|
|
1635
|
+
try {
|
|
1636
|
+
const evalResult = await page.evaluate(script);
|
|
1637
|
+
console.log(typeof evalResult === "string" ? evalResult : JSON.stringify(evalResult, null, 2));
|
|
1638
|
+
}
|
|
1639
|
+
catch (e) {
|
|
1640
|
+
console.error(`✗ ${e.message}`);
|
|
1641
|
+
process.exit(1);
|
|
1642
|
+
}
|
|
1643
|
+
break;
|
|
1644
|
+
}
|
|
1645
|
+
case "upload": {
|
|
1646
|
+
const selector = args[0];
|
|
1647
|
+
const filePath = args[1];
|
|
1648
|
+
if (!selector || !filePath) {
|
|
1649
|
+
console.error("Usage: cbrowser upload <selector> <file-path>");
|
|
1650
|
+
process.exit(1);
|
|
1651
|
+
}
|
|
1652
|
+
if (options.url)
|
|
1653
|
+
await browser.navigate(options.url);
|
|
1654
|
+
const page = await browser.getPage();
|
|
1655
|
+
await page.locator(selector).setInputFiles(filePath);
|
|
1656
|
+
console.log(`✓ Uploaded ${filePath} to ${selector}`);
|
|
1657
|
+
break;
|
|
1658
|
+
}
|
|
1584
1659
|
case "fill": {
|
|
1585
1660
|
const selector = args[0];
|
|
1586
1661
|
const value = args[1];
|
|
@@ -4847,10 +4922,24 @@ Documentation: https://github.com/alexandriashai/cbrowser/wiki
|
|
|
4847
4922
|
console.error("Run 'cbrowser lightpanda-setup' for instructions.");
|
|
4848
4923
|
process.exit(1);
|
|
4849
4924
|
}
|
|
4850
|
-
|
|
4925
|
+
// Resolve geo proxy if --geo-region is specified
|
|
4926
|
+
const geoRegion = options["geo-region"];
|
|
4927
|
+
let auditProxy;
|
|
4928
|
+
if (geoRegion) {
|
|
4929
|
+
const { getGeoProxy } = await import("./geo-proxy.js");
|
|
4930
|
+
const geoProxy = getGeoProxy(geoRegion);
|
|
4931
|
+
if (geoProxy) {
|
|
4932
|
+
auditProxy = { server: geoProxy.server, username: geoProxy.username, password: geoProxy.password };
|
|
4933
|
+
}
|
|
4934
|
+
else {
|
|
4935
|
+
console.error(`Warning: geo-region "${geoRegion}" not configured. Run without proxy.`);
|
|
4936
|
+
}
|
|
4937
|
+
}
|
|
4938
|
+
console.log(`\n🤖 Running Agent-Ready Audit on ${url}...${useLightpanda ? " (with Lightpanda)" : ""}${geoRegion ? ` (via ${geoRegion})` : ""}\n`);
|
|
4851
4939
|
const result = await runAgentReadyAudit(url, {
|
|
4852
4940
|
headless,
|
|
4853
4941
|
useLightpanda,
|
|
4942
|
+
...(auditProxy ? { proxy: auditProxy } : {}),
|
|
4854
4943
|
});
|
|
4855
4944
|
// Print formatted report
|
|
4856
4945
|
const report = formatAgentReadyReport(result);
|