-- name: InsertLLMModel :one INSERT INTO llm_models ( id, endpoint_id, model_id, display_name, capabilities, context_window, max_output_tokens, prompt_price_per_million_usd, completion_price_per_million_usd, thinking_price_per_million_usd, is_title_generator, enabled, sort_order ) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13) RETURNING *; -- name: GetLLMModel :one SELECT * FROM llm_models WHERE id = $1; -- name: GetTitleGeneratorModel :one SELECT * FROM llm_models WHERE is_title_generator = true AND enabled = true LIMIT 1; -- name: ListLLMModels :many SELECT * FROM llm_models WHERE ($1::boolean = false) OR enabled = true ORDER BY sort_order, display_name; -- name: UpdateLLMModel :exec UPDATE llm_models SET display_name = COALESCE($2, display_name), capabilities = COALESCE($3, capabilities), context_window = COALESCE($4, context_window), max_output_tokens = COALESCE($5, max_output_tokens), prompt_price_per_million_usd = COALESCE($6, prompt_price_per_million_usd), completion_price_per_million_usd = COALESCE($7, completion_price_per_million_usd), thinking_price_per_million_usd = COALESCE($8, thinking_price_per_million_usd), is_title_generator = COALESCE($9, is_title_generator), enabled = COALESCE($10, enabled), sort_order = COALESCE($11, sort_order), updated_at = NOW() WHERE id = $1; -- name: DeleteLLMModel :exec DELETE FROM llm_models WHERE id = $1;