From 4cb7ad8dfad5fa9c4fe4b2f2540b425c99253192 Mon Sep 17 00:00:00 2001 From: mika kuns Date: Wed, 3 Jun 2026 09:35:49 +0200 Subject: [PATCH] feat(worker): report activity models and reader interface --- .../Report/Interfaces/IClaudeHistoryReader.cs | 10 ++++++++++ src/ClaudeDo.Worker/Report/ReportModels.cs | 14 ++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/ClaudeDo.Worker/Report/Interfaces/IClaudeHistoryReader.cs create mode 100644 src/ClaudeDo.Worker/Report/ReportModels.cs diff --git a/src/ClaudeDo.Worker/Report/Interfaces/IClaudeHistoryReader.cs b/src/ClaudeDo.Worker/Report/Interfaces/IClaudeHistoryReader.cs new file mode 100644 index 0000000..c1bea07 --- /dev/null +++ b/src/ClaudeDo.Worker/Report/Interfaces/IClaudeHistoryReader.cs @@ -0,0 +1,10 @@ +namespace ClaudeDo.Worker.Report.Interfaces; + +public interface IClaudeHistoryReader +{ + Task> ReadAsync( + DateOnly start, + DateOnly end, + IReadOnlyList excludedPrefixes, + CancellationToken ct = default); +} diff --git a/src/ClaudeDo.Worker/Report/ReportModels.cs b/src/ClaudeDo.Worker/Report/ReportModels.cs new file mode 100644 index 0000000..01cc5ff --- /dev/null +++ b/src/ClaudeDo.Worker/Report/ReportModels.cs @@ -0,0 +1,14 @@ +namespace ClaudeDo.Worker.Report; + +public sealed class DayActivity +{ + public DateOnly Date { get; init; } + public List Prompts { get; } = new(); + public List Summaries { get; } = new(); +} + +public sealed class RepoActivity +{ + public required string RepoPath { get; init; } + public List Days { get; } = new(); +}