init project
This commit is contained in:
Vendored
+40
@@ -0,0 +1,40 @@
|
||||
import { z } from 'zod';
|
||||
import { errorResult, jsonResult, toErrorMessage } from '../shared.js';
|
||||
import { browserManager } from './browserManager.js';
|
||||
export function registerBrowserConsoleLogsTool(server) {
|
||||
server.registerTool('browser_get_console_logs', {
|
||||
title: 'Browser Console Logs',
|
||||
description: 'Return console logs, JavaScript page errors, and failed network requests captured since the last browser_navigate call (or since the browser session started).',
|
||||
inputSchema: {
|
||||
level: z
|
||||
.enum(['all', 'error', 'warn', 'log', 'info', 'debug'])
|
||||
.optional()
|
||||
.default('all')
|
||||
.describe('Filter logs by type.'),
|
||||
limit: z
|
||||
.number()
|
||||
.int()
|
||||
.positive()
|
||||
.optional()
|
||||
.default(100)
|
||||
.describe('Maximum number of logs to return.'),
|
||||
},
|
||||
}, async ({ level, limit }) => {
|
||||
try {
|
||||
const session = await browserManager.getSession();
|
||||
let logs = session.consoleLogs.slice(-limit);
|
||||
if (level !== 'all') {
|
||||
logs = logs.filter((log) => log.type === level);
|
||||
}
|
||||
return jsonResult({
|
||||
totalCaptured: session.consoleLogs.length,
|
||||
returned: logs.length,
|
||||
logs,
|
||||
});
|
||||
}
|
||||
catch (error) {
|
||||
return errorResult(toErrorMessage(error));
|
||||
}
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=consoleLogs.js.map
|
||||
Reference in New Issue
Block a user