{
  "default": {
    "id": "default",
    "label": "Default text/audio",
    "command": "powershell -ExecutionPolicy Bypass -File scripts\\switch_gpu_profile.ps1 -Profile default",
    "starts": ["vllm-text", "translation-api", "audio-api", "model-chat-ui"],
    "stops": ["video-api", "image-api", "llama-gguf"],
    "wait": [
      {"name": "vLLM", "url": "http://192.168.220.91:8000/v1/models"},
      {"name": "translation", "url": "http://192.168.220.91:8010/health"},
      {"name": "audio", "url": "http://192.168.220.91:8020/health"},
      {"name": "UI", "url": "http://192.168.220.91:8765/api/health"}
    ],
    "notes": "Текст, 1С, перевод и аудио; video/image выключены, чтобы не занимать VRAM."
  },
  "text": {
    "id": "text",
    "label": "Text and 1C",
    "command": "powershell -ExecutionPolicy Bypass -File scripts\\switch_gpu_profile.ps1 -Profile text",
    "starts": ["vllm-text", "translation-api", "audio-api", "model-chat-ui"],
    "stops": ["video-api", "image-api", "llama-gguf"],
    "wait": [
      {"name": "vLLM", "url": "http://192.168.220.91:8000/v1/models"},
      {"name": "translation", "url": "http://192.168.220.91:8010/health"},
      {"name": "audio", "url": "http://192.168.220.91:8020/health"},
      {"name": "UI", "url": "http://192.168.220.91:8765/api/health"}
    ],
    "notes": "Основной режим для текстовых чатов, RAG 1С и переводов."
  },
  "audio": {
    "id": "audio",
    "label": "Audio checks",
    "command": "powershell -ExecutionPolicy Bypass -File scripts\\switch_gpu_profile.ps1 -Profile audio",
    "starts": ["audio-api", "translation-api", "vllm-text", "model-chat-ui"],
    "stops": ["video-api", "image-api", "llama-gguf"],
    "wait": [
      {"name": "audio", "url": "http://192.168.220.91:8020/health"},
      {"name": "translation", "url": "http://192.168.220.91:8010/health"},
      {"name": "vLLM", "url": "http://192.168.220.91:8000/v1/models"},
      {"name": "UI", "url": "http://192.168.220.91:8765/api/health"}
    ],
    "notes": "Распознавание речи плюс текстовый endpoint; video выключен."
  },
  "video": {
    "id": "video",
    "label": "Vision/video",
    "command": "powershell -ExecutionPolicy Bypass -File scripts\\switch_gpu_profile.ps1 -Profile video",
    "starts": ["translation-api", "video-api", "model-chat-ui"],
    "stops": ["vllm-text", "audio-api", "image-api", "llama-gguf"],
    "wait": [
      {"name": "translation", "url": "http://192.168.220.91:8010/health"},
      {"name": "video", "url": "http://192.168.220.91:8030/health"},
      {"name": "UI", "url": "http://192.168.220.91:8765/api/health"}
    ],
    "notes": "Освобождает VRAM под Qwen2.5-VL; первый анализ изображения может грузиться несколько минут."
  },
  "image": {
    "id": "image",
    "label": "Image generation",
    "command": "powershell -ExecutionPolicy Bypass -File scripts\\switch_gpu_profile.ps1 -Profile image",
    "starts": ["translation-api", "image-api", "model-chat-ui"],
    "stops": ["vllm-text", "audio-api", "video-api", "llama-gguf"],
    "wait": [
      {"name": "translation", "url": "http://192.168.220.91:8010/health"},
      {"name": "image", "url": "http://192.168.220.91:8040/health"},
      {"name": "UI", "url": "http://192.168.220.91:8765/api/health"}
    ],
    "notes": "Освобождает VRAM под SDXL generation/inpainting; первая генерация загружает diffusers pipeline."
  },
  "gguf-1c": {
    "id": "gguf-1c",
    "label": "GGUF 1C",
    "command": "powershell -ExecutionPolicy Bypass -File scripts\\switch_gpu_profile.ps1 -Profile gguf-1c",
    "starts": ["llama-gguf", "translation-api", "model-chat-ui"],
    "stops": ["vllm-text", "audio-api", "video-api", "image-api"],
    "wait": [
      {"name": "llama.cpp", "url": "http://192.168.220.91:8080/v1/models"},
      {"name": "translation", "url": "http://192.168.220.91:8010/health"},
      {"name": "UI", "url": "http://192.168.220.91:8765/api/health"}
    ],
    "notes": "Режим для llama.cpp / GGUF 1С после появления готового адаптера или GGUF-сборки."
  }
}
