/dashboard/products/[id]/ai-cost with four tabs: by-agent breakdown, 6-month spend trend, top pipelines by cost, and recent credit deductionsaiCostRouter) — monthly summary, trend series, cross-project rollup, budget setter, and recent transactions; all scoped to project ownershipThe platform deducts credits per agent run but previously had no visibility into where those credits went. This release gives teams a clear breakdown of which agents are consuming the most — per project — so cost governance and ROI measurement are no longer guesswork.
creditTransactions joined to agentJobs → pipelineRuns for project-scoped queriesbillingSettings under key ai_budget_monthly_limitforce-dynamic for auth safety on each requestai-cost.test.ts added; vitest.config.ts CRLF → LF fix includedEverything is done. Here's the full summary:
PR #137's head branch (feat/ai-cost-dashboard) was already deleted — its code was already present on main — so the merge step was skipped and the release was created directly from main.
v1.0.137| Area | What Shipped |
|---|---|
| 🆕 AI Cost Dashboard | New page at /dashboard/products/[id]/ai-cost with 4 tabs: by-agent breakdown, 6-month trend, top pipelines, recent runs |
| 💰 Budget Alerts | Visual progress bar — green/yellow/red based on % of monthly credit limit consumed |
🔌 aiCostRouter | 5 new tRPC procedures: monthly summary, trend, cross-project rollup, budget setter, recent transactions |
| 🧭 Sidebar | New Operations → AI Cost & Budget nav item with Coins icon |
| 🔄 One-Click Rollback | New rollbackRouter, rollbackEvents DB table, and rollback/initiate Inngest event |
| 🤖 MCP Integration | MCP server registry schema, curated catalog (8 categories), and management router with encrypted credentials |
| 📊 Portfolio & Agent Routers | Cross-project portfolio summaries, agent coordination visibility, natural language chat/intent parsing |
| 💳 Platform Billing | Separate Stripe router for SaaS Factory platform plans (Free/Pro/Enterprise) |
| 🧪 Tests & Config | New ai-cost.test.ts, improved mock stability in autofix tests, CRLF→LF fix in vitest.config.ts |