// Hermes WebAPI response types export interface Session { id: string; source: string; user_id: string | null; model: string | null; started_at: number; ended_at: number | null; end_reason: string | null; message_count: number; tool_call_count: number; input_tokens: number; output_tokens: number; cache_read_tokens: number; cache_write_tokens: number; reasoning_tokens: number; estimated_cost_usd: number | null; title: string | null; parent_session_id: string | null; } export interface Message { id: number; session_id: string; role: "user" | "assistant" | "tool" | "system"; content: string | null; tool_call_id: string | null; tool_calls: string | null; tool_name: string | null; timestamp: number; token_count: number | null; finish_reason: string | null; reasoning: string | null; } export interface ToolCall { id: string; function: { name: string; arguments: string }; } export interface MemoryTarget { target: "memory" | "user"; entries: string[]; usage: string; entry_count: number; } export interface MemoryResponse { targets: MemoryTarget[]; } export interface SkillSummary { name: string; description: string; category?: string; } export interface SkillDetail { name: string; content: string; linked_files?: Record; } export interface CronJob { id: string; name?: string; prompt: string; schedule: string; status: string; deliver: string; skill?: string; skills?: string[]; model?: string; provider?: string; repeat?: number; run_count: number; last_run?: string; next_run?: string; created_at: string; } export interface GatewayState { pid: number; kind: string; gateway_state: string; platforms: Record; updated_at: string; } export interface ConfigResponse { model: string; provider: string | null; api_mode: string | null; base_url: string | null; config: Record; } export interface SearchResult { session_id: string; message_id: number; role: string; content: string; timestamp: number; session_title: string | null; session_source: string; }