init project

This commit is contained in:
root
2026-07-31 13:12:54 -04:00
parent 0da92d5e02
commit f3863f760c
7215 changed files with 1860260 additions and 1 deletions
+41
View File
@@ -0,0 +1,41 @@
import { z } from 'zod';
import { errorResult, jsonResult, toErrorMessage } from '../shared.js';
import { browserManager } from './browserManager.js';
export function registerBrowserNavigateTool(server) {
server.registerTool('browser_navigate', {
title: 'Browser Navigate',
description: 'Open a URL in a headless/headed Playwright browser session. Reuses the same session across calls, so later tools (screenshot, inspect_dom, click, etc.) operate on the same page.',
inputSchema: {
url: z.string().url().describe('URL to navigate to, e.g. the local dev server URL from start_dev_server.'),
headless: z.boolean().optional().default(true).describe('Run browser headlessly.'),
waitUntil: z
.enum(['load', 'domcontentloaded', 'networkidle'])
.optional()
.default('load')
.describe('When to consider navigation complete.'),
resetLogs: z
.boolean()
.optional()
.default(true)
.describe('Clear previously captured console logs before navigating.'),
},
}, async ({ url, headless, waitUntil, resetLogs: shouldResetLogs }) => {
try {
const session = await browserManager.getSession(headless);
if (shouldResetLogs)
browserManager.resetLogs();
const response = await session.page.goto(url, { waitUntil });
const title = await session.page.title().catch(() => '');
return jsonResult({
url,
title,
status: response?.status() ?? null,
finalUrl: response?.url() ?? url,
});
}
catch (error) {
return errorResult(toErrorMessage(error));
}
});
}
//# sourceMappingURL=navigate.js.map