/** * Session and conversation data types for YOLO CLI */ export interface Session { id: string; workingDirectory: string; createdAt: string; currentModel: string; messages: Message[]; metadata: SessionMetadata; } export interface SessionMetadata { isContinuation: boolean; previousSessionId?: string; totalMessages: number; totalTokensEstimate: number; } export interface Conversation { sessionId: string; messages: Message[]; startedAt: string; lastActivity: string; contextUsage: number; } export interface Message { id: string; role: 'user' | 'assistant' | 'system' | 'tool'; content: string; timestamp: string | number; model?: string; metadata?: MessageMetadata; } export interface MessageMetadata { tokensUsed?: number; tokensEstimate?: number; error?: ErrorInfo; streamingDuration?: number; toolCalls?: ToolCall[]; toolCallId?: string; toolName?: string; } import type { ToolCall } from './tools.js'; export interface ErrorInfo { type: 'auth' | 'network' | 'rate_limit' | 'server' | 'timeout' | 'unknown'; message: string; code?: string; retryCount?: number; } export interface AppState { mode: 'setup' | 'interactive' | 'non-interactive'; session: Session | null; isLoading: boolean; isStreamingResponse: boolean; currentInput: string; error: ErrorInfo | null; selectedModelIndex: number; } export interface ModelSelectorState { enabledModels: ModelConfig[]; currentIndex: number; totalModels: number; } import type { ModelConfig } from './config.js'; //# sourceMappingURL=session.d.ts.map