diff --git a/src/composables/useSearchSession.ts b/src/composables/useSearchSession.ts index d70dfe6..21049fe 100644 --- a/src/composables/useSearchSession.ts +++ b/src/composables/useSearchSession.ts @@ -6,6 +6,7 @@ export interface SearchSession { title: string mode: 'keyword' | 'visual' | 'people' | 'agent' message_count: number + last_query?: string created_at: string updated_at: string } @@ -78,7 +79,23 @@ export function useSearchSession() { }) if (!resp.ok) throw new Error(`HTTP ${resp.status}`) const data = await resp.json() - sessions.value = data.sessions || [] + // Enrich sessions with last query from messages + const sessions = data.sessions || [] + for (const s of sessions) { + try { + const msgResp = await fetch(`${base}/api/v2/search-sessions/${s.id}/messages?limit=1`, { + headers: getAuthHeaders() + }) + if (msgResp.ok) { + const msgData = await msgResp.json() + const lastUserMsg = msgData.messages?.find((m: any) => m.role === 'user') + if (lastUserMsg) { + s.last_query = lastUserMsg.content + } + } + } catch {} + } + sessions.value = sessions } catch (e: any) { error.value = e.message || 'Failed to load sessions' } finally { diff --git a/src/views/SearchView.vue b/src/views/SearchView.vue index 16b4db9..d045799 100644 --- a/src/views/SearchView.vue +++ b/src/views/SearchView.vue @@ -44,7 +44,8 @@ {{ formatMode(s.mode) }}