Commit Graph

56 Commits

Author SHA1 Message Date
9b828bd7cf feat(dashboard): add TfL types and helper functions
- Add TypeScript types for TfL disruptions API
- Add TanStack Query integration with 2-minute stale time
- Add helper functions for severity colors and labels
- Add line color mapping using official TfL colors as Tailwind classes
- Add status severity to border color mapping for visual indicators

Co-authored-by: Ona <no-reply@ona.com>
2025-10-24 23:03:50 +00:00
b5a9e308e8 perf(backend): switch weather descriptions to Gemini 2.5 Flash-Lite
- Migrate from gemini-2.0-flash-exp to gemini-2.5-flash-lite
- 4x cheaper on input, 6x cheaper on output tokens
- Increase maxOutputTokens from 120 to 1000 to accommodate thinking tokens
- Fixes empty description issue caused by thinking tokens consuming limit

Co-authored-by: Ona <no-reply@ona.com>
2025-10-24 23:03:45 +00:00
37b61e105d feat(backend): mount TfL routes in main app
Co-authored-by: Ona <no-reply@ona.com>
2025-10-24 23:03:39 +00:00
81660c2d7e feat(backend): add TfL disruptions API with Gemini AI shortening
- Add TfL Unified API integration for real-time transport disruptions
- Implement batch AI shortening using Gemini 2.5 Flash-Lite
- Add in-memory caching with 1-hour TTL
- Support Tube, Overground, DLR, Elizabeth Line, and Tram
- Sort disruptions by severity with regex-based line name cleanup

Co-authored-by: Ona <no-reply@ona.com>
2025-10-24 23:03:35 +00:00
bf75062760 build: migrate to bun text-based lockfile
Co-authored-by: Ona <no-reply@ona.com>
2025-10-24 19:41:34 +00:00
30986e0292 initial commit
Co-authored-by: Ona <no-reply@ona.com>
2025-10-24 19:36:05 +00:00