using Journal.Core.Dtos; namespace Journal.Core.Services.Ai; public sealed class DisabledCoachService(string message = "Coach is not available. Set JOURNAL_AI_PROVIDER to enable.") : ICoachService { private readonly string _message = message; public Task DailyCheckInAsync(CoachContextDto context, CancellationToken cancellationToken = default) => Task.FromResult(Disabled("daily_checkin")); public Task EveningReviewAsync(CoachContextDto context, CancellationToken cancellationToken = default) => Task.FromResult(Disabled("evening_review")); public Task WeeklyReviewAsync(CoachContextDto context, CancellationToken cancellationToken = default) => Task.FromResult(Disabled("weekly_review")); private CoachPlanDto Disabled(string kind) => new( Kind: kind, Title: "Coach Disabled", Summary: _message, Questions: [], SuggestedNextActions: [], SuggestedTags: [], Evidence: []); }