( entry: MakaPiThinkingEntry, width: number, expanded: boolean, )
| 1518 | // Thinking stays collapsed to a one-line marker by default so reasoning |
| 1519 | // never floods the scrollback; Ctrl+T expands every thinking entry on demand. |
| 1520 | function renderThinkingBlock( |
| 1521 | entry: MakaPiThinkingEntry, |
| 1522 | width: number, |
| 1523 | expanded: boolean, |
| 1524 | ): string[] { |
| 1525 | if (!entry.text.trim()) return []; |
| 1526 | if (!expanded) return [fitLine(ansi.dim('Thinking…'), width)]; |
| 1527 | const lines = [fitLine(ansi.dim('Thinking'), width)]; |
| 1528 | lines.push(...renderIndented(entry.text, width, 2).map((line) => fitLine(ansi.dim(line), width))); |
| 1529 | return lines; |
| 1530 | } |
| 1531 | |
| 1532 | type MakaPiAssistantEntry = Extract<MakaPiTranscriptEntry, { kind: 'assistant' }>; |
| 1533 | type MakaPiThinkingEntry = Extract<MakaPiTranscriptEntry, { kind: 'thinking' }>; |
no test coverage detected