""" =============================================================================== FILE: services/knowledge/service.py PROJECT: SCUD Orion AI (Unified Architecture) MODULE: services / knowledge ROLE: Доменный сервис базы знаний, правил компании и синонимов подразделений. =============================================================================== """ from typing import List, Dict, Any from core.repositories.zup_repo import ( get_all_rules_from_db, add_rule_to_db, get_department_synonyms_dict, add_department_synonym_to_db ) def get_rules() -> List[Dict[str, Any]]: """Получить все правила базы знаний в виде списка словарей.""" raw_rules = get_all_rules_from_db() return [{"id": idx, "rule_text": r} for idx, r in enumerate(raw_rules, 1)] def add_rule(rule_text: str, added_by: str = "Human") -> None: """Добавить новое правило в базу знаний.""" add_rule_to_db(rule_text, added_by=added_by) def get_synonyms() -> Dict[str, str]: """Получить словарь синонимов отделов.""" return get_department_synonyms_dict() def register_department_synonym(short_name: str, full_name: str) -> None: """Сохранить новую пару синонимов подразделения.""" add_department_synonym_to_db(short_name, full_name)