()
| 63 | return null |
| 64 | }, |
| 65 | async call() { |
| 66 | const taskListId = getTaskListId() |
| 67 | |
| 68 | const allTasks = (await listTasks(taskListId)).filter( |
| 69 | t => !t.metadata?._internal, |
| 70 | ) |
| 71 | |
| 72 | // Build a set of resolved task IDs for filtering |
| 73 | const resolvedTaskIds = new Set( |
| 74 | allTasks.filter(t => t.status === 'completed').map(t => t.id), |
| 75 | ) |
| 76 | |
| 77 | const tasks = allTasks.map(task => ({ |
| 78 | id: task.id, |
| 79 | subject: task.subject, |
| 80 | status: task.status, |
| 81 | owner: task.owner, |
| 82 | blockedBy: task.blockedBy.filter(id => !resolvedTaskIds.has(id)), |
| 83 | })) |
| 84 | |
| 85 | return { |
| 86 | data: { |
| 87 | tasks, |
| 88 | }, |
| 89 | } |
| 90 | }, |
| 91 | mapToolResultToToolResultBlockParam(content, toolUseID) { |
| 92 | const { tasks } = content as Output |
| 93 | if (tasks.length === 0) { |
nothing calls this directly
no test coverage detected