MCPcopy Create free account
hub / github.com/WJX20/claude-code / extractTodoListFromLog

Function extractTodoListFromLog

src/tasks/RemoteAgentTask/RemoteAgentTask.tsx:372–386  ·  view source on GitHub ↗

* Extract todo list from SDK messages (finds last TodoWrite tool use).

(log: SDKMessage[])

Source from the content-addressed store, hash-verified

370 * Extract todo list from SDK messages (finds last TodoWrite tool use).
371 */
372function extractTodoListFromLog(log: SDKMessage[]): TodoList {
373 const todoListMessage = log.findLast((msg): msg is SDKAssistantMessage => msg.type === 'assistant' && (msg as unknown as SDKMessageWithMessage).message.content.some(block => block.type === 'tool_use' && block.name === TodoWriteTool.name));
374 if (!todoListMessage) {
375 return [];
376 }
377 const input = (todoListMessage as unknown as SDKMessageWithMessage).message.content.find(block => block.type === 'tool_use' && block.name === TodoWriteTool.name)?.input;
378 if (!input) {
379 return [];
380 }
381 const parsedInput = TodoWriteTool.inputSchema.safeParse(input);
382 if (!parsedInput.success) {
383 return [];
384 }
385 return parsedInput.data.todos;
386}
387
388/**
389 * Register a remote agent task in the unified task framework.

Callers 1

pollFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected