chore: merge main into task branch

This commit is contained in:
Mika Kuns
2026-09-02 13:13:59 +02:00
18 changed files with 1065 additions and 391 deletions
@@ -623,4 +623,38 @@ public sealed class BatchMcpToolsTests : IDisposable
Assert.Equal(2, progress.Reports.Count);
Assert.Equal(2, progress.Reports[1].Total);
}
[Fact]
public async Task BatchGetTasks_FailedTaskWithFailureReason_ReturnsReasonWhenRequested()
{
var listId = await SeedListAsync();
var task = await SeedTaskAsync(listId, "failed", TaskStatus.Failed);
task.FailureReason = "max-turns-exceeded";
await _tasks.UpdateAsync(task);
var sut = BuildSut();
var results = await sut.BatchGetTasks(
new[] { task.Id }, includeDescription: true, fields: new[] { "failureReason" },
cancellationToken: CancellationToken.None);
var found = results.Single(r => r.Id == task.Id).TaskFull!;
Assert.Equal("max-turns-exceeded", found.FailureReason);
Assert.Null(found.Description);
Assert.Null(found.Status);
}
[Fact]
public async Task BatchGetTasks_IdleTaskWithoutFailureReason_ReturnsNullWhenRequested()
{
var listId = await SeedListAsync();
var task = await SeedTaskAsync(listId, "idle", TaskStatus.Idle);
var sut = BuildSut();
var results = await sut.BatchGetTasks(
new[] { task.Id }, includeDescription: true, fields: new[] { "failureReason" },
cancellationToken: CancellationToken.None);
var found = results.Single(r => r.Id == task.Id).TaskFull!;
Assert.Null(found.FailureReason);
}
}