(b)
| 73 | } |
| 74 | |
| 75 | export function handleTodoToolUse(b) { |
| 76 | const { name, id, input } = b; |
| 77 | if (name === 'TaskCreate') { |
| 78 | const hasOpenTasks = Array.from(todoState.tasks.values()).some(t => t.status !== 'completed'); |
| 79 | if (todoState.tasks.size > 0 && !hasOpenTasks) { |
| 80 | clearTodoBatch(); |
| 81 | } |
| 82 | todoState.pendingCreates.set(id, input); |
| 83 | } else if (name === 'TaskUpdate' && input.taskId) { |
| 84 | const task = todoState.tasks.get(input.taskId); |
| 85 | if (task) { |
| 86 | if (input.status) task.status = input.status; |
| 87 | if (input.subject) task.subject = input.subject; |
| 88 | if (input.description) task.description = input.description; |
| 89 | if (input.activeForm) task.activeForm = input.activeForm; |
| 90 | renderTodoPanel(); |
| 91 | } |
| 92 | } |
| 93 | } |
| 94 | |
| 95 | export function handleTodoToolResult(b, evt) { |
| 96 | const { tool_use_id, content } = b; |
no test coverage detected