import { z } from "zod";
import { generateSearchQueries } from "../lib/llm.js";
import type { GenerateQueryResult } from "../types.js";
export const generateSearchQuerySchema = z.object({
target: z.string().describe("Name of character to search for"),
});
export type GenerateSearchQueryInput = z.infer<typeof generateSearchQuerySchema>;
export async function generateSearchQuery(
input: GenerateSearchQueryInput
): Promise<GenerateQueryResult> {
const queries = await generateSearchQueries(input.target);
return { queries };
}
export const generateSearchQueryTool = {
name: "generate_search_query",
description:
"Generate effective Twitter search queries for finding slander, roasts, jokes, and memes about a target character (real or fictional). Uses AI to produce creative, context-aware queries that capture character-specific slander.",
inputSchema: {
type: "object" as const,
properties: {
target: {
type: "string",
description: "Name of character to search for (e.g., 'LeBron James', 'Darth Vader')",
},
},
required: ["target"],
},
};