feat(db/llm/ui): настроена работа кнопок подтверждающих изменения внеcенные инструментом и финальные для выхода из инструмента и очистки сессии.
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
"""
|
||||
Скрипт инициализации таблицы tool_action_registry в SQLite БД.
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import sqlite3
|
||||
|
||||
BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
|
||||
DB_PATH = os.path.join(BASE_DIR, "data", "scud_orion_ai.db")
|
||||
|
||||
def init_tool_action_registry():
|
||||
conn = sqlite3.connect(DB_PATH)
|
||||
cursor = conn.cursor()
|
||||
|
||||
# 1. Создаем таблицу
|
||||
cursor.execute("""
|
||||
CREATE TABLE IF NOT EXISTS tool_action_registry (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
tool_name TEXT UNIQUE NOT NULL,
|
||||
category TEXT DEFAULT 'general',
|
||||
bypass_llm INTEGER DEFAULT 1,
|
||||
success_template TEXT NOT NULL,
|
||||
follow_up_question TEXT,
|
||||
action_type TEXT DEFAULT 'BUTTONS',
|
||||
buttons_json TEXT,
|
||||
is_active INTEGER DEFAULT 1,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
""")
|
||||
|
||||
# 2. Начальное наполнение базовыми сценариями
|
||||
seed_tools = [
|
||||
(
|
||||
"db_confirm_prompt_preview",
|
||||
"prompt",
|
||||
1,
|
||||
"✅ Системный промпт успешно сохранен и применен в базе данных.",
|
||||
"Желаете продолжить работу с системным промптом?",
|
||||
"FOLLOW_UP_ACTION",
|
||||
json.dumps([
|
||||
{"label": "Показать промпт", "value": "покажи системный промпт"},
|
||||
{"label": "Готово", "value": "нет, спасибо"}
|
||||
], ensure_ascii=False)
|
||||
),
|
||||
(
|
||||
"db_cancel_prompt_preview",
|
||||
"prompt",
|
||||
1,
|
||||
"❌ Изменения системного промпта отменены.",
|
||||
"Желаете продолжить работу с системным промптом?",
|
||||
"FOLLOW_UP_ACTION",
|
||||
json.dumps([
|
||||
{"label": "Показать промпт", "value": "покажи системный промпт"},
|
||||
{"label": "Готово", "value": "нет, спасибо"}
|
||||
], ensure_ascii=False)
|
||||
),
|
||||
(
|
||||
"db_delete_task",
|
||||
"tasks",
|
||||
1,
|
||||
"🗑 Задача успешно удалена из вашего реестра.",
|
||||
"Хотите посмотреть обновленный список задач?",
|
||||
"FOLLOW_UP_ACTION",
|
||||
json.dumps([
|
||||
{"label": "Показать задачи", "value": "покажи список задач"},
|
||||
{"label": "Готово", "value": "нет"}
|
||||
], ensure_ascii=False)
|
||||
),
|
||||
(
|
||||
"db_delete_snapshots",
|
||||
"snapshots",
|
||||
1,
|
||||
"🗑 Выбранные снапшоты успешно удалены из базы данных.",
|
||||
"Вывести актуальный список снапшотов?",
|
||||
"FOLLOW_UP_ACTION",
|
||||
json.dumps([
|
||||
{"label": "Показать снапшоты", "value": "покажи список снапшотов"},
|
||||
{"label": "Готово", "value": "нет"}
|
||||
], ensure_ascii=False)
|
||||
)
|
||||
]
|
||||
|
||||
for item in seed_tools:
|
||||
cursor.execute("""
|
||||
INSERT INTO tool_action_registry (
|
||||
tool_name, category, bypass_llm, success_template, follow_up_question, action_type, buttons_json
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?)
|
||||
ON CONFLICT(tool_name) DO UPDATE SET
|
||||
category = excluded.category,
|
||||
bypass_llm = excluded.bypass_llm,
|
||||
success_template = excluded.success_template,
|
||||
follow_up_question = excluded.follow_up_question,
|
||||
action_type = excluded.action_type,
|
||||
buttons_json = excluded.buttons_json,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
""", item)
|
||||
|
||||
conn.commit()
|
||||
conn.close()
|
||||
print("[✓] Таблица tool_action_registry успешно создана и наполнена!")
|
||||
|
||||
if __name__ == "__main__":
|
||||
init_tool_action_registry()
|
||||
Reference in New Issue
Block a user