Files
toolLooper/tools/websearch.js

36 lines
906 B
JavaScript

import 'dotenv/config';
import Exa from "exa-js";
const exaApiKey = process.env.EXA_API_KEY;
if (!exaApiKey) {
throw new Error("Missing EXA_API_KEY environment variable for websearch");
}
const exa = new Exa(exaApiKey);
export default {
type: 'function',
name: 'websearch',
description: 'Perform a google web search.',
strict: true,
parameters: {
type: 'object',
required: ['query'],
additionalProperties: false,
properties: {
query: { type: 'string', description: 'The search query.' }
}
}
};
export async function run(args) {
try
{
console.log('Google search: ', args.query);
const result = await exa.search( args.query,{ type: "auto", userLocation: "DE", numResults: 20} );
console.log('Google search result: ', result.results[0]);
return result;
} catch (error) {
return `websearch error: ${error?.message || String(error)}`;
}
}