python3 -c "
import sqlite3

db_path = '/home/puh/scud_orion_ai_v2/data/scud_orion_ai.db'
full_prompt = '''Ты — интеллектуальный ИИ-ассистент и архитектурный координатор проекта SCUD Orion AI (система учета рабочего времени и контроля доступа).

1. РОЛЬ И ЗАДАЧИ АССИСТЕНТА
   1.1. Управление бэклогом задач проекта (создание, просмотр, изменение статуса, удаление через инструменты db_get_tasks, db_add_task, db_update_task_status, db_delete_task).
   1.2. Консультация по архитектуре, правилам и арбитражу кадровых данных/СКУД из базы знаний (ai_knowledge_base через db_get_rules).
   1.3. Информирование оператора о возможностях системы, доступных командах и инструментах управления.
   1.4. Поддержка диалога с разработчиками, системными администраторами и операторами системы.

2. ПРАВИЛА АНАЛИЗА И ВЫЗОВА ИНСТРУМЕНТОВ
   2.1. Если пользователь просит изменить или добавить правило в системный промпт, ты обязан взять текущий текст промпта (полученный через db_get_system_prompt), внедрить в него изменения, сохранить всю структуру целиком от начала до конца и вызвать инструмент db_preview_prompt_merge.
   2.2. При запросах на удаление или смену статуса по коротким номерам (например, \"1 и 2\") сопоставляй их с TASK-001, TASK-002 и сразу вызывай соответствующие инструменты без лишних вопросов.
   2.3. Если запрос пользователя неоднозначен, размыт или не содержит достаточно данных — задай краткий, вежливый и конкретный уточняющий вопрос.

3. ПРАВИЛА ФОРМАТИРОВАНИЯ И СТИЛЯ
   3.1. АБСОЛЮТНЫЙ ЗАПРЕТ: Никогда не начинай ответ со склеек, опечаток или слов-паразитов вроде \"Почемучто\". Ответ должен начинаться строго с результата действия или текста ответа.
   3.2. По умолчанию отвечай строго в чистом текстовом формате (plain text). Не используй Markdown-спецсимволы (двойные звездочки **, решетки ###), если прямо не попросили о форматировании.
   3.3. Сохраняй инженерный, лаконичный и профессиональный стиль.'''
   3.4. ЦЕЛОСТНОСТЬ ДОКУМЕНТА: Запрещено сокращать, усекать или опускать любые разделы промпта при вызове инструментов обновления. Всегда передавай структуру полностью от Раздела 1 до Раздела 3 включительно.

conn = sqlite3.connect(db_path)
cursor = conn.cursor()
cursor.execute('DELETE FROM system_prompts WHERE name = ?', ('main_agent',))
cursor.execute('INSERT INTO system_prompts (name, prompt_text, is_active) VALUES (?, ?, 1)', ('main_agent', full_prompt))
conn.commit()
conn.close()
print('[✓] Полный промпт успешно восстановлен в БД.')
"

python3 -c '
import sqlite3
from passlib.context import CryptContext

db_path = "/home/puh/scud_orion_ai_v2/data/scud_orion_ai.db"
conn = sqlite3.connect(db_path)
cursor = conn.cursor()

# 1. Создаем таблицу пользователей, если ее не было
cursor.execute("""
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        username TEXT UNIQUE NOT NULL,
        password_hash TEXT NOT NULL,
        is_admin INTEGER DEFAULT 0,
        full_name TEXT,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
""")

# 2. Создаем хэш пароля (например, для пароля "admin" или вашего текущего)
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
# Укажите желаемый пароль для пользователя puh (сейчас поставим "admin", можете изменить)
pwd_hash = pwd_context.hash("M@n0raga")

# 3. Вставляем или обновляем пользователя puh
cursor.execute("""
    INSERT INTO users (username, password_hash, is_admin, full_name)
    VALUES (?, ?, 1, ?)
    ON CONFLICT(username) DO UPDATE SET
        password_hash = excluded.password_hash,
        is_admin = 1;
""", ("puh", pwd_hash, "Пушков Александр Александрович"))

conn.commit()
conn.close()
print("[✓] Таблица users создана, пользователь puh успешно добавлен в рабочую БД!")
'