cbrowser 18.12.0 → 18.13.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/browser.d.ts +29 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +96 -2
- package/dist/browser.js.map +1 -1
- package/dist/mcp-tools/base/extraction-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/extraction-tools.js +2 -1
- package/dist/mcp-tools/base/extraction-tools.js.map +1 -1
- package/dist/mcp-tools/index.d.ts +1 -1
- package/dist/mcp-tools/index.d.ts.map +1 -1
- package/dist/mcp-tools/index.js +1 -1
- package/dist/mcp-tools/index.js.map +1 -1
- package/dist/mcp-tools/screenshot-utils.d.ts +30 -0
- package/dist/mcp-tools/screenshot-utils.d.ts.map +1 -1
- package/dist/mcp-tools/screenshot-utils.js +70 -0
- package/dist/mcp-tools/screenshot-utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -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,EAAE,uBAAuB,GACtC,IAAI,
|
|
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,EAAE,uBAAuB,GACtC,IAAI,CAoCN"}
|
|
@@ -10,10 +10,11 @@ import { buildContentWithScreenshots } from "../screenshot-utils.js";
|
|
|
10
10
|
* Register extraction tools (2 tools: screenshot, extract)
|
|
11
11
|
*/
|
|
12
12
|
export function registerExtractionTools(server, { getBrowser }) {
|
|
13
|
-
server.tool("screenshot", "Take a screenshot of the current page", {
|
|
13
|
+
server.tool("screenshot", "Take a screenshot of the current page. In remote mode, screenshots are automatically compressed to JPEG to stay under Claude.ai's 200KB limit.", {
|
|
14
14
|
path: z.string().optional().describe("Optional path to save the screenshot"),
|
|
15
15
|
}, async ({ path }) => {
|
|
16
16
|
const b = await getBrowser();
|
|
17
|
+
// Compression is automatic in remote mode (handled by browser.screenshot())
|
|
17
18
|
const file = await b.screenshot(path);
|
|
18
19
|
return {
|
|
19
20
|
content: buildContentWithScreenshots({ screenshot: file }, file),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraction-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/extraction-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAiB,EACjB,EAAE,UAAU,EAA2B;IAEvC,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"extraction-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/extraction-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAiB,EACjB,EAAE,UAAU,EAA2B;IAEvC,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,gJAAgJ,EAChJ;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KAC7E,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACjB,MAAM,CAAC,GAAG,MAAM,UAAU,EAAE,CAAC;QAC7B,4EAA4E;QAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO;YACL,OAAO,EAAE,2BAA2B,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC;SACjE,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,SAAS,EACT,4BAA4B,EAC5B;QACE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KAC3F,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACjB,MAAM,CAAC,GAAG,MAAM,UAAU,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC3C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* @license MIT
|
|
27
27
|
*/
|
|
28
28
|
export type { McpServer, CBrowser, ToolRegistrationContext } from "./types.js";
|
|
29
|
-
export { setRemoteMode, getRemoteMode, transformResponseForRemote, } from "./screenshot-utils.js";
|
|
29
|
+
export { setRemoteMode, getRemoteMode, transformResponseForRemote, MAX_RESPONSE_SIZE, } from "./screenshot-utils.js";
|
|
30
30
|
export { registerBaseTools } from "./base/index.js";
|
|
31
31
|
export { registerNavigationTools, registerInteractionTools, registerExtractionTools, registerAssertionTools, registerAnalysisTools, registerSessionTools, registerHealingTools, registerVisualTestingTools, registerTestingTools, registerBugAnalysisTools, registerPersonaComparisonTools, registerCognitiveTools, registerValuesTools, registerPerformanceTools, registerAuditTools, registerBrowserManagementTools, registerSecurityTools, registerMarketingTools, } from "./base/index.js";
|
|
32
32
|
export { registerPersonaCreationTools } from "./persona-creation-tools.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAG/E,OAAO,EACL,aAAa,EACb,aAAa,EACb,0BAA0B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAG/E,OAAO,EACL,aAAa,EACb,aAAa,EACb,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAMrE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAYN"}
|
package/dist/mcp-tools/index.js
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* @license MIT
|
|
27
27
|
*/
|
|
28
28
|
// Re-export screenshot utilities
|
|
29
|
-
export { setRemoteMode, getRemoteMode, transformResponseForRemote, } from "./screenshot-utils.js";
|
|
29
|
+
export { setRemoteMode, getRemoteMode, transformResponseForRemote, MAX_RESPONSE_SIZE, } from "./screenshot-utils.js";
|
|
30
30
|
// Re-export base tools
|
|
31
31
|
export { registerBaseTools } from "./base/index.js";
|
|
32
32
|
// Re-export individual base tool categories for granular use
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,iCAAiC;AACjC,OAAO,EACL,aAAa,EACb,aAAa,EACb,0BAA0B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,iCAAiC;AACjC,OAAO,EACL,aAAa,EACb,aAAa,EACb,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAE/B,uBAAuB;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,6DAA6D;AAC7D,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,mCAAmC;AACnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAE3E,0BAA0B;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,6BAA6B;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAiB,EACjB,OAAgC;IAEhC,kBAAkB;IAClB,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,6BAA6B;IAC7B,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAErC,oBAAoB;IACpB,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE5B,wBAAwB;IACxB,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -4,9 +4,16 @@
|
|
|
4
4
|
* Utilities for converting screenshot file paths to inline base64 images
|
|
5
5
|
* for remote MCP mode where claude.ai can't access server filesystem.
|
|
6
6
|
*
|
|
7
|
+
* Includes automatic compression to stay under Claude.ai's 200KB tool response limit.
|
|
8
|
+
*
|
|
7
9
|
* @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
|
|
8
10
|
* @license MIT
|
|
9
11
|
*/
|
|
12
|
+
/**
|
|
13
|
+
* Maximum allowed size for tool responses in bytes.
|
|
14
|
+
* Claude.ai enforces a 200KB limit. We target 150KB to leave headroom.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MAX_RESPONSE_SIZE = 150000;
|
|
10
17
|
/**
|
|
11
18
|
* MCP content block types
|
|
12
19
|
*/
|
|
@@ -24,6 +31,29 @@ export type ContentBlock = TextContent | ImageContent;
|
|
|
24
31
|
* Convert a screenshot file path to base64 data URL
|
|
25
32
|
*/
|
|
26
33
|
export declare function screenshotToBase64(filePath: string): string | null;
|
|
34
|
+
/**
|
|
35
|
+
* Check if a file's base64 encoding would exceed the size limit
|
|
36
|
+
*/
|
|
37
|
+
export declare function willExceedLimit(filePath: string, limit?: number): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Get file size in bytes
|
|
40
|
+
*/
|
|
41
|
+
export declare function getFileSize(filePath: string): number;
|
|
42
|
+
/**
|
|
43
|
+
* Screenshot compression options for remote MCP mode
|
|
44
|
+
*/
|
|
45
|
+
export interface ScreenshotCompressionOptions {
|
|
46
|
+
/** Target max size in bytes (default: 150KB) */
|
|
47
|
+
maxSize?: number;
|
|
48
|
+
/** Initial JPEG quality (default: 85) */
|
|
49
|
+
quality?: number;
|
|
50
|
+
/** Scale factor for resizing (default: 1.0) */
|
|
51
|
+
scale?: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get recommended compression settings based on current file size
|
|
55
|
+
*/
|
|
56
|
+
export declare function getCompressionSettings(currentSize: number, targetSize?: number): ScreenshotCompressionOptions;
|
|
27
57
|
/**
|
|
28
58
|
* Transform MCP tool response to include inline images for remote mode.
|
|
29
59
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot-utils.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/screenshot-utils.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"screenshot-utils.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/screenshot-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAYxC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC;AAEtD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAA0B,GAAG,OAAO,CAU5F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,GAAE,MAA0B,GAAG,4BAA4B,CAqBhI;AA2BD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,YAAY,EAAE,GACtB,YAAY,EAAE,CA2ChB;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAIzC;AAQD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEpD;AAED,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,eAAe,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GACzC,YAAY,EAAE,CA2BhB"}
|
|
@@ -4,10 +4,25 @@
|
|
|
4
4
|
* Utilities for converting screenshot file paths to inline base64 images
|
|
5
5
|
* for remote MCP mode where claude.ai can't access server filesystem.
|
|
6
6
|
*
|
|
7
|
+
* Includes automatic compression to stay under Claude.ai's 200KB tool response limit.
|
|
8
|
+
*
|
|
7
9
|
* @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
|
|
8
10
|
* @license MIT
|
|
9
11
|
*/
|
|
10
12
|
import { readFileSync, existsSync } from "node:fs";
|
|
13
|
+
/**
|
|
14
|
+
* Maximum allowed size for tool responses in bytes.
|
|
15
|
+
* Claude.ai enforces a 200KB limit. We target 150KB to leave headroom.
|
|
16
|
+
*/
|
|
17
|
+
export const MAX_RESPONSE_SIZE = 150000; // 150KB target (200KB limit)
|
|
18
|
+
/**
|
|
19
|
+
* JPEG quality settings to try when compressing screenshots
|
|
20
|
+
*/
|
|
21
|
+
const QUALITY_STEPS = [85, 70, 55, 40, 25];
|
|
22
|
+
/**
|
|
23
|
+
* Scale factors to try when JPEG quality alone isn't enough
|
|
24
|
+
*/
|
|
25
|
+
const SCALE_FACTORS = [1.0, 0.75, 0.5, 0.35];
|
|
11
26
|
/**
|
|
12
27
|
* Convert a screenshot file path to base64 data URL
|
|
13
28
|
*/
|
|
@@ -33,6 +48,61 @@ export function screenshotToBase64(filePath) {
|
|
|
33
48
|
return null;
|
|
34
49
|
}
|
|
35
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Check if a file's base64 encoding would exceed the size limit
|
|
53
|
+
*/
|
|
54
|
+
export function willExceedLimit(filePath, limit = MAX_RESPONSE_SIZE) {
|
|
55
|
+
try {
|
|
56
|
+
if (!existsSync(filePath))
|
|
57
|
+
return false;
|
|
58
|
+
const buffer = readFileSync(filePath);
|
|
59
|
+
// Base64 encoding inflates size by ~33%
|
|
60
|
+
const estimatedBase64Size = Math.ceil(buffer.length * 1.37);
|
|
61
|
+
return estimatedBase64Size > limit;
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get file size in bytes
|
|
69
|
+
*/
|
|
70
|
+
export function getFileSize(filePath) {
|
|
71
|
+
try {
|
|
72
|
+
if (!existsSync(filePath))
|
|
73
|
+
return 0;
|
|
74
|
+
return readFileSync(filePath).length;
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return 0;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get recommended compression settings based on current file size
|
|
82
|
+
*/
|
|
83
|
+
export function getCompressionSettings(currentSize, targetSize = MAX_RESPONSE_SIZE) {
|
|
84
|
+
// Base64 inflates size by ~33%, so actual file needs to be smaller
|
|
85
|
+
const actualTargetSize = Math.floor(targetSize / 1.37);
|
|
86
|
+
if (currentSize <= actualTargetSize) {
|
|
87
|
+
return { quality: 85, scale: 1.0 };
|
|
88
|
+
}
|
|
89
|
+
const ratio = currentSize / actualTargetSize;
|
|
90
|
+
if (ratio <= 1.5) {
|
|
91
|
+
return { quality: 70, scale: 1.0 };
|
|
92
|
+
}
|
|
93
|
+
else if (ratio <= 2.5) {
|
|
94
|
+
return { quality: 55, scale: 1.0 };
|
|
95
|
+
}
|
|
96
|
+
else if (ratio <= 4) {
|
|
97
|
+
return { quality: 50, scale: 0.75 };
|
|
98
|
+
}
|
|
99
|
+
else if (ratio <= 6) {
|
|
100
|
+
return { quality: 45, scale: 0.5 };
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
return { quality: 40, scale: 0.35 };
|
|
104
|
+
}
|
|
105
|
+
}
|
|
36
106
|
/**
|
|
37
107
|
* Extract screenshot path from a JSON response object (recursively)
|
|
38
108
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot-utils.js","sourceRoot":"","sources":["../../src/mcp-tools/screenshot-utils.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"screenshot-utils.js","sourceRoot":"","sources":["../../src/mcp-tools/screenshot-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cbrowser",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.13.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Cognitive browser automation that thinks like your users—and helps AI agents navigate too. Simulate real user cognition with abandonment detection, constitutional safety, chaos engineering, and UX friction discovery. Sites that pass CBrowser's cognitive tests are easier for both humans and AI agents to navigate.",
|
|
6
6
|
"main": "dist/index.js",
|