Skip to content

feat(examples-chat): Phase 6 — timeline / time travel#238

Merged
blove merged 1 commit into
mainfrom
claude/examples-chat-phase-6-timeline
May 10, 2026
Merged

feat(examples-chat): Phase 6 — timeline / time travel#238
blove merged 1 commit into
mainfrom
claude/examples-chat-phase-6-timeline

Conversation

@blove
Copy link
Copy Markdown
Contributor

@blove blove commented May 10, 2026

Summary

  • Adds a palette toggle ("Timeline on/off") to the demo control palette, persisted to localStorage under the timeline key
  • When toggled on, mounts a fixed right-side panel containing <chat-timeline-slider> from @ngaf/chat
  • The slider lets users scrub through conversation checkpoints, then:
    • Replay — re-runs the graph from the selected checkpoint with no new input via agent.submit(null, { checkpointId })
    • Fork — creates a new thread via POST http://localhost:2024/threads, switches threadIdSignal to the new thread id, persists it, then replays from that checkpoint against the new thread

The <chat-timeline-slider> primitive is already shipped in @ngaf/chat; this PR only wires it into the demo shell.

Changes

  • demo-shell.component.ts — adds timelineOpen signal, onTimelineChange, onTimelineReplay, onTimelineFork handlers; imports ChatTimelineSliderComponent
  • control-palette.component.ts + .html — adds timelineOpen required input + timelineOpenChange output + toggle button matching existing "Debug" button style
  • demo-shell.component.html — wires timeline inputs/outputs on <app-control-palette>; conditionally renders timeline panel
  • demo-shell.component.css.demo-shell__timeline-panel: fixed, right: 16px, top: 80px, bottom: 96px, width: 280px
  • palette-persistence.service.ts — adds timeline?: boolean | null to PaletteState
  • examples/chat/smoke/CHECKLIST.md — fills in the "Time travel / timeline" section with 14 manual checks

Test plan

  • nx run-many -t test,lint,build -p examples-chat-angular — all green (9 tests pass, lint clean, build succeeds)
  • Manual: palette toggle appears; panel mounts/unmounts; replay and fork work against a running LangGraph server on :2024
  • Manual: timeline state persists across reload

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cacheplane Ready Ready Preview, Comment May 10, 2026 8:41pm

Request Review

@blove blove merged commit a77903a into main May 10, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant