cbrowser 18.4.0 → 18.6.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/mcp-server-remote.d.ts.map +1 -1
- package/dist/mcp-server-remote.js +230 -15
- package/dist/mcp-server-remote.js.map +1 -1
- package/dist/mcp-tools/base/index.d.ts +4 -2
- package/dist/mcp-tools/base/index.d.ts.map +1 -1
- package/dist/mcp-tools/base/index.js +7 -2
- package/dist/mcp-tools/base/index.js.map +1 -1
- package/dist/mcp-tools/base/marketing-tools.d.ts +23 -0
- package/dist/mcp-tools/base/marketing-tools.d.ts.map +1 -0
- package/dist/mcp-tools/base/marketing-tools.js +292 -0
- package/dist/mcp-tools/base/marketing-tools.js.map +1 -0
- package/dist/mcp-tools/enterprise-stubs.d.ts +6 -5
- package/dist/mcp-tools/enterprise-stubs.d.ts.map +1 -1
- package/dist/mcp-tools/enterprise-stubs.js +9 -34
- package/dist/mcp-tools/enterprise-stubs.js.map +1 -1
- package/dist/mcp-tools/index.d.ts +7 -7
- package/dist/mcp-tools/index.d.ts.map +1 -1
- package/dist/mcp-tools/index.js +7 -7
- package/dist/mcp-tools/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server-remote.d.ts","sourceRoot":"","sources":["../src/mcp-server-remote.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAmCH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-server-remote.d.ts","sourceRoot":"","sources":["../src/mcp-server-remote.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAmCH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AA+qBpE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoT1F"}
|
|
@@ -44,10 +44,146 @@ import { ensureDirectories } from "./config.js";
|
|
|
44
44
|
import { VERSION } from "./version.js";
|
|
45
45
|
// Modular MCP tools (v17.5.0)
|
|
46
46
|
import { registerAllPublicTools, setRemoteMode } from "./mcp-tools/index.js";
|
|
47
|
-
// Shared browser instance
|
|
47
|
+
// Shared browser instance (single Chromium process)
|
|
48
48
|
let browser = null;
|
|
49
49
|
// Stealth state (enterprise integration)
|
|
50
50
|
const stealthConfig = null;
|
|
51
|
+
// ============================================================================
|
|
52
|
+
// Session Isolation (v18.4.0)
|
|
53
|
+
// ============================================================================
|
|
54
|
+
const MAX_CONCURRENT_SESSIONS = parseInt(process.env.MAX_CONCURRENT_SESSIONS || "20", 10);
|
|
55
|
+
const SESSION_IDLE_TIMEOUT_MS = parseInt(process.env.SESSION_IDLE_TIMEOUT_MS || "300000", 10); // 5 min
|
|
56
|
+
const SESSION_MEMORY_LIMIT_MB = parseInt(process.env.SESSION_MEMORY_LIMIT_MB || "800", 10); // 800MB per session
|
|
57
|
+
// Active sessions: sessionId -> SessionInfo
|
|
58
|
+
const activeSessions = new Map();
|
|
59
|
+
// Track recently expired sessions for clear error messaging
|
|
60
|
+
// Sessions stay in this set for 10 minutes after expiry
|
|
61
|
+
const expiredSessions = new Map();
|
|
62
|
+
const EXPIRED_SESSION_RETENTION_MS = 600000; // 10 min
|
|
63
|
+
/**
|
|
64
|
+
* Get or create a session-specific browser instance.
|
|
65
|
+
* Each session gets its own CBrowser with isolated context.
|
|
66
|
+
* If a session expired, transparently create a new one (low-friction reconnect).
|
|
67
|
+
*/
|
|
68
|
+
async function getSessionBrowser(sessionId) {
|
|
69
|
+
// Check if this session was recently expired - auto-recover by creating new session
|
|
70
|
+
const expiredInfo = expiredSessions.get(sessionId);
|
|
71
|
+
if (expiredInfo) {
|
|
72
|
+
const minutesAgo = Math.round((Date.now() - expiredInfo.expiredAt) / 60000);
|
|
73
|
+
console.log(`[Session] Auto-recovering expired session ${sessionId.substring(0, 8)}... (expired ${minutesAgo}m ago: ${expiredInfo.reason})`);
|
|
74
|
+
// Clear the expired marker so we can create a fresh session
|
|
75
|
+
expiredSessions.delete(sessionId);
|
|
76
|
+
// Fall through to create new session below
|
|
77
|
+
}
|
|
78
|
+
// Check if session already exists
|
|
79
|
+
const existing = activeSessions.get(sessionId);
|
|
80
|
+
if (existing) {
|
|
81
|
+
existing.lastActivity = Date.now();
|
|
82
|
+
return existing.browser;
|
|
83
|
+
}
|
|
84
|
+
// Check concurrent session limit
|
|
85
|
+
if (activeSessions.size >= MAX_CONCURRENT_SESSIONS) {
|
|
86
|
+
throw new Error(`🚫 CBrowser Demo Server at Capacity\n\n` +
|
|
87
|
+
`The demo server currently has ${MAX_CONCURRENT_SESSIONS} active sessions.\n\n` +
|
|
88
|
+
`Please tell the user:\n` +
|
|
89
|
+
`"The CBrowser demo server is currently at full capacity. ` +
|
|
90
|
+
`Please wait a few minutes and try again, or visit https://cbrowser.ai/enterprise for unlimited access."\n\n` +
|
|
91
|
+
`Sessions automatically expire after 5 minutes of inactivity.`);
|
|
92
|
+
}
|
|
93
|
+
// Create new session with isolated browser context
|
|
94
|
+
const proxyConfig = stealthConfig?.proxy;
|
|
95
|
+
const sessionBrowser = new CBrowser({
|
|
96
|
+
headless: true,
|
|
97
|
+
persistent: false, // Non-persistent = fresh context per session
|
|
98
|
+
proxy: proxyConfig,
|
|
99
|
+
});
|
|
100
|
+
activeSessions.set(sessionId, {
|
|
101
|
+
browser: sessionBrowser,
|
|
102
|
+
createdAt: Date.now(),
|
|
103
|
+
lastActivity: Date.now(),
|
|
104
|
+
});
|
|
105
|
+
console.log(`[Session] Created new session ${sessionId.substring(0, 8)}... (${activeSessions.size}/${MAX_CONCURRENT_SESSIONS} active)`);
|
|
106
|
+
return sessionBrowser;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Clean up a session's browser context
|
|
110
|
+
* @param reason - Why the session was cleaned up (for user messaging)
|
|
111
|
+
*/
|
|
112
|
+
async function cleanupSession(sessionId, reason = "Session ended") {
|
|
113
|
+
const session = activeSessions.get(sessionId);
|
|
114
|
+
if (session) {
|
|
115
|
+
try {
|
|
116
|
+
await session.browser.close();
|
|
117
|
+
}
|
|
118
|
+
catch (e) {
|
|
119
|
+
// Ignore cleanup errors
|
|
120
|
+
}
|
|
121
|
+
activeSessions.delete(sessionId);
|
|
122
|
+
// Track as expired so subsequent requests get a clear message
|
|
123
|
+
expiredSessions.set(sessionId, {
|
|
124
|
+
expiredAt: Date.now(),
|
|
125
|
+
reason,
|
|
126
|
+
});
|
|
127
|
+
console.log(`[Session] Cleaned up session ${sessionId.substring(0, 8)}... (${activeSessions.size}/${MAX_CONCURRENT_SESSIONS} active) - ${reason}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get memory usage of a browser session in MB
|
|
132
|
+
* Returns null if unable to determine
|
|
133
|
+
*/
|
|
134
|
+
async function getSessionMemoryMB(session) {
|
|
135
|
+
try {
|
|
136
|
+
// CBrowser wraps Playwright - try to get the underlying browser process
|
|
137
|
+
const browserInstance = session.browser.browser;
|
|
138
|
+
if (!browserInstance)
|
|
139
|
+
return null;
|
|
140
|
+
const browserProcess = browserInstance.process?.();
|
|
141
|
+
if (!browserProcess?.pid)
|
|
142
|
+
return null;
|
|
143
|
+
// Read /proc/<pid>/status for RSS memory
|
|
144
|
+
const { readFileSync } = await import("node:fs");
|
|
145
|
+
const status = readFileSync(`/proc/${browserProcess.pid}/status`, "utf-8");
|
|
146
|
+
const rssMatch = status.match(/VmRSS:\s+(\d+)\s+kB/);
|
|
147
|
+
if (rssMatch) {
|
|
148
|
+
return Math.round(parseInt(rssMatch[1], 10) / 1024); // Convert kB to MB
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
catch (e) {
|
|
152
|
+
// Process may have exited or not be accessible
|
|
153
|
+
}
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Periodic cleanup of idle sessions, memory hogs, and expired session tracking
|
|
158
|
+
*/
|
|
159
|
+
setInterval(async () => {
|
|
160
|
+
const now = Date.now();
|
|
161
|
+
// Clean up expired session tracking (older than retention period)
|
|
162
|
+
for (const [sessionId, info] of expiredSessions) {
|
|
163
|
+
if (now - info.expiredAt > EXPIRED_SESSION_RETENTION_MS) {
|
|
164
|
+
expiredSessions.delete(sessionId);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// Check each active session for idle timeout and memory usage
|
|
168
|
+
for (const [sessionId, session] of activeSessions) {
|
|
169
|
+
// Check idle timeout
|
|
170
|
+
if (now - session.lastActivity > SESSION_IDLE_TIMEOUT_MS) {
|
|
171
|
+
const idleSeconds = Math.round((now - session.lastActivity) / 1000);
|
|
172
|
+
console.log(`[Session] Cleaning up idle session ${sessionId.substring(0, 8)}... (idle for ${idleSeconds}s)`);
|
|
173
|
+
await cleanupSession(sessionId, `Idle timeout (inactive for ${idleSeconds}s)`);
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
// Check memory usage
|
|
177
|
+
const memoryMB = await getSessionMemoryMB(session);
|
|
178
|
+
if (memoryMB !== null && memoryMB > SESSION_MEMORY_LIMIT_MB) {
|
|
179
|
+
console.log(`[Session] Killing session ${sessionId.substring(0, 8)}... (${memoryMB}MB > ${SESSION_MEMORY_LIMIT_MB}MB limit)`);
|
|
180
|
+
await cleanupSession(sessionId, `Memory limit exceeded (${memoryMB}MB used, ${SESSION_MEMORY_LIMIT_MB}MB limit)`);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}, 30000); // Check every 30 seconds (more responsive for memory)
|
|
184
|
+
/**
|
|
185
|
+
* Legacy getBrowser for backward compatibility (uses shared instance)
|
|
186
|
+
*/
|
|
51
187
|
async function getBrowser() {
|
|
52
188
|
if (!browser) {
|
|
53
189
|
// Pass proxy configuration from stealth config if available
|
|
@@ -336,9 +472,15 @@ function sendUnauthorized(res, message) {
|
|
|
336
472
|
/**
|
|
337
473
|
* Configure all CBrowser tools on an MCP server instance.
|
|
338
474
|
* This is shared between stdio and HTTP transports.
|
|
475
|
+
*
|
|
476
|
+
* @param sessionId - Optional session ID for session isolation
|
|
339
477
|
*/
|
|
340
|
-
function configureMcpTools(server, customRegisterTools) {
|
|
341
|
-
|
|
478
|
+
function configureMcpTools(server, customRegisterTools, sessionId) {
|
|
479
|
+
// Create session-aware getBrowser function
|
|
480
|
+
const sessionGetBrowser = sessionId
|
|
481
|
+
? () => getSessionBrowser(sessionId)
|
|
482
|
+
: getBrowser;
|
|
483
|
+
const context = { getBrowser: sessionGetBrowser };
|
|
342
484
|
if (customRegisterTools) {
|
|
343
485
|
// Use custom tool registration (for Enterprise servers)
|
|
344
486
|
customRegisterTools(server, context);
|
|
@@ -350,13 +492,16 @@ function configureMcpTools(server, customRegisterTools) {
|
|
|
350
492
|
}
|
|
351
493
|
/**
|
|
352
494
|
* Create a configured MCP server instance
|
|
495
|
+
*
|
|
496
|
+
* @param customRegisterTools - Optional custom tool registration
|
|
497
|
+
* @param sessionId - Optional session ID for session isolation
|
|
353
498
|
*/
|
|
354
|
-
function createMcpServer(customRegisterTools) {
|
|
499
|
+
function createMcpServer(customRegisterTools, sessionId) {
|
|
355
500
|
const server = new McpServer({
|
|
356
501
|
name: "cbrowser",
|
|
357
502
|
version: VERSION,
|
|
358
503
|
});
|
|
359
|
-
configureMcpTools(server, customRegisterTools);
|
|
504
|
+
configureMcpTools(server, customRegisterTools, sessionId);
|
|
360
505
|
return server;
|
|
361
506
|
}
|
|
362
507
|
/**
|
|
@@ -416,14 +561,34 @@ async function handleMcpRequest(req, res, transport) {
|
|
|
416
561
|
if (method === "notifications/initialized") {
|
|
417
562
|
logLine = `← session initialized`;
|
|
418
563
|
}
|
|
564
|
+
// Add connection close handler to detect early disconnects
|
|
565
|
+
let connectionClosed = false;
|
|
566
|
+
req.on("close", () => {
|
|
567
|
+
if (!res.writableEnded) {
|
|
568
|
+
connectionClosed = true;
|
|
569
|
+
console.warn(`[Connection Closed] Client disconnected before response completed: ${logLine}`);
|
|
570
|
+
}
|
|
571
|
+
});
|
|
419
572
|
await transport.handleRequest(req, res, parsedBody);
|
|
420
573
|
const duration = Date.now() - start;
|
|
421
|
-
|
|
574
|
+
if (!connectionClosed) {
|
|
575
|
+
console.log(`${logLine} → ${res.statusCode} (${duration}ms)`);
|
|
576
|
+
}
|
|
422
577
|
}
|
|
423
578
|
else {
|
|
579
|
+
// GET requests (SSE streams)
|
|
580
|
+
let connectionClosed = false;
|
|
581
|
+
req.on("close", () => {
|
|
582
|
+
if (!res.writableEnded) {
|
|
583
|
+
connectionClosed = true;
|
|
584
|
+
console.warn(`[Connection Closed] Client disconnected before response completed: GET`);
|
|
585
|
+
}
|
|
586
|
+
});
|
|
424
587
|
await transport.handleRequest(req, res);
|
|
425
588
|
const duration = Date.now() - start;
|
|
426
|
-
|
|
589
|
+
if (!connectionClosed) {
|
|
590
|
+
console.log(`← ${req.method} → ${res.statusCode} (${duration}ms)`);
|
|
591
|
+
}
|
|
427
592
|
}
|
|
428
593
|
}
|
|
429
594
|
/**
|
|
@@ -453,6 +618,10 @@ export async function startRemoteMcpServer(options) {
|
|
|
453
618
|
if (auth0Enabled) {
|
|
454
619
|
console.log(` - Auth0 OAuth: enabled (${auth0?.domain})`);
|
|
455
620
|
}
|
|
621
|
+
console.log(`Session Isolation: enabled`);
|
|
622
|
+
console.log(` - Max concurrent sessions: ${MAX_CONCURRENT_SESSIONS}`);
|
|
623
|
+
console.log(` - Idle timeout: ${SESSION_IDLE_TIMEOUT_MS / 1000}s`);
|
|
624
|
+
console.log(` - Memory limit per session: ${SESSION_MEMORY_LIMIT_MB}MB`);
|
|
456
625
|
if (rateLimitConfig.enabled) {
|
|
457
626
|
console.log(`Rate Limiting: enabled`);
|
|
458
627
|
console.log(` - Sustained: ${rateLimitConfig.maxRequests} requests per ${rateLimitConfig.windowMs / 1000 / 60} min`);
|
|
@@ -587,18 +756,27 @@ export async function startRemoteMcpServer(options) {
|
|
|
587
756
|
// MCP endpoint
|
|
588
757
|
if (url.pathname === "/mcp" || url.pathname === "/") {
|
|
589
758
|
// Get or create session
|
|
590
|
-
const
|
|
759
|
+
const existingSessionId = req.headers["mcp-session-id"];
|
|
591
760
|
let transport;
|
|
592
|
-
|
|
593
|
-
|
|
761
|
+
let browserSessionId;
|
|
762
|
+
if (sessionMode === "stateful" && existingSessionId && transports.has(existingSessionId)) {
|
|
763
|
+
transport = transports.get(existingSessionId);
|
|
764
|
+
browserSessionId = existingSessionId;
|
|
765
|
+
// Update session activity
|
|
766
|
+
const session = activeSessions.get(browserSessionId);
|
|
767
|
+
if (session) {
|
|
768
|
+
session.lastActivity = Date.now();
|
|
769
|
+
}
|
|
594
770
|
}
|
|
595
771
|
else {
|
|
772
|
+
// Generate a new browser session ID for isolation
|
|
773
|
+
browserSessionId = randomUUID();
|
|
596
774
|
// Create new transport
|
|
597
775
|
transport = new StreamableHTTPServerTransport({
|
|
598
|
-
sessionIdGenerator: sessionMode === "stateful" ? () =>
|
|
776
|
+
sessionIdGenerator: sessionMode === "stateful" ? () => browserSessionId : undefined,
|
|
599
777
|
});
|
|
600
|
-
// Create and connect server
|
|
601
|
-
const server = createMcpServer(options?.registerTools);
|
|
778
|
+
// Create and connect server with session isolation
|
|
779
|
+
const server = createMcpServer(options?.registerTools, browserSessionId);
|
|
602
780
|
// Allow extension with additional tools (for Enterprise)
|
|
603
781
|
if (options?.extendServer) {
|
|
604
782
|
await options.extendServer(server);
|
|
@@ -609,13 +787,50 @@ export async function startRemoteMcpServer(options) {
|
|
|
609
787
|
const newSessionId = transport.sessionId;
|
|
610
788
|
if (newSessionId) {
|
|
611
789
|
transports.set(newSessionId, transport);
|
|
612
|
-
transport.onclose = () => {
|
|
790
|
+
transport.onclose = async () => {
|
|
613
791
|
transports.delete(newSessionId);
|
|
792
|
+
// Clean up browser session on disconnect
|
|
793
|
+
await cleanupSession(browserSessionId);
|
|
614
794
|
};
|
|
615
795
|
}
|
|
616
796
|
}
|
|
797
|
+
else {
|
|
798
|
+
// For stateless mode, clean up after a delay
|
|
799
|
+
transport.onclose = async () => {
|
|
800
|
+
// Give some time for rapid reconnects before cleanup
|
|
801
|
+
setTimeout(async () => {
|
|
802
|
+
const session = activeSessions.get(browserSessionId);
|
|
803
|
+
if (session && Date.now() - session.lastActivity > 30000) {
|
|
804
|
+
await cleanupSession(browserSessionId);
|
|
805
|
+
}
|
|
806
|
+
}, 30000);
|
|
807
|
+
};
|
|
808
|
+
}
|
|
809
|
+
// Add error handling for transport errors
|
|
810
|
+
transport.onerror = (error) => {
|
|
811
|
+
console.error(`[MCP Transport Error] ${error.message}`);
|
|
812
|
+
};
|
|
813
|
+
}
|
|
814
|
+
// Handle the request with error wrapping
|
|
815
|
+
try {
|
|
816
|
+
await handleMcpRequest(req, res, transport);
|
|
817
|
+
}
|
|
818
|
+
catch (error) {
|
|
819
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
820
|
+
console.error(`[MCP Request Error] ${errorMessage}`);
|
|
821
|
+
// If response not yet sent, send error
|
|
822
|
+
if (!res.headersSent) {
|
|
823
|
+
res.writeHead(500, { "Content-Type": "application/json" });
|
|
824
|
+
res.end(JSON.stringify({
|
|
825
|
+
jsonrpc: "2.0",
|
|
826
|
+
error: {
|
|
827
|
+
code: -32603,
|
|
828
|
+
message: `Tool execution failed: ${errorMessage}`,
|
|
829
|
+
},
|
|
830
|
+
id: null,
|
|
831
|
+
}));
|
|
832
|
+
}
|
|
617
833
|
}
|
|
618
|
-
await handleMcpRequest(req, res, transport);
|
|
619
834
|
return;
|
|
620
835
|
}
|
|
621
836
|
// 404 for other paths
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server-remote.js","sourceRoot":"","sources":["../src/mcp-server-remote.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-server-remote.js","sourceRoot":"","sources":["../src/mcp-server-remote.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { McpServer, ToolRegistrationContext } from "../types.js";
|
|
9
9
|
/**
|
|
10
|
-
* Register all
|
|
10
|
+
* Register all 56 base tools on an MCP server
|
|
11
11
|
*
|
|
12
12
|
* Tool count by category:
|
|
13
13
|
* - Navigation: 1 (navigate)
|
|
@@ -27,8 +27,9 @@ import type { McpServer, ToolRegistrationContext } from "../types.js";
|
|
|
27
27
|
* - Audit: 3 (agent_ready_audit, competitive_benchmark, empathy_audit)
|
|
28
28
|
* - Browser Management: 4 (status, browser_health, browser_recover, reset_browser)
|
|
29
29
|
* - Security: 1 (security_audit)
|
|
30
|
+
* - Marketing: 3 (marketing_personas_list, marketing_campaign_create, marketing_campaign_report_result)
|
|
30
31
|
*
|
|
31
|
-
* Total:
|
|
32
|
+
* Total: 56 tools
|
|
32
33
|
*/
|
|
33
34
|
export declare function registerBaseTools(server: McpServer, context: ToolRegistrationContext): void;
|
|
34
35
|
export { registerNavigationTools } from "./navigation-tools.js";
|
|
@@ -48,4 +49,5 @@ export { registerPerformanceTools } from "./performance-tools.js";
|
|
|
48
49
|
export { registerAuditTools } from "./audit-tools.js";
|
|
49
50
|
export { registerBrowserManagementTools } from "./browser-management-tools.js";
|
|
50
51
|
export { registerSecurityTools } from "./security-tools.js";
|
|
52
|
+
export { registerMarketingTools } from "./marketing-tools.js";
|
|
51
53
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAsBtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAsDN;AAGD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -23,8 +23,9 @@ import { registerPerformanceTools } from "./performance-tools.js";
|
|
|
23
23
|
import { registerAuditTools } from "./audit-tools.js";
|
|
24
24
|
import { registerBrowserManagementTools } from "./browser-management-tools.js";
|
|
25
25
|
import { registerSecurityTools } from "./security-tools.js";
|
|
26
|
+
import { registerMarketingTools } from "./marketing-tools.js";
|
|
26
27
|
/**
|
|
27
|
-
* Register all
|
|
28
|
+
* Register all 56 base tools on an MCP server
|
|
28
29
|
*
|
|
29
30
|
* Tool count by category:
|
|
30
31
|
* - Navigation: 1 (navigate)
|
|
@@ -44,8 +45,9 @@ import { registerSecurityTools } from "./security-tools.js";
|
|
|
44
45
|
* - Audit: 3 (agent_ready_audit, competitive_benchmark, empathy_audit)
|
|
45
46
|
* - Browser Management: 4 (status, browser_health, browser_recover, reset_browser)
|
|
46
47
|
* - Security: 1 (security_audit)
|
|
48
|
+
* - Marketing: 3 (marketing_personas_list, marketing_campaign_create, marketing_campaign_report_result)
|
|
47
49
|
*
|
|
48
|
-
* Total:
|
|
50
|
+
* Total: 56 tools
|
|
49
51
|
*/
|
|
50
52
|
export function registerBaseTools(server, context) {
|
|
51
53
|
// Navigation (1)
|
|
@@ -82,6 +84,8 @@ export function registerBaseTools(server, context) {
|
|
|
82
84
|
registerBrowserManagementTools(server, context);
|
|
83
85
|
// Security (1) - no browser context needed
|
|
84
86
|
registerSecurityTools(server);
|
|
87
|
+
// Marketing (3) - no browser context needed
|
|
88
|
+
registerMarketingTools(server);
|
|
85
89
|
}
|
|
86
90
|
// Re-export individual registration functions for granular use
|
|
87
91
|
export { registerNavigationTools } from "./navigation-tools.js";
|
|
@@ -101,4 +105,5 @@ export { registerPerformanceTools } from "./performance-tools.js";
|
|
|
101
105
|
export { registerAuditTools } from "./audit-tools.js";
|
|
102
106
|
export { registerBrowserManagementTools } from "./browser-management-tools.js";
|
|
103
107
|
export { registerSecurityTools } from "./security-tools.js";
|
|
108
|
+
export { registerMarketingTools } from "./marketing-tools.js";
|
|
104
109
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,mBAAmB;AACnB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CBrowser MCP Tools - Marketing Tools
|
|
3
|
+
*
|
|
4
|
+
* 3 real marketing tools for MCP-orchestrated campaign workflows:
|
|
5
|
+
* - marketing_personas_list: List marketing personas with value profiles
|
|
6
|
+
* - marketing_campaign_create: Create a marketing campaign
|
|
7
|
+
* - marketing_campaign_report_result: Report journey results to campaign
|
|
8
|
+
*
|
|
9
|
+
* Workflow:
|
|
10
|
+
* 1. List personas → marketing_personas_list
|
|
11
|
+
* 2. Create campaign → marketing_campaign_create
|
|
12
|
+
* 3. Run journeys via cognitive_journey_init/update_state (MCP orchestrated)
|
|
13
|
+
* 4. Report results → marketing_campaign_report_result
|
|
14
|
+
*
|
|
15
|
+
* @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
|
|
16
|
+
* @license MIT
|
|
17
|
+
*/
|
|
18
|
+
import type { McpServer } from "../types.js";
|
|
19
|
+
/**
|
|
20
|
+
* Register marketing tools (3 tools)
|
|
21
|
+
*/
|
|
22
|
+
export declare function registerMarketingTools(server: McpServer): void;
|
|
23
|
+
//# sourceMappingURL=marketing-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketing-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/base/marketing-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAqJ7C;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsN9D"}
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CBrowser MCP Tools - Marketing Tools
|
|
3
|
+
*
|
|
4
|
+
* 3 real marketing tools for MCP-orchestrated campaign workflows:
|
|
5
|
+
* - marketing_personas_list: List marketing personas with value profiles
|
|
6
|
+
* - marketing_campaign_create: Create a marketing campaign
|
|
7
|
+
* - marketing_campaign_report_result: Report journey results to campaign
|
|
8
|
+
*
|
|
9
|
+
* Workflow:
|
|
10
|
+
* 1. List personas → marketing_personas_list
|
|
11
|
+
* 2. Create campaign → marketing_campaign_create
|
|
12
|
+
* 3. Run journeys via cognitive_journey_init/update_state (MCP orchestrated)
|
|
13
|
+
* 4. Report results → marketing_campaign_report_result
|
|
14
|
+
*
|
|
15
|
+
* @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
|
|
16
|
+
* @license MIT
|
|
17
|
+
*/
|
|
18
|
+
import { z } from "zod";
|
|
19
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
20
|
+
import { homedir } from "node:os";
|
|
21
|
+
import { join } from "node:path";
|
|
22
|
+
import { BUILTIN_PERSONAS, ACCESSIBILITY_PERSONAS, } from "../../personas.js";
|
|
23
|
+
import { getPersonaValues } from "../../values/persona-values.js";
|
|
24
|
+
// ============================================================================
|
|
25
|
+
// Storage Utilities
|
|
26
|
+
// ============================================================================
|
|
27
|
+
function getCampaignsPath() {
|
|
28
|
+
const dataDir = process.env.CBROWSER_DATA_DIR || join(homedir(), ".cbrowser");
|
|
29
|
+
return join(dataDir, "campaigns.json");
|
|
30
|
+
}
|
|
31
|
+
function ensureDataDir() {
|
|
32
|
+
const dataDir = process.env.CBROWSER_DATA_DIR || join(homedir(), ".cbrowser");
|
|
33
|
+
if (!existsSync(dataDir)) {
|
|
34
|
+
mkdirSync(dataDir, { recursive: true });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function loadCampaigns() {
|
|
38
|
+
const path = getCampaignsPath();
|
|
39
|
+
if (!existsSync(path)) {
|
|
40
|
+
return { campaigns: {}, lastUpdated: new Date().toISOString() };
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
const content = readFileSync(path, "utf-8");
|
|
44
|
+
return JSON.parse(content);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return { campaigns: {}, lastUpdated: new Date().toISOString() };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function saveCampaigns(store) {
|
|
51
|
+
ensureDataDir();
|
|
52
|
+
const path = getCampaignsPath();
|
|
53
|
+
store.lastUpdated = new Date().toISOString();
|
|
54
|
+
writeFileSync(path, JSON.stringify(store, null, 2));
|
|
55
|
+
}
|
|
56
|
+
function calculateInfluenceSusceptibility(values) {
|
|
57
|
+
// Map Schwartz values to Cialdini's influence principles
|
|
58
|
+
// Based on research correlations between values and persuasion susceptibility
|
|
59
|
+
return {
|
|
60
|
+
// Scarcity: driven by achievement, power, stimulation
|
|
61
|
+
scarcity: Math.min(1, (values.achievement + values.power + values.stimulation) / 3 + 0.1),
|
|
62
|
+
// Authority: driven by conformity, tradition, security
|
|
63
|
+
authority: Math.min(1, (values.conformity + values.tradition + values.security) / 3 + 0.1),
|
|
64
|
+
// Social proof: driven by conformity, benevolence, universalism
|
|
65
|
+
socialProof: Math.min(1, (values.conformity + values.benevolence + values.universalism) / 3 + 0.1),
|
|
66
|
+
// Reciprocity: driven by benevolence, universalism
|
|
67
|
+
reciprocity: Math.min(1, (values.benevolence + values.universalism) / 2 + 0.1),
|
|
68
|
+
// Commitment/consistency: driven by tradition, conformity, security
|
|
69
|
+
commitment: Math.min(1, (values.tradition + values.conformity + values.security) / 3 + 0.1),
|
|
70
|
+
// Liking: driven by benevolence, hedonism, stimulation
|
|
71
|
+
liking: Math.min(1, (values.benevolence + values.hedonism + values.stimulation) / 3 + 0.1),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function getMarketingPersonas() {
|
|
75
|
+
const profiles = [];
|
|
76
|
+
// Get built-in cognitive personas
|
|
77
|
+
for (const [name, persona] of Object.entries(BUILTIN_PERSONAS)) {
|
|
78
|
+
const values = getPersonaValues(name);
|
|
79
|
+
if (values) {
|
|
80
|
+
profiles.push({
|
|
81
|
+
name: persona.name,
|
|
82
|
+
category: "cognitive",
|
|
83
|
+
description: persona.description,
|
|
84
|
+
values,
|
|
85
|
+
influenceSusceptibility: calculateInfluenceSusceptibility(values),
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Get accessibility personas
|
|
90
|
+
for (const [name, persona] of Object.entries(ACCESSIBILITY_PERSONAS)) {
|
|
91
|
+
const values = getPersonaValues(name);
|
|
92
|
+
if (values) {
|
|
93
|
+
profiles.push({
|
|
94
|
+
name: persona.name,
|
|
95
|
+
category: "accessibility",
|
|
96
|
+
description: persona.description,
|
|
97
|
+
values,
|
|
98
|
+
influenceSusceptibility: calculateInfluenceSusceptibility(values),
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return profiles;
|
|
103
|
+
}
|
|
104
|
+
// ============================================================================
|
|
105
|
+
// Tool Registration
|
|
106
|
+
// ============================================================================
|
|
107
|
+
/**
|
|
108
|
+
* Register marketing tools (3 tools)
|
|
109
|
+
*/
|
|
110
|
+
export function registerMarketingTools(server) {
|
|
111
|
+
// =========================================================================
|
|
112
|
+
// marketing_personas_list - List marketing personas with value profiles
|
|
113
|
+
// =========================================================================
|
|
114
|
+
server.tool("marketing_personas_list", "List all available marketing personas with their Schwartz value profiles and Cialdini influence susceptibility scores. Use this to understand which personas to target in campaigns.", {}, async () => {
|
|
115
|
+
const personas = getMarketingPersonas();
|
|
116
|
+
const summary = {
|
|
117
|
+
totalPersonas: personas.length,
|
|
118
|
+
byCategory: {
|
|
119
|
+
cognitive: personas.filter(p => p.category === "cognitive").length,
|
|
120
|
+
accessibility: personas.filter(p => p.category === "accessibility").length,
|
|
121
|
+
},
|
|
122
|
+
personas: personas.map(p => ({
|
|
123
|
+
name: p.name,
|
|
124
|
+
category: p.category,
|
|
125
|
+
description: p.description,
|
|
126
|
+
values: {
|
|
127
|
+
// Show key values that affect marketing
|
|
128
|
+
achievement: p.values.achievement.toFixed(2),
|
|
129
|
+
security: p.values.security.toFixed(2),
|
|
130
|
+
benevolence: p.values.benevolence.toFixed(2),
|
|
131
|
+
conformity: p.values.conformity.toFixed(2),
|
|
132
|
+
stimulation: p.values.stimulation.toFixed(2),
|
|
133
|
+
},
|
|
134
|
+
influenceSusceptibility: {
|
|
135
|
+
scarcity: p.influenceSusceptibility.scarcity.toFixed(2),
|
|
136
|
+
authority: p.influenceSusceptibility.authority.toFixed(2),
|
|
137
|
+
socialProof: p.influenceSusceptibility.socialProof.toFixed(2),
|
|
138
|
+
reciprocity: p.influenceSusceptibility.reciprocity.toFixed(2),
|
|
139
|
+
commitment: p.influenceSusceptibility.commitment.toFixed(2),
|
|
140
|
+
liking: p.influenceSusceptibility.liking.toFixed(2),
|
|
141
|
+
},
|
|
142
|
+
})),
|
|
143
|
+
};
|
|
144
|
+
return {
|
|
145
|
+
content: [{
|
|
146
|
+
type: "text",
|
|
147
|
+
text: JSON.stringify(summary, null, 2),
|
|
148
|
+
}],
|
|
149
|
+
};
|
|
150
|
+
});
|
|
151
|
+
// =========================================================================
|
|
152
|
+
// marketing_campaign_create - Create a marketing campaign
|
|
153
|
+
// =========================================================================
|
|
154
|
+
server.tool("marketing_campaign_create", "Create a new marketing campaign for tracking cognitive journey results across personas. Returns campaign ID for use with marketing_campaign_report_result.", {
|
|
155
|
+
name: z.string().describe("Unique campaign name (e.g., 'q1-signup-flow')"),
|
|
156
|
+
url: z.string().url().describe("Target URL to analyze"),
|
|
157
|
+
goal: z.string().describe("Goal to measure (e.g., 'Complete signup and reach dashboard')"),
|
|
158
|
+
}, async ({ name, url, goal }) => {
|
|
159
|
+
const store = loadCampaigns();
|
|
160
|
+
// Check if campaign already exists
|
|
161
|
+
if (store.campaigns[name]) {
|
|
162
|
+
return {
|
|
163
|
+
content: [{
|
|
164
|
+
type: "text",
|
|
165
|
+
text: JSON.stringify({
|
|
166
|
+
success: false,
|
|
167
|
+
error: `Campaign '${name}' already exists. Use a different name or report results to the existing campaign.`,
|
|
168
|
+
existingCampaign: {
|
|
169
|
+
name: store.campaigns[name].name,
|
|
170
|
+
url: store.campaigns[name].url,
|
|
171
|
+
goal: store.campaigns[name].goal,
|
|
172
|
+
createdAt: store.campaigns[name].createdAt,
|
|
173
|
+
resultsCount: store.campaigns[name].results.length,
|
|
174
|
+
},
|
|
175
|
+
}, null, 2),
|
|
176
|
+
}],
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
// Create new campaign
|
|
180
|
+
const campaign = {
|
|
181
|
+
name,
|
|
182
|
+
url,
|
|
183
|
+
goal,
|
|
184
|
+
createdAt: new Date().toISOString(),
|
|
185
|
+
results: [],
|
|
186
|
+
};
|
|
187
|
+
store.campaigns[name] = campaign;
|
|
188
|
+
saveCampaigns(store);
|
|
189
|
+
return {
|
|
190
|
+
content: [{
|
|
191
|
+
type: "text",
|
|
192
|
+
text: JSON.stringify({
|
|
193
|
+
success: true,
|
|
194
|
+
campaign: {
|
|
195
|
+
name: campaign.name,
|
|
196
|
+
url: campaign.url,
|
|
197
|
+
goal: campaign.goal,
|
|
198
|
+
createdAt: campaign.createdAt,
|
|
199
|
+
},
|
|
200
|
+
nextSteps: [
|
|
201
|
+
"1. Use marketing_personas_list to see available personas",
|
|
202
|
+
"2. For each persona, run cognitive_journey_init with the campaign URL and goal",
|
|
203
|
+
"3. Orchestrate the journey with cognitive_journey_update_state",
|
|
204
|
+
"4. When journey completes, call marketing_campaign_report_result with the outcome",
|
|
205
|
+
],
|
|
206
|
+
}, null, 2),
|
|
207
|
+
}],
|
|
208
|
+
};
|
|
209
|
+
});
|
|
210
|
+
// =========================================================================
|
|
211
|
+
// marketing_campaign_report_result - Report journey result to campaign
|
|
212
|
+
// =========================================================================
|
|
213
|
+
server.tool("marketing_campaign_report_result", "Report the result of a cognitive journey to a marketing campaign. Call this after completing a journey via cognitive_journey_init/update_state orchestration.", {
|
|
214
|
+
campaign_name: z.string().describe("Campaign name from marketing_campaign_create"),
|
|
215
|
+
persona: z.string().describe("Persona name that completed the journey"),
|
|
216
|
+
goal_achieved: z.boolean().describe("Whether the persona achieved the campaign goal"),
|
|
217
|
+
steps: z.number().int().positive().describe("Number of steps taken in the journey"),
|
|
218
|
+
friction_points: z.array(z.string()).optional().describe("List of friction points encountered"),
|
|
219
|
+
duration: z.number().optional().describe("Journey duration in seconds"),
|
|
220
|
+
abandonment_reason: z.string().optional().describe("Reason for abandonment if goal not achieved"),
|
|
221
|
+
}, async ({ campaign_name, persona, goal_achieved, steps, friction_points, duration, abandonment_reason }) => {
|
|
222
|
+
const store = loadCampaigns();
|
|
223
|
+
// Check if campaign exists
|
|
224
|
+
if (!store.campaigns[campaign_name]) {
|
|
225
|
+
const availableCampaigns = Object.keys(store.campaigns);
|
|
226
|
+
return {
|
|
227
|
+
content: [{
|
|
228
|
+
type: "text",
|
|
229
|
+
text: JSON.stringify({
|
|
230
|
+
success: false,
|
|
231
|
+
error: `Campaign '${campaign_name}' not found.`,
|
|
232
|
+
availableCampaigns: availableCampaigns.length > 0 ? availableCampaigns : "No campaigns created yet. Use marketing_campaign_create first.",
|
|
233
|
+
}, null, 2),
|
|
234
|
+
}],
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
const campaign = store.campaigns[campaign_name];
|
|
238
|
+
// Add result
|
|
239
|
+
const result = {
|
|
240
|
+
persona,
|
|
241
|
+
goalAchieved: goal_achieved,
|
|
242
|
+
steps,
|
|
243
|
+
frictionPoints: friction_points || [],
|
|
244
|
+
timestamp: new Date().toISOString(),
|
|
245
|
+
duration,
|
|
246
|
+
abandonmentReason: abandonment_reason,
|
|
247
|
+
};
|
|
248
|
+
campaign.results.push(result);
|
|
249
|
+
saveCampaigns(store);
|
|
250
|
+
// Calculate campaign stats
|
|
251
|
+
const totalResults = campaign.results.length;
|
|
252
|
+
const successCount = campaign.results.filter(r => r.goalAchieved).length;
|
|
253
|
+
const conversionRate = totalResults > 0 ? (successCount / totalResults * 100).toFixed(1) : "0";
|
|
254
|
+
const avgSteps = totalResults > 0
|
|
255
|
+
? (campaign.results.reduce((sum, r) => sum + r.steps, 0) / totalResults).toFixed(1)
|
|
256
|
+
: "0";
|
|
257
|
+
// Aggregate friction points
|
|
258
|
+
const frictionCounts = {};
|
|
259
|
+
for (const r of campaign.results) {
|
|
260
|
+
for (const fp of r.frictionPoints) {
|
|
261
|
+
frictionCounts[fp] = (frictionCounts[fp] || 0) + 1;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
const topFriction = Object.entries(frictionCounts)
|
|
265
|
+
.sort((a, b) => b[1] - a[1])
|
|
266
|
+
.slice(0, 5)
|
|
267
|
+
.map(([point, count]) => ({ point, count }));
|
|
268
|
+
return {
|
|
269
|
+
content: [{
|
|
270
|
+
type: "text",
|
|
271
|
+
text: JSON.stringify({
|
|
272
|
+
success: true,
|
|
273
|
+
resultRecorded: {
|
|
274
|
+
persona,
|
|
275
|
+
goalAchieved: goal_achieved,
|
|
276
|
+
steps,
|
|
277
|
+
frictionPoints: friction_points || [],
|
|
278
|
+
},
|
|
279
|
+
campaignStats: {
|
|
280
|
+
name: campaign_name,
|
|
281
|
+
totalJourneys: totalResults,
|
|
282
|
+
successCount,
|
|
283
|
+
conversionRate: `${conversionRate}%`,
|
|
284
|
+
avgSteps,
|
|
285
|
+
topFrictionPoints: topFriction,
|
|
286
|
+
},
|
|
287
|
+
}, null, 2),
|
|
288
|
+
}],
|
|
289
|
+
};
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
//# sourceMappingURL=marketing-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketing-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/marketing-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CBrowser MCP Tools - Enterprise Stubs
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* 19 stub tools that return upgrade messages for Enterprise-only features:
|
|
5
5
|
* - API Key Management (3): set_api_key, clear_api_key, api_key_status
|
|
6
6
|
* - API Key Prompt (1): get_api_key_prompt
|
|
7
7
|
* - Autonomous Journey (1): cognitive_journey_autonomous
|
|
8
|
-
* - Marketing Core (
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* - Marketing Core (5): marketing_campaign_run, marketing_campaign_influence_matrix,
|
|
9
|
+
* marketing_campaign_levers, marketing_funnel_analysis, marketing_competitive_compare
|
|
10
|
+
* (Note: marketing_personas_list, marketing_campaign_create, marketing_report_result
|
|
11
|
+
* are now real tools in base/marketing-tools.ts)
|
|
11
12
|
* - Marketing Discovery (2): marketing_audience_discover, marketing_audience_discover_status
|
|
12
13
|
* - Stealth (7): stealth_status, stealth_enable, stealth_disable, stealth_check,
|
|
13
14
|
* stealth_diagnose, cloudflare_detect, cloudflare_wait
|
|
@@ -17,7 +18,7 @@
|
|
|
17
18
|
*/
|
|
18
19
|
import type { McpServer } from "./types.js";
|
|
19
20
|
/**
|
|
20
|
-
* Register enterprise stub tools (
|
|
21
|
+
* Register enterprise stub tools (19 stubs)
|
|
21
22
|
*/
|
|
22
23
|
export declare function registerEnterpriseStubs(server: McpServer): void;
|
|
23
24
|
//# sourceMappingURL=enterprise-stubs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enterprise-stubs.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/enterprise-stubs.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"enterprise-stubs.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/enterprise-stubs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAuB5C;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgW/D"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CBrowser MCP Tools - Enterprise Stubs
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* 19 stub tools that return upgrade messages for Enterprise-only features:
|
|
5
5
|
* - API Key Management (3): set_api_key, clear_api_key, api_key_status
|
|
6
6
|
* - API Key Prompt (1): get_api_key_prompt
|
|
7
7
|
* - Autonomous Journey (1): cognitive_journey_autonomous
|
|
8
|
-
* - Marketing Core (
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* - Marketing Core (5): marketing_campaign_run, marketing_campaign_influence_matrix,
|
|
9
|
+
* marketing_campaign_levers, marketing_funnel_analysis, marketing_competitive_compare
|
|
10
|
+
* (Note: marketing_personas_list, marketing_campaign_create, marketing_report_result
|
|
11
|
+
* are now real tools in base/marketing-tools.ts)
|
|
11
12
|
* - Marketing Discovery (2): marketing_audience_discover, marketing_audience_discover_status
|
|
12
13
|
* - Stealth (7): stealth_status, stealth_enable, stealth_disable, stealth_check,
|
|
13
14
|
* stealth_diagnose, cloudflare_detect, cloudflare_wait
|
|
@@ -30,7 +31,7 @@ function enterpriseUpgradeMessage(feature, description) {
|
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
33
|
-
* Register enterprise stub tools (
|
|
34
|
+
* Register enterprise stub tools (19 stubs)
|
|
34
35
|
*/
|
|
35
36
|
export function registerEnterpriseStubs(server) {
|
|
36
37
|
// =========================================================================
|
|
@@ -85,18 +86,10 @@ export function registerEnterpriseStubs(server) {
|
|
|
85
86
|
}],
|
|
86
87
|
}));
|
|
87
88
|
// =========================================================================
|
|
88
|
-
// Marketing Core Stubs (
|
|
89
|
+
// Marketing Core Stubs (5) - campaign management and influence analysis
|
|
90
|
+
// (marketing_campaign_create, marketing_personas_list, marketing_report_result
|
|
91
|
+
// are now real tools in base/marketing-tools.ts)
|
|
89
92
|
// =========================================================================
|
|
90
|
-
server.tool("marketing_campaign_create", "[Enterprise] Create a new marketing campaign for influence and persuasion analysis.", {
|
|
91
|
-
name: z.string().describe("Campaign name"),
|
|
92
|
-
url: z.string().url().describe("Target URL to analyze"),
|
|
93
|
-
goal: z.string().describe("Campaign goal (e.g., 'sign up for free trial')"),
|
|
94
|
-
}, async () => ({
|
|
95
|
-
content: [{
|
|
96
|
-
type: "text",
|
|
97
|
-
text: JSON.stringify(enterpriseUpgradeMessage("Marketing Suite", "Create and manage marketing campaigns with influence pattern analysis."), null, 2),
|
|
98
|
-
}],
|
|
99
|
-
}));
|
|
100
93
|
server.tool("marketing_campaign_run", "[Enterprise] Execute a marketing campaign by running cognitive journeys for all variants and personas.", {
|
|
101
94
|
campaign_id: z.string().describe("Campaign ID from marketing_campaign_create"),
|
|
102
95
|
parallel: z.boolean().optional().describe("Run journeys in parallel (default: true)"),
|
|
@@ -139,24 +132,6 @@ export function registerEnterpriseStubs(server) {
|
|
|
139
132
|
text: JSON.stringify(enterpriseUpgradeMessage("Marketing Suite - Competitive Analysis", "Run cognitive journeys on competitor sites and compare conversion effectiveness."), null, 2),
|
|
140
133
|
}],
|
|
141
134
|
}));
|
|
142
|
-
server.tool("marketing_personas_list", "[Enterprise] List all available marketing personas with their value profiles.", {}, async () => ({
|
|
143
|
-
content: [{
|
|
144
|
-
type: "text",
|
|
145
|
-
text: JSON.stringify(enterpriseUpgradeMessage("Marketing Suite - Persona Library", "Access marketing-focused personas with detailed influence susceptibility profiles."), null, 2),
|
|
146
|
-
}],
|
|
147
|
-
}));
|
|
148
|
-
server.tool("marketing_report_result", "[Enterprise] Report the result of a cognitive journey for campaign analysis.", {
|
|
149
|
-
campaign_name: z.string().describe("Campaign name"),
|
|
150
|
-
persona: z.string().describe("Persona name"),
|
|
151
|
-
goal_achieved: z.boolean().describe("Whether the goal was achieved"),
|
|
152
|
-
steps: z.number().describe("Number of steps taken"),
|
|
153
|
-
friction_points: z.array(z.string()).optional().describe("Friction points encountered"),
|
|
154
|
-
}, async () => ({
|
|
155
|
-
content: [{
|
|
156
|
-
type: "text",
|
|
157
|
-
text: JSON.stringify(enterpriseUpgradeMessage("Marketing Suite - Result Reporting", "Report journey results to build campaign analytics."), null, 2),
|
|
158
|
-
}],
|
|
159
|
-
}));
|
|
160
135
|
// =========================================================================
|
|
161
136
|
// Marketing Discovery Stubs (2)
|
|
162
137
|
// =========================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enterprise-stubs.js","sourceRoot":"","sources":["../../src/mcp-tools/enterprise-stubs.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"enterprise-stubs.js","sourceRoot":"","sources":["../../src/mcp-tools/enterprise-stubs.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
* Modular tool registration for CBrowser MCP servers.
|
|
5
5
|
*
|
|
6
6
|
* Tool counts:
|
|
7
|
-
* - Base tools:
|
|
7
|
+
* - Base tools: 56 (across 18 categories)
|
|
8
8
|
* - Persona creation: 7
|
|
9
9
|
* - Ask user: 1
|
|
10
|
-
* - Enterprise stubs:
|
|
10
|
+
* - Enterprise stubs: 19
|
|
11
11
|
*
|
|
12
|
-
* Public npm total:
|
|
12
|
+
* Public npm total: 83 (64 real + 19 stubs)
|
|
13
13
|
*
|
|
14
14
|
* @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
|
|
15
15
|
* @license MIT
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
export type { McpServer, CBrowser, ToolRegistrationContext } from "./types.js";
|
|
18
18
|
export { setRemoteMode, getRemoteMode, transformResponseForRemote, } from "./screenshot-utils.js";
|
|
19
19
|
export { registerBaseTools } from "./base/index.js";
|
|
20
|
-
export { registerNavigationTools, registerInteractionTools, registerExtractionTools, registerAssertionTools, registerAnalysisTools, registerSessionTools, registerHealingTools, registerVisualTestingTools, registerTestingTools, registerBugAnalysisTools, registerPersonaComparisonTools, registerCognitiveTools, registerValuesTools, registerPerformanceTools, registerAuditTools, registerBrowserManagementTools, } from "./base/index.js";
|
|
20
|
+
export { registerNavigationTools, registerInteractionTools, registerExtractionTools, registerAssertionTools, registerAnalysisTools, registerSessionTools, registerHealingTools, registerVisualTestingTools, registerTestingTools, registerBugAnalysisTools, registerPersonaComparisonTools, registerCognitiveTools, registerValuesTools, registerPerformanceTools, registerAuditTools, registerBrowserManagementTools, registerMarketingTools, } from "./base/index.js";
|
|
21
21
|
export { registerPersonaCreationTools } from "./persona-creation-tools.js";
|
|
22
22
|
export { registerAskUserTool } from "./ask-user-tools.js";
|
|
23
23
|
export { registerEnterpriseStubs } from "./enterprise-stubs.js";
|
|
@@ -26,12 +26,12 @@ import type { McpServer, ToolRegistrationContext } from "./types.js";
|
|
|
26
26
|
* Register all public npm tools on an MCP server
|
|
27
27
|
*
|
|
28
28
|
* This registers:
|
|
29
|
-
* -
|
|
29
|
+
* - 56 base tools (including 3 marketing tools)
|
|
30
30
|
* - 7 persona creation tools
|
|
31
31
|
* - 1 ask_user tool
|
|
32
|
-
* -
|
|
32
|
+
* - 19 enterprise stubs
|
|
33
33
|
*
|
|
34
|
-
* Total:
|
|
34
|
+
* Total: 83 tools (64 real + 19 stubs)
|
|
35
35
|
*/
|
|
36
36
|
export declare function registerAllPublicTools(server: McpServer, context: ToolRegistrationContext): void;
|
|
37
37
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAG/E,OAAO,EACL,aAAa,EACb,aAAa,EACb,0BAA0B,GAC3B,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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAG/E,OAAO,EACL,aAAa,EACb,aAAa,EACb,0BAA0B,GAC3B,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,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;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAYN"}
|
package/dist/mcp-tools/index.js
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
* Modular tool registration for CBrowser MCP servers.
|
|
5
5
|
*
|
|
6
6
|
* Tool counts:
|
|
7
|
-
* - Base tools:
|
|
7
|
+
* - Base tools: 56 (across 18 categories)
|
|
8
8
|
* - Persona creation: 7
|
|
9
9
|
* - Ask user: 1
|
|
10
|
-
* - Enterprise stubs:
|
|
10
|
+
* - Enterprise stubs: 19
|
|
11
11
|
*
|
|
12
|
-
* Public npm total:
|
|
12
|
+
* Public npm total: 83 (64 real + 19 stubs)
|
|
13
13
|
*
|
|
14
14
|
* @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
|
|
15
15
|
* @license MIT
|
|
@@ -19,7 +19,7 @@ export { setRemoteMode, getRemoteMode, transformResponseForRemote, } from "./scr
|
|
|
19
19
|
// Re-export base tools
|
|
20
20
|
export { registerBaseTools } from "./base/index.js";
|
|
21
21
|
// Re-export individual base tool categories for granular use
|
|
22
|
-
export { registerNavigationTools, registerInteractionTools, registerExtractionTools, registerAssertionTools, registerAnalysisTools, registerSessionTools, registerHealingTools, registerVisualTestingTools, registerTestingTools, registerBugAnalysisTools, registerPersonaComparisonTools, registerCognitiveTools, registerValuesTools, registerPerformanceTools, registerAuditTools, registerBrowserManagementTools, } from "./base/index.js";
|
|
22
|
+
export { registerNavigationTools, registerInteractionTools, registerExtractionTools, registerAssertionTools, registerAnalysisTools, registerSessionTools, registerHealingTools, registerVisualTestingTools, registerTestingTools, registerBugAnalysisTools, registerPersonaComparisonTools, registerCognitiveTools, registerValuesTools, registerPerformanceTools, registerAuditTools, registerBrowserManagementTools, registerMarketingTools, } from "./base/index.js";
|
|
23
23
|
// Re-export persona creation tools
|
|
24
24
|
export { registerPersonaCreationTools } from "./persona-creation-tools.js";
|
|
25
25
|
// Re-export ask user tool
|
|
@@ -34,12 +34,12 @@ import { registerEnterpriseStubs } from "./enterprise-stubs.js";
|
|
|
34
34
|
* Register all public npm tools on an MCP server
|
|
35
35
|
*
|
|
36
36
|
* This registers:
|
|
37
|
-
* -
|
|
37
|
+
* - 56 base tools (including 3 marketing tools)
|
|
38
38
|
* - 7 persona creation tools
|
|
39
39
|
* - 1 ask_user tool
|
|
40
|
-
* -
|
|
40
|
+
* - 19 enterprise stubs
|
|
41
41
|
*
|
|
42
|
-
* Total:
|
|
42
|
+
* Total: 83 tools (64 real + 19 stubs)
|
|
43
43
|
*/
|
|
44
44
|
export function registerAllPublicTools(server, context) {
|
|
45
45
|
// Base tools (52)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,iCAAiC;AACjC,OAAO,EACL,aAAa,EACb,aAAa,EACb,0BAA0B,GAC3B,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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,iCAAiC;AACjC,OAAO,EACL,aAAa,EACb,aAAa,EACb,0BAA0B,GAC3B,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,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;;;;;;;;;;GAUG;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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cbrowser",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.6.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",
|