import { z } from "zod";
import { api } from "../services/api.js";
const searchMarketsSchema = z.object({
query: z.string().describe("Search query text"),
limit: z
.number()
.max(100)
.optional()
.default(20)
.describe("Maximum results to return (default: 20, max: 100)"),
});
export const searchMarketsTool = {
name: "search_markets",
description:
"Search for markets, events, and profiles using text search. limit applies per type (events/markets/profiles). Example: query=trump, limit=3.",
parameters: searchMarketsSchema,
execute: async (args: z.infer<typeof searchMarketsSchema>) => {
try {
const data = await api.searchMarkets(args.query, args.limit);
return JSON.stringify(data, null, 2);
} catch (error) {
return JSON.stringify({
error: error instanceof Error ? error.message : String(error),
});
}
},
};