fix(claude-do): merge batch_get_tasks: accept "number" (and "id") in the fields fi

ClaudeDo-Task: e2ee8054-eb93-456a-98b2-f3362818f410
This commit is contained in:
mika kuns
2026-10-01 13:32:59 +02:00
2 changed files with 21 additions and 1 deletions
+1 -1
View File
@@ -79,7 +79,7 @@ public sealed class BatchMcpTools
private static readonly string[] KnownDetailFields = private static readonly string[] KnownDetailFields =
{ {
"listId", "title", "description", "status", "result", "createdBy", "createdAt", "id", "number", "listId", "title", "description", "status", "result", "createdBy", "createdAt",
"startedAt", "finishedAt", "isMyDay", "sortOrder", "roadblockCount", "roadblockText", "startedAt", "finishedAt", "isMyDay", "sortOrder", "roadblockCount", "roadblockText",
"failureReason", "failureReason",
}; };
@@ -324,6 +324,26 @@ public sealed class BatchMcpToolsTests : IDisposable
Assert.Contains("notAField", ex.Message); Assert.Contains("notAField", ex.Message);
} }
[Fact]
public async Task BatchGetTasks_NumberAndIdFields_AcceptedAndReturned()
{
var listId = await SeedListAsync();
var task = await SeedTaskAsync(listId);
task.Description = "full description not requested";
await _tasks.UpdateAsync(task);
var sut = BuildSut();
var results = await sut.BatchGetTasks(
new[] { task.Id }, includeDescription: true, fields: new[] { "number", "title" },
cancellationToken: CancellationToken.None);
var found = results.Single(r => r.Id == task.Id).TaskFull!;
Assert.Equal(task.Number, found.Number);
Assert.Equal(task.Id, found.Id);
Assert.Equal(task.Title, found.Title);
Assert.Null(found.Description); // Not requested
}
[Fact] [Fact]
public async Task BatchGetTasks_RoadblockTextField_ExtractsTailOfResult_WithoutFullResult() public async Task BatchGetTasks_RoadblockTextField_ExtractsTailOfResult_WithoutFullResult()
{ {