# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17

ПАПКИ — управление папками и назначения 
===========================================

Управляет назначением папок данных агентам и экспертам в BACH.
База данных. Хранит метаданные, такие как тип папки, владелец и время доступа.


ОПИСАНИЕ
------------

Обработчик папок обеспечивает централизованное управление папками_user_data_folders.
Папки классифицируются по типу (данные, архив, экспорт, временные) и могут
Иметь агента или владельца эксперта. Все изменения затрагивают только БД,
не файловая система.


ОПЕРАЦИИ
-----------

  bach folders list                              Показать все сопоставления папок
                                                 с идентификатором, типом, владельцем и путем

  bach folders add <pfad> [OPTIONS]              Зарегистрировать новую папку
    --type <тип> Тип папки: данные, архив, экспорт,
                                                 температура (по умолчанию: данные)
    --agent <имя> сопоставление агентов (необязательно)
    --expert <имя> Сопоставление эксперта (необязательно)

  bach folders remove <id>                       Удалить папку из БД
                                                 (Файлы сохраняются)

  bach folders move <id> <neuer_pfad>            Изменить путь в БД
                                                 (Файлы не перемещены)


ПРИМЕРЫ
---------

  # Показать все зарегистрированные папки
  bach folders list
  Вывод: Таблица с идентификатором, типом, агентом/экспертом и путем

  # Добавить новую папку с данными
  bach folders add "Projekte/Forschung"
  Вывод: [ОК] Добавлена ​​папка (ID: 23): Проекты/Исследования

  # Папка с отображением типов и агентов
  bach folders add "Archive/Legacy" --type archive --agent archiveBot
  Папка зарегистрирована как архив и закреплена за агентами

  # Папка с экспертным заданием
  bach folders add "Expert-Daten" --type data --expert nlp_expert
  Папка закреплена за экспертом

  # Удалить папку из БД (содержимое останется)
  bach folders remove 23
  Вывод: [ОК] Папка удалена (ID: 23)

  # Изменить путь к папке (например, после переименования)
  bach folders move 23 "Projekte/Forschung-v2"
  Вывод: [OK] Обновлен путь (ID: 23): Projects/Research-v2


ДЕТАЛИ
-------

Типы папок:
  data     - Общие рабочие данные (по умолчанию)
  archive  - Архивированные/завершенные данные
  export   - Экспортированные результаты
  temp     - Временные рабочие данные

Назначения:
  - Агент или Эксперт (по желанию)
  - Имена агентов должны существовать в bach_agents.
  - Имена экспертов должны существовать в bach_experts.
  - Ошибка с несуществующими именами

Поведение базы данных:
  - список: связанный запрос с bach_agents и bach_experts.
  - добавить: возвращает новый идентификатор папки.
  - удалить: удаляет только запись БД, а не файловую систему.
  - перемещение: изменить путь к папке и обновить временную метку последнего доступа 


ОБРАБОТКА ОШИБОК
----------------

  Неверный тип_папки: X Только данные/архив/экспорт/темп.
  Агент не найден: <имя> Имя не существует в bach_agents
  Эксперт не найден: имя <имя> не существует в bach_experts
  Ошибка: отсутствует обязательный аргумент <id>
  Папка не найдена (ID: <id>) В базе данных нет строк


FILES
-------

  Обработчик:hub/folders.py
  База данных: bach.db (таблица: user_data_folders)
  Схема: идентификатор, путь_к папке, тип_папки, идентификатор_агента, идентификатор_эксперта, созданный_at,
          последний_доступ, dist_type


СМОТРИ ТАКЖЕ
----------

  Агенты помощи Обзор и структура агента
  помощь экспертов Экспертное администрирование
  help bash_paths Структура каталогов установки BACH
