journal/Journal.Core/Services/Ai/DisabledCoachService.cs
Jacob Schmidt 192e6e3891 feat: add AI coaching, conversation persistence, and LLamaSharp integration
- Add Journal.AI project with LLamaSharp-based AI service (Phi-3 model)
- Implement coach sessions (daily check-in, evening review, weekly review)
- Add conversation CRUD with SQLCipher persistence
- AI chat with full conversation history for context-aware replies
- Frontend: CoachPanel, AI stores, conversation stores, side panel UI
- Conversation list with create, rename, and delete support
- Fix Phi-3 output quality (system prompt leaking, token cleanup, JSON filtering)
- Fix CREATEDRAFT kind override in coach sessions

Co-Authored-By: Oz <oz-agent@warp.dev>
2026-03-01 16:07:59 -06:00

27 lines
1.0 KiB
C#

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<CoachPlanDto> DailyCheckInAsync(CoachContextDto context, CancellationToken cancellationToken = default)
=> Task.FromResult(Disabled("daily_checkin"));
public Task<CoachPlanDto> EveningReviewAsync(CoachContextDto context, CancellationToken cancellationToken = default)
=> Task.FromResult(Disabled("evening_review"));
public Task<CoachPlanDto> 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: []);
}