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");