feat(ui): add RefineTask client call and refine events
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -57,6 +57,10 @@ public interface IWorkerClient : INotifyPropertyChanged
|
|||||||
Task<string?> GetWeekReportAsync(DateOnly start, DateOnly end);
|
Task<string?> GetWeekReportAsync(DateOnly start, DateOnly end);
|
||||||
Task<string> GenerateWeekReportAsync(DateOnly start, DateOnly end);
|
Task<string> GenerateWeekReportAsync(DateOnly start, DateOnly end);
|
||||||
Task<bool> RunDailyPrepNowAsync();
|
Task<bool> RunDailyPrepNowAsync();
|
||||||
|
Task RefineTaskAsync(string taskId);
|
||||||
|
|
||||||
|
event Action<string>? RefineStartedEvent;
|
||||||
|
event Action<string, bool, string?>? RefineFinishedEvent;
|
||||||
Task ClearMyDayAsync();
|
Task ClearMyDayAsync();
|
||||||
Task<AppSettingsDto?> GetAppSettingsAsync();
|
Task<AppSettingsDto?> GetAppSettingsAsync();
|
||||||
Task<List<DailyNoteDto>> GetDailyNotesAsync(DateOnly day);
|
Task<List<DailyNoteDto>> GetDailyNotesAsync(DateOnly day);
|
||||||
|
|||||||
@@ -55,6 +55,9 @@ public partial class WorkerClient : ObservableObject, IAsyncDisposable, IWorkerC
|
|||||||
public event Action<string>? PrepLineEvent;
|
public event Action<string>? PrepLineEvent;
|
||||||
public event Action<bool>? PrepFinishedEvent;
|
public event Action<bool>? PrepFinishedEvent;
|
||||||
|
|
||||||
|
public event Action<string>? RefineStartedEvent;
|
||||||
|
public event Action<string, bool, string?>? RefineFinishedEvent;
|
||||||
|
|
||||||
public event Action<string, string>? PlanningMergeStartedEvent;
|
public event Action<string, string>? PlanningMergeStartedEvent;
|
||||||
public event Action<string, string>? PlanningSubtaskMergedEvent;
|
public event Action<string, string>? PlanningSubtaskMergedEvent;
|
||||||
public event Action<string, string, IReadOnlyList<string>>? PlanningMergeConflictEvent;
|
public event Action<string, string, IReadOnlyList<string>>? PlanningMergeConflictEvent;
|
||||||
@@ -179,6 +182,11 @@ public partial class WorkerClient : ObservableObject, IAsyncDisposable, IWorkerC
|
|||||||
_hub.On("PrepStarted", () => Dispatcher.UIThread.Post(() => PrepStartedEvent?.Invoke()));
|
_hub.On("PrepStarted", () => Dispatcher.UIThread.Post(() => PrepStartedEvent?.Invoke()));
|
||||||
_hub.On<string>("PrepLine", line => Dispatcher.UIThread.Post(() => PrepLineEvent?.Invoke(line)));
|
_hub.On<string>("PrepLine", line => Dispatcher.UIThread.Post(() => PrepLineEvent?.Invoke(line)));
|
||||||
_hub.On<bool>("PrepFinished", ok => Dispatcher.UIThread.Post(() => PrepFinishedEvent?.Invoke(ok)));
|
_hub.On<bool>("PrepFinished", ok => Dispatcher.UIThread.Post(() => PrepFinishedEvent?.Invoke(ok)));
|
||||||
|
|
||||||
|
_hub.On<string>("RefineStarted", id =>
|
||||||
|
Dispatcher.UIThread.Post(() => RefineStartedEvent?.Invoke(id)));
|
||||||
|
_hub.On<string, bool, string?>("RefineFinished", (id, ok, err) =>
|
||||||
|
Dispatcher.UIThread.Post(() => RefineFinishedEvent?.Invoke(id, ok, err)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task StartAsync()
|
public Task StartAsync()
|
||||||
@@ -345,6 +353,8 @@ public partial class WorkerClient : ObservableObject, IAsyncDisposable, IWorkerC
|
|||||||
public Task<bool> RunDailyPrepNowAsync()
|
public Task<bool> RunDailyPrepNowAsync()
|
||||||
=> _hub.InvokeAsync<bool>("RunDailyPrepNow");
|
=> _hub.InvokeAsync<bool>("RunDailyPrepNow");
|
||||||
|
|
||||||
|
public Task RefineTaskAsync(string taskId) => _hub.InvokeAsync("RefineTask", taskId);
|
||||||
|
|
||||||
public Task ClearMyDayAsync()
|
public Task ClearMyDayAsync()
|
||||||
=> _hub.InvokeAsync("ClearMyDay");
|
=> _hub.InvokeAsync("ClearMyDay");
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ public abstract class StubWorkerClient : IWorkerClient
|
|||||||
public event Action? PrepStartedEvent;
|
public event Action? PrepStartedEvent;
|
||||||
public event Action<string>? PrepLineEvent;
|
public event Action<string>? PrepLineEvent;
|
||||||
public event Action<bool>? PrepFinishedEvent;
|
public event Action<bool>? PrepFinishedEvent;
|
||||||
|
public event Action<string>? RefineStartedEvent;
|
||||||
|
public event Action<string, bool, string?>? RefineFinishedEvent;
|
||||||
public event Action<string, string>? PlanningMergeStartedEvent;
|
public event Action<string, string>? PlanningMergeStartedEvent;
|
||||||
public event Action<string, string>? PlanningSubtaskMergedEvent;
|
public event Action<string, string>? PlanningSubtaskMergedEvent;
|
||||||
public event Action<string, string, IReadOnlyList<string>>? PlanningMergeConflictEvent;
|
public event Action<string, string, IReadOnlyList<string>>? PlanningMergeConflictEvent;
|
||||||
@@ -81,6 +83,7 @@ public abstract class StubWorkerClient : IWorkerClient
|
|||||||
public virtual Task DeleteDailyNoteAsync(string id) => Task.CompletedTask;
|
public virtual Task DeleteDailyNoteAsync(string id) => Task.CompletedTask;
|
||||||
public string LastPrepLog = "";
|
public string LastPrepLog = "";
|
||||||
public virtual Task<string> GetLastPrepLogAsync() => Task.FromResult(LastPrepLog);
|
public virtual Task<string> GetLastPrepLogAsync() => Task.FromResult(LastPrepLog);
|
||||||
|
public virtual Task RefineTaskAsync(string taskId) => Task.CompletedTask;
|
||||||
|
|
||||||
protected void RaisePropertyChanged(string name) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
|
protected void RaisePropertyChanged(string name) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,6 +62,8 @@ sealed class FakeWorkerClient : IWorkerClient
|
|||||||
public event Action? PrepStartedEvent;
|
public event Action? PrepStartedEvent;
|
||||||
public event Action<string>? PrepLineEvent;
|
public event Action<string>? PrepLineEvent;
|
||||||
public event Action<bool>? PrepFinishedEvent;
|
public event Action<bool>? PrepFinishedEvent;
|
||||||
|
public event Action<string>? RefineStartedEvent;
|
||||||
|
public event Action<string, bool, string?>? RefineFinishedEvent;
|
||||||
public event Action<string, string>? PlanningMergeStartedEvent;
|
public event Action<string, string>? PlanningMergeStartedEvent;
|
||||||
public event Action<string, string>? PlanningSubtaskMergedEvent;
|
public event Action<string, string>? PlanningSubtaskMergedEvent;
|
||||||
public event Action<string, string, IReadOnlyList<string>>? PlanningMergeConflictEvent;
|
public event Action<string, string, IReadOnlyList<string>>? PlanningMergeConflictEvent;
|
||||||
@@ -86,6 +88,7 @@ sealed class FakeWorkerClient : IWorkerClient
|
|||||||
public Task UpdateDailyNoteAsync(string id, string text) => Task.CompletedTask;
|
public Task UpdateDailyNoteAsync(string id, string text) => Task.CompletedTask;
|
||||||
public Task DeleteDailyNoteAsync(string id) => Task.CompletedTask;
|
public Task DeleteDailyNoteAsync(string id) => Task.CompletedTask;
|
||||||
public Task<string> GetLastPrepLogAsync() => Task.FromResult(string.Empty);
|
public Task<string> GetLastPrepLogAsync() => Task.FromResult(string.Empty);
|
||||||
|
public Task RefineTaskAsync(string taskId) => Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ── Helper to build VM with pre-seeded Items ──────────────────────────────────
|
// ── Helper to build VM with pre-seeded Items ──────────────────────────────────
|
||||||
|
|||||||
Reference in New Issue
Block a user