Adds ForceSetStatusAsync on ITaskStateService (no transition guards) plus SetTaskStatus / SetTaskTags / GetAllTags hub methods so the UI can edit a task's status and tags directly. PlanningHubTests ctor updated for the new ITaskStateService dependency. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
22 lines
1.2 KiB
C#
22 lines
1.2 KiB
C#
namespace ClaudeDo.Worker.State;
|
|
|
|
public interface ITaskStateService
|
|
{
|
|
Task<TransitionResult> EnqueueAsync(string taskId, CancellationToken ct);
|
|
Task<TransitionResult> StartRunningAsync(string taskId, DateTime startedAt, CancellationToken ct);
|
|
Task<TransitionResult> CompleteAsync(string taskId, DateTime finishedAt, string? result, CancellationToken ct);
|
|
Task<TransitionResult> FailAsync(string taskId, DateTime finishedAt, string? error, CancellationToken ct);
|
|
Task<TransitionResult> CancelAsync(string taskId, DateTime finishedAt, CancellationToken ct);
|
|
Task<TransitionResult> ResetToIdleAsync(string taskId, CancellationToken ct);
|
|
|
|
Task<TransitionResult> ForceSetStatusAsync(string taskId, ClaudeDo.Data.Models.TaskStatus status, CancellationToken ct);
|
|
|
|
Task<TransitionResult> StartPlanningAsync(string parentId, CancellationToken ct);
|
|
Task<TransitionResult> FinalizePlanningAsync(string parentId, CancellationToken ct);
|
|
|
|
Task<TransitionResult> BlockOnAsync(string taskId, string predecessorTaskId, CancellationToken ct);
|
|
Task<TransitionResult> UnblockAsync(string taskId, CancellationToken ct);
|
|
|
|
Task<int> RecoverStaleRunningAsync(string reason, CancellationToken ct);
|
|
}
|