diesel::table! { messages (id) { id -> Integer, session_id -> Integer, user -> Bool, reasoning -> Nullable, reasoning_complete -> Bool, content -> Text, } } diesel::table! { projects (id) { id -> Integer, name -> Text, path -> Text, } } diesel::table! { preferences (id) { id -> Integer, selected_model -> Text, dspark_enabled -> Bool, idle_timeout_minutes -> Integer, context_tokens -> Integer, max_generated_tokens -> Integer, system_prompt -> Text, temperature -> Nullable, top_p -> Nullable, min_p -> Nullable, seed -> Nullable, reasoning_mode -> Text, cpu_threads -> Nullable, power_percent -> Nullable, prefill_chunk -> Nullable, quality -> Bool, warm_weights -> Bool, mtp_draft_tokens -> Integer, mtp_margin -> Float, glm_mtp -> Bool, glm_mtp_timing -> Bool, dspark_confidence_threshold -> Nullable, dspark_strict -> Bool, ssd_streaming -> Bool, ssd_streaming_cold -> Bool, ssd_cache_experts -> Nullable, ssd_cache_gib -> Nullable, ssd_full_layers -> Nullable, ssd_preload_experts -> Nullable, directional_steering_file -> Nullable, directional_steering_ffn -> Nullable, directional_steering_attn -> Nullable, simulated_used_memory_gib -> Nullable, expert_profile_path -> Nullable, endpoint_port -> Integer, } } diesel::table! { sessions (id) { id -> Integer, project_id -> Integer, title -> Text, context_used -> Integer, context_limit -> Integer, last_tokens_per_second -> Nullable, state -> Text, } } diesel::joinable!(sessions -> projects (project_id)); diesel::joinable!(messages -> sessions (session_id)); diesel::allow_tables_to_appear_in_same_query!(messages, preferences, projects, sessions);