From c048264b954685ab55fa97cd1fafbedd0aebbc12 Mon Sep 17 00:00:00 2001 From: mika kuns Date: Thu, 23 Apr 2026 23:17:30 +0200 Subject: [PATCH] fix(worker): register TaskRepository in DI and guard null WorkingDir --- src/ClaudeDo.Worker/Planning/PlanningSessionManager.cs | 4 ++-- src/ClaudeDo.Worker/Program.cs | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ClaudeDo.Worker/Planning/PlanningSessionManager.cs b/src/ClaudeDo.Worker/Planning/PlanningSessionManager.cs index 1f0f88d..84f5991 100644 --- a/src/ClaudeDo.Worker/Planning/PlanningSessionManager.cs +++ b/src/ClaudeDo.Worker/Planning/PlanningSessionManager.cs @@ -72,7 +72,7 @@ public sealed class PlanningSessionManager var list = await lists.GetByIdAsync(task.ListId, ct) ?? throw new InvalidOperationException($"List {task.ListId} not found."); - return new PlanningSessionStartContext(taskId, list.WorkingDir, files); + return new PlanningSessionStartContext(taskId, list.WorkingDir ?? throw new InvalidOperationException($"List {task.ListId} has no working directory configured."), files); } public async Task FinalizeAsync(string taskId, bool queueAgentTasks, CancellationToken ct) @@ -125,7 +125,7 @@ public sealed class PlanningSessionManager var list = await lists.GetByIdAsync(task.ListId, ct) ?? throw new InvalidOperationException($"List {task.ListId} not found."); - return new PlanningSessionResumeContext(taskId, list.WorkingDir, task.PlanningSessionId, mcpConfigPath); + return new PlanningSessionResumeContext(taskId, list.WorkingDir ?? throw new InvalidOperationException($"List {task.ListId} has no working directory configured."), task.PlanningSessionId, mcpConfigPath); } private static string GenerateToken() diff --git a/src/ClaudeDo.Worker/Program.cs b/src/ClaudeDo.Worker/Program.cs index 5d0f199..25c9ece 100644 --- a/src/ClaudeDo.Worker/Program.cs +++ b/src/ClaudeDo.Worker/Program.cs @@ -63,6 +63,9 @@ builder.Services.AddSingleton(sp => builder.Services.AddSingleton(); builder.Services.AddHttpContextAccessor(); builder.Services.AddScoped(); +builder.Services.AddScoped(sp => + sp.GetRequiredService>().CreateDbContext()); +builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddMcpServer() .WithHttpTransport()