From f57cdb7cb441c4124b159412ae4f3a09f004bd2e Mon Sep 17 00:00:00 2001 From: Mika Kuns Date: Tue, 14 Apr 2026 11:37:08 +0200 Subject: [PATCH] feat(data): extend TaskRepository with model, system_prompt, agent_path columns Co-Authored-By: Claude Opus 4.6 (1M context) --- .../Repositories/TaskRepository.cs | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/ClaudeDo.Data/Repositories/TaskRepository.cs b/src/ClaudeDo.Data/Repositories/TaskRepository.cs index 8db5b23..ba62735 100644 --- a/src/ClaudeDo.Data/Repositories/TaskRepository.cs +++ b/src/ClaudeDo.Data/Repositories/TaskRepository.cs @@ -42,9 +42,11 @@ public sealed class TaskRepository await using var cmd = conn.CreateCommand(); cmd.CommandText = """ INSERT INTO tasks (id, list_id, title, description, status, scheduled_for, - result, log_path, created_at, started_at, finished_at, commit_type) + result, log_path, created_at, started_at, finished_at, commit_type, + model, system_prompt, agent_path) VALUES (@id, @list_id, @title, @description, @status, @scheduled_for, - @result, @log_path, @created_at, @started_at, @finished_at, @commit_type) + @result, @log_path, @created_at, @started_at, @finished_at, @commit_type, + @model, @system_prompt, @agent_path) """; BindTask(cmd, entity); await cmd.ExecuteNonQueryAsync(ct); @@ -58,7 +60,8 @@ public sealed class TaskRepository UPDATE tasks SET list_id = @list_id, title = @title, description = @description, status = @status, scheduled_for = @scheduled_for, result = @result, log_path = @log_path, started_at = @started_at, - finished_at = @finished_at, commit_type = @commit_type + finished_at = @finished_at, commit_type = @commit_type, + model = @model, system_prompt = @system_prompt, agent_path = @agent_path WHERE id = @id """; BindTask(cmd, entity); @@ -78,7 +81,7 @@ public sealed class TaskRepository { await using var conn = _factory.Open(); await using var cmd = conn.CreateCommand(); - cmd.CommandText = "SELECT id, list_id, title, description, status, scheduled_for, result, log_path, created_at, started_at, finished_at, commit_type FROM tasks WHERE id = @id"; + cmd.CommandText = "SELECT id, list_id, title, description, status, scheduled_for, result, log_path, created_at, started_at, finished_at, commit_type, model, system_prompt, agent_path FROM tasks WHERE id = @id"; cmd.Parameters.AddWithValue("@id", taskId); await using var reader = await cmd.ExecuteReaderAsync(ct); @@ -90,7 +93,7 @@ public sealed class TaskRepository { await using var conn = _factory.Open(); await using var cmd = conn.CreateCommand(); - cmd.CommandText = "SELECT id, list_id, title, description, status, scheduled_for, result, log_path, created_at, started_at, finished_at, commit_type FROM tasks WHERE list_id = @list_id ORDER BY created_at"; + cmd.CommandText = "SELECT id, list_id, title, description, status, scheduled_for, result, log_path, created_at, started_at, finished_at, commit_type, model, system_prompt, agent_path FROM tasks WHERE list_id = @list_id ORDER BY created_at"; cmd.Parameters.AddWithValue("@list_id", listId); await using var reader = await cmd.ExecuteReaderAsync(ct); @@ -175,7 +178,8 @@ public sealed class TaskRepository await using var cmd = conn.CreateCommand(); cmd.CommandText = """ SELECT t.id, t.list_id, t.title, t.description, t.status, t.scheduled_for, - t.result, t.log_path, t.created_at, t.started_at, t.finished_at, t.commit_type + t.result, t.log_path, t.created_at, t.started_at, t.finished_at, t.commit_type, + t.model, t.system_prompt, t.agent_path FROM tasks t WHERE t.status = 'queued' AND (t.scheduled_for IS NULL OR t.scheduled_for <= @now) @@ -277,6 +281,9 @@ public sealed class TaskRepository cmd.Parameters.AddWithValue("@started_at", e.StartedAt.HasValue ? e.StartedAt.Value.ToString("o") : DBNull.Value); cmd.Parameters.AddWithValue("@finished_at", e.FinishedAt.HasValue ? e.FinishedAt.Value.ToString("o") : DBNull.Value); cmd.Parameters.AddWithValue("@commit_type", e.CommitType); + cmd.Parameters.AddWithValue("@model", (object?)e.Model ?? DBNull.Value); + cmd.Parameters.AddWithValue("@system_prompt", (object?)e.SystemPrompt ?? DBNull.Value); + cmd.Parameters.AddWithValue("@agent_path", (object?)e.AgentPath ?? DBNull.Value); } private static TaskEntity ReadTask(SqliteDataReader r) => new() @@ -293,6 +300,9 @@ public sealed class TaskRepository StartedAt = r.IsDBNull(9) ? null : DateTime.Parse(r.GetString(9)), FinishedAt = r.IsDBNull(10) ? null : DateTime.Parse(r.GetString(10)), CommitType = r.GetString(11), + Model = r.IsDBNull(12) ? null : r.GetString(12), + SystemPrompt = r.IsDBNull(13) ? null : r.GetString(13), + AgentPath = r.IsDBNull(14) ? null : r.GetString(14), }; #endregion