/** * Slash command system types for YOLO CLI * Feature: 004-slash-commands */ import type { Session } from './session.js'; import type { ErrorInfo } from './session.js'; export interface SlashCommand { name: string; aliases: string[]; description: string; requiresConfirmation: boolean; handler: (context: CommandContext) => Promise; } export interface CommandContext { session: Session; setSession: (session: Session) => void; setInput: (text: string) => void; setError: (error: ErrorInfo) => void; exit: () => void; } export interface SessionMetadataFile { version: string; currentSessionId: string; lastUpdated: string; sessions: SessionInfo[]; } export interface SessionInfo { id: string; createdAt: string; lastActivity: string; messageCount: number; model: string; historyFile: string; } export interface CompactionResult { originalMessageCount: number; compactedMessageCount: number; originalTokenEstimate: number; compactedTokenEstimate: number; reductionPercentage: number; summaryMessage: Message; preservedMessages: Message[]; } export interface CompactionConfig { preserveRecentCount: number; minimumMessagesToCompact: number; contextThreshold: number; summaryTokenLimit: number; } import type { Message } from './session.js'; export declare const COMPACTION_CONFIG: CompactionConfig; export declare const SESSION_METADATA_VERSION = "1.0.0"; //# sourceMappingURL=slash-commands.d.ts.map