Add telemetry for todos (#5746)

This commit is contained in:
Matt Rubens 2025-07-15 10:47:50 -04:00 • committed by GitHub
parent ab1756961c
commit d0452d0d5c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 22 additions and 0 deletions

View file

@ -89,6 +89,14 @@ export const taskPropertiesSchema = z.object({
modelId: z.string().optional(),
diffStrategy: z.string().optional(),
isSubtask: z.boolean().optional(),
todos: z
.object({
total: z.number(),
completed: z.number(),
inProgress: z.number(),
pending: z.number(),
})
.optional(),
})
export const gitPropertiesSchema = z.object({

View file

@ -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,
}
}