using Services.AIViewModel; namespace Services.Interaces { public interface IUserTrajectoryService { /// /// Analyzes the wellness trajectory for a user. /// Uses cached results when available; calls Claude API only when /// new responses exist since the last analysis. /// /// The user's email to look up responses /// Complete trajectory analysis Task GetOrAnalyzeTrajectoryAsync(string userEmail); /// /// Forces a fresh analysis regardless of cache state. /// Useful when admin wants to re-analyze. /// Task ForceReanalyzeTrajectoryAsync(string userEmail); /// /// Checks if a cached analysis exists and whether it's stale /// (i.e., new responses exist since last analysis). /// Task<(bool HasCache, bool IsStale, int CachedCount, int CurrentCount)> CheckCacheStatusAsync(string userEmail); } }