UPDATE app_settings
SET title='Инструкция квалификатора',
    description='Редактируемая человеческая инструкция: критерии оценки и мусора. JSON-контракт ответа добавляется кодом автоматически.'
WHERE key='ai_qualifier_prompt';

UPDATE app_settings
SET title='Инструкция райтера',
    description='Редактируемая человеческая инструкция: стиль, факты, длина и голос канала. Категорию и JSON-контракт ответа контролирует код.'
WHERE key='ai_writer_prompt';

UPDATE app_settings
SET description='Модель для квалификации. Список берётся live из API провайдера, если доступен ключ; fallback помечается отдельно.'
WHERE key='ai_qualifier_model';

UPDATE app_settings
SET description='Модель для рерайта. Список берётся live из API провайдера, если доступен ключ; fallback помечается отдельно.'
WHERE key='ai_writer_model';

UPDATE app_settings
SET description='Токен выбранного LLM-провайдера. В админке показывается полностью, поэтому доступ к настройкам должен быть только у доверенных пользователей.'
WHERE key IN ('ai_qualifier_api_key', 'ai_writer_api_key');

UPDATE app_settings m
SET value_json = to_jsonb('anthropic/' || trim(both '"' from m.value_json::text))
FROM app_settings p
WHERE p.key = replace(m.key, '_model', '_provider')
  AND p.value_json = '"anthropic"'::jsonb
  AND m.key IN ('ai_qualifier_model', 'ai_writer_model')
  AND m.value_json::text NOT LIKE '"anthropic/%'
  AND m.value_json::text NOT LIKE '"%/%"';

UPDATE app_settings m
SET value_json = to_jsonb('gemini/' || trim(both '"' from m.value_json::text))
FROM app_settings p
WHERE p.key = replace(m.key, '_model', '_provider')
  AND p.value_json = '"gemini"'::jsonb
  AND m.key IN ('ai_qualifier_model', 'ai_writer_model')
  AND m.value_json::text NOT LIKE '"gemini/%'
  AND m.value_json::text NOT LIKE '"%/%"';
