import { client } from "@agent-toolkit/client-ts";
import type { SearchResponse, ExtractResponse } from "@agent-toolkit/client-ts";
// Set up the client
client.setConfig({
baseUrl: "https://api.agenttoolkit.ai",
headers: {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY",
},
});
async function searchAndExtract(query: string) {
try {
// 1. Perform a search
console.log(`Searching for '${query}'...`);
const searchResponse = await client.get<SearchResponse>({
url: "/api/v1/search",
query: {
query,
max_results: 3,
provider: "google",
summarize: true,
},
});
// 2. Process search results
if (!searchResponse.data?.results?.length) {
console.log("No search results found");
return null;
}
// 3. Extract content from the first result URL
const url = searchResponse.data.results[0].url;
console.log(`Extracting content from ${url}...`);
const extractResponse = await client.get<ExtractResponse>({
url: "/api/v1/extract",
query: {
url,
include_images: true,
include_links: true,
extract_depth: "advanced",
},
});
// 4. Return combined results
return {
searchResults: searchResponse.data,
extractedContent: extractResponse.data?.results?.[0] || null,
};
} catch (error) {
console.error("Error:", error);
return null;
}
}
// Usage
const results = await searchAndExtract("typescript openapi client");