feat(ui): build interactive session browser component (#13351)

This commit is contained in:
bl-ue
2025-11-21 09:16:56 -07:00
committed by GitHub
parent 3370644ffe
commit b97661553f
9 changed files with 1907 additions and 604 deletions

View File

@@ -85,6 +85,8 @@ describe('listSessions', () => {
fileName: 'session-2025-01-18T12-00-00-session-1.json',
startTime: twoDaysAgo.toISOString(),
lastUpdated: twoDaysAgo.toISOString(),
messageCount: 5,
displayName: 'First user message',
firstUserMessage: 'First user message',
isCurrentSession: false,
index: 1,
@@ -95,6 +97,8 @@ describe('listSessions', () => {
fileName: 'session-2025-01-20T11-00-00-session-2.json',
startTime: oneHourAgo.toISOString(),
lastUpdated: oneHourAgo.toISOString(),
messageCount: 10,
displayName: 'Second user message',
firstUserMessage: 'Second user message',
isCurrentSession: false,
index: 2,
@@ -105,6 +109,8 @@ describe('listSessions', () => {
fileName: 'session-2025-01-20T12-00-00-current-s.json',
startTime: now.toISOString(),
lastUpdated: now.toISOString(),
messageCount: 3,
displayName: 'Current session',
firstUserMessage: 'Current session',
isCurrentSession: true,
index: 3,
@@ -163,6 +169,8 @@ describe('listSessions', () => {
fileName: 'session-2.json',
startTime: session2Time.toISOString(), // Middle
lastUpdated: session2Time.toISOString(),
messageCount: 5,
displayName: 'Middle session',
firstUserMessage: 'Middle session',
isCurrentSession: false,
index: 2,
@@ -173,6 +181,8 @@ describe('listSessions', () => {
fileName: 'session-1.json',
startTime: session1Time.toISOString(), // Oldest
lastUpdated: session1Time.toISOString(),
messageCount: 5,
displayName: 'Oldest session',
firstUserMessage: 'Oldest session',
isCurrentSession: false,
index: 1,
@@ -183,6 +193,8 @@ describe('listSessions', () => {
fileName: 'session-3.json',
startTime: session3Time.toISOString(), // Newest
lastUpdated: session3Time.toISOString(),
messageCount: 5,
displayName: 'Newest session',
firstUserMessage: 'Newest session',
isCurrentSession: false,
index: 3,
@@ -219,6 +231,8 @@ describe('listSessions', () => {
fileName: 'session-file.json',
startTime: now.toISOString(),
lastUpdated: now.toISOString(),
messageCount: 5,
displayName: 'Test message',
firstUserMessage: 'Test message',
isCurrentSession: false,
index: 1,
@@ -252,6 +266,8 @@ describe('listSessions', () => {
fileName: 'session-file.json',
startTime: now.toISOString(),
lastUpdated: now.toISOString(),
messageCount: 5,
displayName: 'Only session',
firstUserMessage: 'Only session',
isCurrentSession: true,
index: 1,
@@ -348,6 +364,8 @@ describe('deleteSession', () => {
fileName: 'session-file-123.json',
startTime: now.toISOString(),
lastUpdated: now.toISOString(),
messageCount: 5,
displayName: 'Test session',
firstUserMessage: 'Test session',
isCurrentSession: false,
index: 1,
@@ -381,6 +399,8 @@ describe('deleteSession', () => {
fileName: 'session-file-1.json',
startTime: oneHourAgo.toISOString(),
lastUpdated: oneHourAgo.toISOString(),
messageCount: 5,
displayName: 'First session',
firstUserMessage: 'First session',
isCurrentSession: false,
index: 1,
@@ -391,6 +411,8 @@ describe('deleteSession', () => {
fileName: 'session-file-2.json',
startTime: now.toISOString(),
lastUpdated: now.toISOString(),
messageCount: 10,
displayName: 'Second session',
firstUserMessage: 'Second session',
isCurrentSession: false,
index: 2,
@@ -421,6 +443,8 @@ describe('deleteSession', () => {
fileName: 'session-file-1.json',
startTime: now.toISOString(),
lastUpdated: now.toISOString(),
messageCount: 5,
displayName: 'Test session',
firstUserMessage: 'Test session',
isCurrentSession: false,
index: 1,
@@ -449,6 +473,8 @@ describe('deleteSession', () => {
fileName: 'session-file-1.json',
startTime: now.toISOString(),
lastUpdated: now.toISOString(),
messageCount: 5,
displayName: 'Test session',
firstUserMessage: 'Test session',
isCurrentSession: false,
index: 1,
@@ -477,6 +503,8 @@ describe('deleteSession', () => {
fileName: 'session-file-1.json',
startTime: now.toISOString(),
lastUpdated: now.toISOString(),
messageCount: 5,
displayName: 'Test session',
firstUserMessage: 'Test session',
isCurrentSession: false,
index: 1,
@@ -505,6 +533,8 @@ describe('deleteSession', () => {
fileName: 'current-session-file.json',
startTime: now.toISOString(),
lastUpdated: now.toISOString(),
messageCount: 5,
displayName: 'Current session',
firstUserMessage: 'Current session',
isCurrentSession: true,
index: 1,
@@ -533,6 +563,8 @@ describe('deleteSession', () => {
fileName: 'current-session-file.json',
startTime: now.toISOString(),
lastUpdated: now.toISOString(),
messageCount: 5,
displayName: 'Current session',
firstUserMessage: 'Current session',
isCurrentSession: true,
index: 1,
@@ -561,6 +593,8 @@ describe('deleteSession', () => {
fileName: 'session-file-1.json',
startTime: now.toISOString(),
lastUpdated: now.toISOString(),
messageCount: 5,
displayName: 'Test session',
firstUserMessage: 'Test session',
isCurrentSession: false,
index: 1,
@@ -592,6 +626,8 @@ describe('deleteSession', () => {
fileName: 'session-file-1.json',
startTime: now.toISOString(),
lastUpdated: now.toISOString(),
messageCount: 5,
displayName: 'Test session',
firstUserMessage: 'Test session',
isCurrentSession: false,
index: 1,
@@ -626,6 +662,8 @@ describe('deleteSession', () => {
fileName: 'session-file-3.json',
startTime: session3Time.toISOString(), // Newest
lastUpdated: session3Time.toISOString(),
messageCount: 5,
displayName: 'Newest session',
firstUserMessage: 'Newest session',
isCurrentSession: false,
index: 3,
@@ -636,6 +674,8 @@ describe('deleteSession', () => {
fileName: 'session-file-1.json',
startTime: session1Time.toISOString(), // Oldest
lastUpdated: session1Time.toISOString(),
messageCount: 5,
displayName: 'Oldest session',
firstUserMessage: 'Oldest session',
isCurrentSession: false,
index: 1,
@@ -646,6 +686,8 @@ describe('deleteSession', () => {
fileName: 'session-file-2.json',
startTime: session2Time.toISOString(), // Middle
lastUpdated: session2Time.toISOString(),
messageCount: 5,
displayName: 'Middle session',
firstUserMessage: 'Middle session',
isCurrentSession: false,
index: 2,