feat(feedback): personal AI models, AI run tracking and profiles/options endpoint

- user_settings allowlist: feedback_models (up to 10 personal model configs)
- normalizeFeedbackModels() validation, UI block "Мои модели" in #fbPromptModal
- GET /api/ai/profiles/options for tutors (no api_key), used by feedback/shorts
- feedbacks columns ai_prompt/ai_model/ai_duration_ms + backup/restore support
- "ИИ-запрос" popover on feedback card with status, model, timing and prompt
- audit: feedback.update / feedback.ai.run / feedback.ai.error labels
This commit is contained in:
dev
2026-10-07 16:30:27 +03:00
parent a73b1b3f8c
commit a9fb7aaf77
13 changed files with 522 additions and 85 deletions
+3
View File
@@ -530,6 +530,9 @@ function normalizeRestoreData(data) {
ai_checked_at: optTs(r.ai_checked_at),
ai_error: optStr(r.ai_error),
ai_profile: optStr(r.ai_profile),
ai_prompt: optText(r.ai_prompt, 100000),
ai_model: optStr(r.ai_model, 200),
ai_duration_ms: optInt(r.ai_duration_ms, 0, 86400000),
sent_at: optTs(r.sent_at),
author_id: optInt(r.author_id),
branch_id: optInt(r.branch_id),