Manage per-user WeatherSource instances via FeedSourceProvider, following the same pattern as LocationService. Wire into FeedEngineService so weather data is included in the feed. Co-authored-by: Ona <no-reply@ona.com>
- Add createLocationRouter with location.update mutation - Refactor tRPC to factory pattern (createTRPC, createTRPCRouter) - Protected procedure by default (all routes require auth) - Replace zod with arktype for input validation - Wire location router in main() with dependency injection Co-authored-by: Ona <no-reply@ona.com>