/** * Read-only report and easter-egg commands extracted from interactive-mode. * * These build informational output (usage/cost summary, changelog, hotkeys * table, render debug dump) or render an easter-egg component, appending to the * chat container and requesting a render. None mutate agent/session state, so * they operate through narrow `host` seams (chat container, TUI, and a few * read accessors) while interactive-mode keeps thin delegating wrappers. */ import type { Container, Keybinding, MarkdownTheme, TUI } from "@caupulican/pi-tui"; import type { AgentSession } from "../../core/agent-session.ts"; import { type SessionCostSummary } from "../../core/cost/cost-summary.ts"; import type { AppKeybinding, KeybindingsManager } from "../../core/keybindings.ts"; import type { AutoLearnSettings } from "../../core/settings-manager.ts"; export interface ReportRenderHost { readonly chatContainer: Container; readonly ui: TUI; } export interface UsageReportHost extends ReportRenderHost { readonly session: AgentSession; getCurrentAutoLearnSettings(): Required; } export interface ChangelogReportHost extends ReportRenderHost { getMarkdownThemeWithSettings(): MarkdownTheme; } export interface HotkeysReportHost extends ReportRenderHost { readonly session: AgentSession; readonly keybindings: KeybindingsManager; getMarkdownThemeWithSettings(): MarkdownTheme; getAppKeyDisplay(action: AppKeybinding): string; getEditorKeyDisplay(action: Keybinding): string; } export interface DebugReportHost extends ReportRenderHost { readonly session: AgentSession; } export declare function formatCostReport(costs: SessionCostSummary, usingSubscription?: boolean): string; export declare function handleUsageCommand(host: UsageReportHost): void; export declare function handleChangelogCommand(host: ChangelogReportHost): void; export declare function handleHotkeysCommand(host: HotkeysReportHost): void; export declare function handleDebugCommand(host: DebugReportHost): void; export declare function handleArminSaysHi(host: ReportRenderHost): void; export declare function handleDementedDelves(host: ReportRenderHost): void; export declare function handleDaxnuts(host: ReportRenderHost): void; export declare function checkDaxnutsEasterEgg(host: ReportRenderHost, model: { provider: string; id: string; }): void; //# sourceMappingURL=report-commands.d.ts.map