|
|
@@ -1853,6 +1853,19 @@ export class ClineProvider
|
|
|
// Get git repository information
|
|
|
const gitInfo = await getWorkspaceGitInfo()
|
|
|
|
|
|
+ // Calculate todo list statistics
|
|
|
+ const todoList = task?.todoList
|
|
|
+ let todos: { total: number; completed: number; inProgress: number; pending: number } | undefined
|
|
|
+
|
|
|
+ if (todoList && todoList.length > 0) {
|
|
|
+ todos = {
|
|
|
+ total: todoList.length,
|
|
|
+ completed: todoList.filter((todo) => todo.status === "completed").length,
|
|
|
+ inProgress: todoList.filter((todo) => todo.status === "in_progress").length,
|
|
|
+ pending: todoList.filter((todo) => todo.status === "pending").length,
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// Return all properties including git info - clients will filter as needed
|
|
|
return {
|
|
|
appName: packageJSON?.name ?? Package.name,
|
|
|
@@ -1867,6 +1880,7 @@ export class ClineProvider
|
|
|
diffStrategy: task?.diffStrategy?.getName(),
|
|
|
isSubtask: task ? !!task.parentTask : undefined,
|
|
|
cloudIsAuthenticated,
|
|
|
+ ...(todos && { todos }),
|
|
|
...gitInfo,
|
|
|
}
|
|
|
}
|