Files
2026-07-31 13:12:54 -04:00

40 lines
1.5 KiB
JavaScript

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