import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { z } from "zod"; import { merchantArg, merchantInstruction, promptMerchantSchema } from "./common.js"; export function registerRevenueComparisonPrompt(server: McpServer) { server.prompt( "revenue-comparison", "Порівняння виручки між двома періодами", { period1Begin: z.string().describe("Початок першого періоду (YYYY-MM-DD)"), period1End: z.string().describe("Кінець першого періоду (YYYY-MM-DD)"), period2Begin: z.string().describe("Початок другого періоду (YYYY-MM-DD)"), period2End: z.string().describe("Кінець другого періоду (YYYY-MM-DD)"), merchant: promptMerchantSchema, }, ({ period1Begin, period1End, period2Begin, period2End, merchant }) => ({ messages: [ { role: "user" as const, content: { type: "text" as const, text: `Порівняй виручку між періодами ${period1Begin} — ${period1End} та ${period2Begin} — ${period2End}. ${merchantInstruction(merchant)} Workflow: 1. Виклич wfp_summarize_transactions для обох періодів${merchantArg(merchant)}. 2. Якщо для AOV / fee / settlement потрібні рядки, добери їх через wfp_get_transaction_list порціями з limit<=20. 3. Для кожного періоду покажи: - revenue - transaction count - AOV - refund share - fee / net 4. Порівняй метрики, покажи абсолютну і відносну зміну. 5. Додай висновок: що змінилось, які можливі причини, на що дивитися далі.`, }, }, ], }), ); }