diff --git a/frontend/src/components/ToolCallCard.vue b/frontend/src/components/ToolCallCard.vue index 17548d5..cccf571 100644 --- a/frontend/src/components/ToolCallCard.vue +++ b/frontend/src/components/ToolCallCard.vue @@ -19,6 +19,10 @@ const label = computed(() => { return "Created note"; case "note_updated": return "Updated note"; + case "tasks": + return "Tasks"; + case "todo_updated": + return "Updated todo"; case "search": return "Searched notes"; case "event": @@ -95,7 +99,7 @@ const calendarList = computed(() => { const todoData = computed(() => { const data = props.toolCall.result.data; const type = props.toolCall.result.type; - if (!data || (type !== "todo" && type !== "todo_completed" && type !== "todo_deleted")) return null; + if (!data || (type !== "todo" && type !== "todo_completed" && type !== "todo_deleted" && type !== "todo_updated")) return null; return data as { summary: string; due?: string; status?: string }; }); @@ -141,6 +145,19 @@ function formatEventTime(iso: string): string { } } +const taskList = computed(() => { + const data = props.toolCall.result.data; + if (!data || props.toolCall.result.type !== "tasks") return null; + const results = data.results as Array<{ id: number; title: string; status: string; priority: string; due_date?: string }> | undefined; + return results ?? []; +}); + +const taskCount = computed(() => { + const data = props.toolCall.result.data; + if (!data || props.toolCall.result.type !== "tasks") return 0; + return (data.total as number) ?? 0; +}); + const searchResults = computed(() => { const data = props.toolCall.result.data; if (!data || props.toolCall.result.type !== "search") return null; @@ -215,6 +232,17 @@ async function applyTag(tag: string) { +