Commit Graph

2 Commits

Author SHA1 Message Date
167d3be2e4 Implement all remaining P1 Rust TODOs: Slack alerts, Resend emails, pricing refresh, AES-256-GCM key encryption
- anomaly.rs: Slack Block Kit webhook + Resend email on 3x cost spike
- digest.rs: Weekly HTML digest email via Resend with model usage + savings tables
- main.rs: Daily pricing refresh with hardcoded table (OpenAI/Anthropic/Google models)
- handler.rs: AES-256-GCM encryption for provider API keys (nonce || ciphertext storage)
2026-03-01 05:53:51 +00:00
e234f66b9b Add dd0c/route Dashboard API: analytics, routing rules CRUD, API keys, providers
- GET /api/v1/analytics/summary — 7-day cost savings, latency, routing breakdown
- GET /api/v1/analytics/timeseries — hourly/daily rollups from TimescaleDB continuous aggregates
- GET /api/v1/analytics/models — per-model cost and token breakdown
- CRUD /api/v1/rules — routing rules with priority, match conditions, strategies
- CRUD /api/v1/keys — API key generation (dd0c_ prefix), bcrypt hashing, revocation
- CRUD /api/v1/providers — provider config upsert with encrypted key storage
- GET /api/v1/org — org info
- Role-based access: Owner required for mutations
2026-03-01 02:31:28 +00:00