"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PricePredictionTool = void 0;
const zod_1 = require("zod");
const ai_1 = require("ai");
const allora_1 = require("../allora");
const pricePredictionToolInputSchema = zod_1.z.object({
    tokenSymbol: zod_1.z.enum(["BTC", "ETH"]).describe("The token symbol for which to get the price prediction"),
});
class PricePredictionTool {
    constructor() {
        this.allora = new allora_1.Allora();
        this.tool = (0, ai_1.tool)({
            description: "Get the price prediction of a token for the next 8 hours",
            inputSchema: pricePredictionToolInputSchema,
            execute: async (parameters) => {
                return await this.allora.getPricePrediction(parameters.tokenSymbol, "EIGHT_HOURS");
            },
        });
    }
}
exports.PricePredictionTool = PricePredictionTool;
