| 10 | } |
| 11 | |
| 12 | interface SessionSidebarProps { |
| 13 | sessions: SessionSummary[]; |
| 14 | activeSessionId: string; |
| 15 | session: ChatSession; |
| 16 | replayTargetId: string | null; |
| 17 | replaySettings: ReplaySettings; |
| 18 | streaming: boolean; |
| 19 | onRefreshSessions: () => void; |
| 20 | onSelectSession: (id: string) => void; |
| 21 | onNewChat: () => void; |
| 22 | onReplayTarget: (messageId: string) => void; |
| 23 | onReplaySettingsChange: (patch: Partial<ReplaySettings>) => void; |
| 24 | onReplay: () => void; |
| 25 | onStopReplay: () => void; |
| 26 | } |
| 27 | |
| 28 | function assistantTurns(messages: ChatMessage[]): ChatMessage[] { |
| 29 | return messages.filter((m) => m.role === "assistant" && m.content.trim()); |
nothing calls this directly
no outgoing calls
no test coverage detected