""" truenas_tools.py — мониторинг и управление TrueNAS через Open WebUI. Полный набор инструментов для интеграции TrueNAS 25.10 (Goldeye/Goliath) в Open WebUI в виде пользовательского Tool. Возможности: • Системная информация (версия, uptime, CPU, load average, RAM, температура CPU) • Детальная информация о RAM с перебором нескольких эндпоинтов API • Пулы ZFS (статус, занятость, фрагментация) • Диски (модель, серийник, объём, температура SMART) • Docker-приложения (TrueNAS Apps): мониторинг + установка, запуск, остановка, удаление, обновление • Custom App из docker-compose файла • Каталог приложений (TRUENAS, TrueCharts, Community…): список и детали • Виртуальные машины (libvirt/KVM) • Контейнеры (virt/incus) • Алерты TrueNAS • Статистика ZFS ARC-кэша • Диагностика соединения и валидация API-ключа • Кэширование ответов с настраиваемым TTL (только для GET-запросов) История версий: v2.1 — управление приложениями: list_catalogs, list_app_catalog, get_app_info, install_app (catalog), install_custom_app (compose), app_action, app_status, wait_for_app, общий метод _rest_request (POST/PUT/DELETE) v2.0 — добавлены RAM (multi-endpoint), температуры CPU/дисков, ARC, валидация API v1.0 — базовый мониторинг (система, пулы, диски, VM, контейнеры, алерты) """ import json import time import requests from typing import Dict, Optional, List, Any, Union from pydantic import BaseModel, Field