refactor: consolidate backend services

Replace per-source services (LocationService, WeatherService,
TflService, FeedEngineService) with a single UserSessionManager
that owns all per-user state. Source creation is delegated to
thin FeedSourceProvider implementations per source type.

Co-authored-by: Ona <no-reply@ona.com>
This commit is contained in:
2026-02-18 00:41:20 +00:00
parent f987253e53
commit 2f082b5833
19 changed files with 383 additions and 860 deletions

View File

@@ -0,0 +1,9 @@
import type { FeedSource } from "@aris/core"
export interface FeedSourceProvider {
feedSourceForUser(userId: string): FeedSource
}
export type FeedSourceProviderFn = (userId: string) => FeedSource
export type FeedSourceProviderInput = FeedSourceProvider | FeedSourceProviderFn