feat(phase-4): WS6 — Billing & Usage Metering (Stripe, free tier enforcement)
- DB migration 023: tenant_subscriptions and usage_events tables - UsageMeteringMiddleware: in-memory counters, 60s flush to DB via UPSERT - FreeTierEnforcementMiddleware: 10 agents / 1,000 calls/day limits, Redis cache - UsageService: getDailyUsage and getActiveAgentCount - BillingService: Stripe checkout sessions, webhook verification, subscription status - POST /billing/checkout, POST /billing/webhook, GET /billing/usage endpoints - BILLING_ENABLED=false disables enforcement without breaking metering - Dashboard: Usage tab with Free Tier/Pro badges and metric cards - 19 unit tests passing across billing services and middleware Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -38,6 +38,7 @@
|
||||
"prom-client": "^15.1.3",
|
||||
"rate-limiter-flexible": "^5.0.5",
|
||||
"redis": "^4.6.13",
|
||||
"stripe": "^21.0.1",
|
||||
"ulid": "^3.0.2",
|
||||
"uuid": "^9.0.1",
|
||||
"web-did-resolver": "^2.0.32"
|
||||
|
||||
Reference in New Issue
Block a user