5b041d6b49
ColorFormatter and MarkdownFormatter names obscured their actual purpose. The formatters serve two distinct audiences: the AI agent (compressed, token-efficient context) and the human (rich ANSI-colored terminal output). - MarkdownFormatter → AgentFormatter (renderMarkdown* → renderAgent*) - ColorFormatter → HumanFormatter (renderColor* → renderHuman*) - useColors parameter → forHuman across the pipeline - Import aliases Color/Markdown → Human/Agent - API query param `colors=true` unchanged (backward compatible) Pure rename refactor — no logic or behavior changes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
/**
|
|
* FooterRenderer - Renders the context footer sections
|
|
*
|
|
* Handles rendering of previously section and token savings footer.
|
|
*/
|
|
|
|
import type { ContextConfig, TokenEconomics, PriorMessages } from '../types.js';
|
|
import { shouldShowContextEconomics } from '../TokenCalculator.js';
|
|
import * as Agent from '../formatters/AgentFormatter.js';
|
|
import * as Human from '../formatters/HumanFormatter.js';
|
|
|
|
/**
|
|
* Render the previously section (prior assistant message)
|
|
*/
|
|
export function renderPreviouslySection(
|
|
priorMessages: PriorMessages,
|
|
forHuman: boolean
|
|
): string[] {
|
|
if (forHuman) {
|
|
return Human.renderHumanPreviouslySection(priorMessages);
|
|
}
|
|
return Agent.renderAgentPreviouslySection(priorMessages);
|
|
}
|
|
|
|
/**
|
|
* Render the footer with token savings info
|
|
*/
|
|
export function renderFooter(
|
|
economics: TokenEconomics,
|
|
config: ContextConfig,
|
|
forHuman: boolean
|
|
): string[] {
|
|
// Only show footer if we have savings to display
|
|
if (!shouldShowContextEconomics(config) || economics.totalDiscoveryTokens <= 0 || economics.savings <= 0) {
|
|
return [];
|
|
}
|
|
|
|
if (forHuman) {
|
|
return Human.renderHumanFooter(economics.totalDiscoveryTokens, economics.totalReadTokens);
|
|
}
|
|
return Agent.renderAgentFooter(economics.totalDiscoveryTokens, economics.totalReadTokens);
|
|
}
|