/** * [WHO]: SessionStats and pure session/context queries * [FROM]: Agent/AI message types and session compaction accounting * [TO]: AgentSession and regression tests * [HERE]: core/runtime/session-queries.ts - pure snapshot queries */ import type { AgentMessage } from "@catui/agent-core"; import type { Model } from "@catui/ai/types"; import type { ContextUsage } from "../extensions-host/index.js"; import { type SessionEntry } from "../session/session-manager.js"; /** Session statistics for /session command */ export interface SessionStats { sessionFile: string | undefined; sessionId: string; userMessages: number; assistantMessages: number; toolCalls: number; toolResults: number; totalMessages: number; tokens: { input: number; output: number; cacheRead: number; cacheWrite: number; total: number; }; cost: number; } export declare function getSessionStats(messages: AgentMessage[], sessionFile: string | undefined, sessionId: string): SessionStats; export declare function getContextUsage(messages: AgentMessage[], model: Model | undefined, branchEntries: SessionEntry[]): ContextUsage | undefined; export declare function extractUserMessageText(content: string | Array<{ type: string; text?: string; }>): string;