UNPKG

@baruchiro/actual-mcp

Version:

Actual Budget MCP server exposing API functionality

21 lines (20 loc) 961 B
import { formatAmount } from "../../utils.js"; export class SpendingByCategoryReportGenerator { generate(sortedGroups, period, accountLabel, includeIncome) { let markdown = `# Spending by Category\n\n`; markdown += `Period: ${period.start} to ${period.end}\n\n`; markdown += `${accountLabel}\n\n`; markdown += `Income categories: ${includeIncome ? "Included" : "Excluded"}\n\n`; sortedGroups.forEach((group) => { markdown += `## ${group.name}\n`; markdown += `Total: ${formatAmount(group.total)}\n\n`; markdown += `| Category | Amount | Transactions |\n`; markdown += `| -------- | ------ | ------------ |\n`; group.categories.forEach((category) => { markdown += `| ${category.name} | ${formatAmount(category.total)} | ${category.transactions} |\n`; }); markdown += `\n`; }); return markdown; } }