chore: checkpoint browser tooling and routing updates
This commit is contained in:
@@ -55,7 +55,8 @@ describe('Browser tools', () => {
|
||||
expect(names).toContain('browser.type');
|
||||
expect(names).toContain('browser.content');
|
||||
expect(names).toContain('browser.eval');
|
||||
expect(names).toHaveLength(6);
|
||||
expect(names).toContain('browser.evaluate');
|
||||
expect(names).toHaveLength(7);
|
||||
});
|
||||
|
||||
it('browser.navigate navigates to URL', async () => {
|
||||
@@ -147,6 +148,13 @@ describe('Browser tools', () => {
|
||||
expect(result.output).toBe('hello world');
|
||||
});
|
||||
|
||||
it('browser.evaluate aliases browser.eval behavior', async () => {
|
||||
const tool = getTool('browser.evaluate');
|
||||
const result = await tool.execute({ expression: '1 + 1' });
|
||||
expect(result.success).toBe(true);
|
||||
expect(result.output).toContain('42');
|
||||
});
|
||||
|
||||
it('handles navigation errors gracefully', async () => {
|
||||
mockGoto.mockRejectedValueOnce(new Error('Navigation failed'));
|
||||
const tool = getTool('browser.navigate');
|
||||
|
||||
@@ -64,6 +64,7 @@ export function createBrowserTools(manager: BrowserManager): Tool[] {
|
||||
createBrowserTypeTool(manager),
|
||||
createBrowserContentTool(manager),
|
||||
createBrowserEvalTool(manager),
|
||||
createBrowserEvaluateTool(manager),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -294,9 +295,25 @@ function createBrowserContentTool(manager: BrowserManager): Tool {
|
||||
}
|
||||
|
||||
function createBrowserEvalTool(manager: BrowserManager): Tool {
|
||||
return createBrowserEvalLikeTool(
|
||||
manager,
|
||||
'browser.eval',
|
||||
'Evaluate JavaScript in the browser page context. Returns the result as a string.',
|
||||
);
|
||||
}
|
||||
|
||||
function createBrowserEvaluateTool(manager: BrowserManager): Tool {
|
||||
return createBrowserEvalLikeTool(
|
||||
manager,
|
||||
'browser.evaluate',
|
||||
'Alias of browser.eval for compatibility. Evaluates JavaScript in the browser page context.',
|
||||
);
|
||||
}
|
||||
|
||||
function createBrowserEvalLikeTool(manager: BrowserManager, name: 'browser.eval' | 'browser.evaluate', description: string): Tool {
|
||||
return {
|
||||
name: 'browser.eval',
|
||||
description: 'Evaluate JavaScript in the browser page context. Returns the result as a string.',
|
||||
name,
|
||||
description,
|
||||
inputSchema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
|
||||
Reference in New Issue
Block a user