Files
wiseclaw/frontend/src/types.ts

103 lines
2.2 KiB
TypeScript

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;
};