import { z } from "zod";
import { getPositions } from "../services/data-api.js";
const schema = z.object({
user: z.string().describe("User Ethereum address (0x...)"),
market: z.string().optional().describe("Filter by market condition ID"),
limit: z.number().optional().describe("Number of positions to return"),
offset: z.number().optional().describe("Pagination offset"),
});
export const getPositionsTool = {
name: "get_positions",
description: "Get a user's open positions (public on-chain data). Use user address; optional market conditionId. Example: user=0xabc..., market=0x...",
parameters: schema,
execute: async (args: z.infer<typeof schema>) => {
try {
const data = await getPositions(args);
return JSON.stringify(data, null, 2);
} catch (error) {
return JSON.stringify({ error: error instanceof Error ? error.message : String(error) });
}
},
};