import { Database, Gauge, ReceiptText } from "lucide-react"; import { Card, CardContent, CardHeader, CardTitle, CardDescription } from "@/components/ui/card"; const SURFACES = [ { title: "Inference ledger", description: "Request-scoped usage and billed runs from cost_events.", icon: Database, points: ["tokens + billed dollars", "provider, biller, model", "subscription and overage aware"], tone: "from-sky-500/12 via-sky-500/6 to-transparent", }, { title: "Finance ledger", description: "Account-level charges that are not one prompt-response pair.", icon: ReceiptText, points: ["top-ups, refunds, fees", "Bedrock provisioned or training charges", "credit expiries and adjustments"], tone: "from-amber-500/14 via-amber-500/6 to-transparent", }, { title: "Live quotas", description: "Provider or biller windows that can stop traffic in real time.", icon: Gauge, points: ["provider quota windows", "biller credit systems", "errors surfaced directly"], tone: "from-emerald-500/14 via-emerald-500/6 to-transparent", }, ] as const; export function AccountingModelCard() { return (
Accounting model Paperclip now separates request-level inference usage from account-level finance events. That keeps provider reporting honest when the biller is OpenRouter, Cloudflare, Bedrock, or another intermediary. {SURFACES.map((surface) => { const Icon = surface.icon; return (
{surface.title}
{surface.description}
{surface.points.map((point) => (
{point}
))}
); })}
); }