add: session history viewer (#912)

- A new “/sessions” command is available for browsing previous sessions,
as shown in the updated slash command list

- The CLI now documents and parses a new “--history” flag to browse past
sessions from the command line

- A dedicated `SessionsOverlay` component loads session metadata and
allows toggling between viewing and resuming sessions

- When the sessions overlay is opened during a chat, selecting a session
can either show the saved rollout or resume it
This commit is contained in:
Fouad Matin
2025-05-16 12:28:22 -07:00
committed by GitHub
parent 1e39189393
commit cabf83f2ed
11 changed files with 230 additions and 1 deletions

View File

@@ -55,6 +55,7 @@ describe("/clear command", () => {
openApprovalOverlay: () => {},
openHelpOverlay: () => {},
openDiffOverlay: () => {},
openSessionsOverlay: () => {},
onCompact: () => {},
interruptAgent: () => {},
active: true,

View File

@@ -6,6 +6,7 @@ test("SLASH_COMMANDS includes expected commands", () => {
expect(commands).toContain("/clear");
expect(commands).toContain("/compact");
expect(commands).toContain("/history");
expect(commands).toContain("/sessions");
expect(commands).toContain("/help");
expect(commands).toContain("/model");
expect(commands).toContain("/approval");

View File

@@ -21,6 +21,7 @@ describe("TerminalChatInput compact command", () => {
openModelOverlay: () => {},
openApprovalOverlay: () => {},
openHelpOverlay: () => {},
openSessionsOverlay: () => {},
onCompact: () => {},
interruptAgent: () => {},
active: true,

View File

@@ -76,6 +76,7 @@ describe("TerminalChatInput file tag suggestions", () => {
openModelOverlay: vi.fn(),
openApprovalOverlay: vi.fn(),
openHelpOverlay: vi.fn(),
openSessionsOverlay: vi.fn(),
onCompact: vi.fn(),
interruptAgent: vi.fn(),
active: true,

View File

@@ -42,6 +42,7 @@ describe("TerminalChatInput multiline functionality", () => {
openModelOverlay: () => {},
openApprovalOverlay: () => {},
openHelpOverlay: () => {},
openSessionsOverlay: () => {},
onCompact: () => {},
interruptAgent: () => {},
active: true,
@@ -93,6 +94,7 @@ describe("TerminalChatInput multiline functionality", () => {
openModelOverlay: () => {},
openApprovalOverlay: () => {},
openHelpOverlay: () => {},
openSessionsOverlay: () => {},
onCompact: () => {},
interruptAgent: () => {},
active: true,