Session parsing, timeline generation, and HTML/video rendering
Add parser_test.go (22 tests), search_test.go (9 tests), html_test.go (6 tests), video_test.go (12 tests), and bench_test.go (4 benchmarks) covering all Phase 0 TODO items: - ParseTranscript: minimal JSONL, all 7 tool types, errors, truncated/malformed input, large sessions (1100+ events), nested array/map results, mixed content - ListSessions: empty dir, single/multi sorted, non-JSONL ignored, modtime fallback - extractToolInput: all tool types plus nil, invalid JSON, unknown tool fallback - extractResultContent: string, array, map, and other types - Search: empty dir, no matches, multi-match, case insensitive, output matching - RenderHTML: basic, empty, errors, XSS escaping, label types, invalid path - generateTape/extractCommand: all event types, empty/failed commands, truncation - Benchmarks: 2.2MB and 11MB ParseTranscript, ListSessions, Search with b.Loop() go vet ./... clean, go test -race ./... clean. Co-Authored-By: Virgil <virgil@lethean.io> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| bench_test.go | ||
| CLAUDE.md | ||
| FINDINGS.md | ||
| go.mod | ||
| go.sum | ||
| html.go | ||
| html_test.go | ||
| parser.go | ||
| parser_test.go | ||
| search.go | ||
| search_test.go | ||
| TODO.md | ||
| video.go | ||
| video_test.go | ||