export type ToolToggle = { name: string; enabled: boolean; }; export type RuntimeSettings = { terminal_mode: 1 | 2 | 3; search_provider: "brave" | "searxng"; model_provider: "local" | "zai"; local_base_url: string; local_model: string; zai_model: "glm-4.7" | "glm-5"; anythingllm_base_url: string; anythingllm_workspace_slug: string; tools: ToolToggle[]; }; export type DashboardSnapshot = { settings: RuntimeSettings; whitelist_count: number; memory_items: number; recent_logs: string[]; }; export type UserRecord = { telegram_user_id: number; username?: string | null; display_name?: string | null; is_active: boolean; }; export type UserProfileRecord = { telegram_user_id: number; display_name?: string | null; bio?: string | null; occupation?: string | null; primary_use_cases: string[]; answer_priorities: string[]; tone_preference?: string | null; response_length?: string | null; language_preference?: string | null; workflow_preference?: string | null; interests: string[]; approval_preferences: string[]; avoid_preferences?: string | null; onboarding_completed: boolean; last_onboarding_step: number; }; export type AutomationRecord = { id: number; telegram_user_id: number; name: string; prompt: string; schedule_type: "daily" | "weekdays" | "weekly" | "hourly"; interval_hours?: number | null; time_of_day?: string | null; days_of_week: string[]; status: "active" | "paused"; last_run_at?: string | null; next_run_at?: string | null; last_result?: string | null; created_at: string; updated_at: string; }; export type MemoryRecord = { id: number; content: string; kind: string; created_at: string; }; export type OllamaStatus = { reachable: boolean; provider: "local" | "zai"; base_url: string; model: string; installed_models: string[]; message: string; }; export type TelegramStatus = { configured: boolean; polling_active: boolean; message: string; }; export type GoogleIntegrationStatus = { client_configured: boolean; connected: boolean; connect_url: string; message: string; }; export type AnythingLLMStatus = { reachable: boolean; workspace_found: boolean; base_url: string; workspace_slug: string; message: string; };