"""Check Space secrets and model storage without printing secret values.""" from __future__ import annotations import os import shutil from pathlib import Path from bootstrap_comfy import MODEL_LINKS, model_root, model_target def masked_secret(name: str) -> str: value = os.environ.get(name) if not value: return "missing" return f"present, length={len(value)}" def disk_summary(path: Path) -> str: existing = path while not existing.exists() and existing != existing.parent: existing = existing.parent usage = shutil.disk_usage(existing) total_gb = usage.total / 1024**3 free_gb = usage.free / 1024**3 return f"{existing}: free={free_gb:.1f}GB total={total_gb:.1f}GB" def main() -> None: print("Secrets:") for name in ["DEEPSEEK_API_KEY", "DEEPSEEK_BASE_URL", "DEEPSEEK_MODEL", "HF_TOKEN"]: print(f" {name}: {masked_secret(name)}") root = model_root() print("\nModel storage:") print(f" VOICEGATE_MODEL_ROOT: {os.environ.get('VOICEGATE_MODEL_ROOT') or '(default)'}") print(f" resolved model_root: {root}") print(f" disk: {disk_summary(root)}") for name, link in MODEL_LINKS.items(): target = model_target(name) print(f" {name}:") print(f" ComfyUI path: {link}") print(f" persistent target: {target}") print(f" target exists: {target.exists()}") print(f" link exists: {link.exists() or link.is_symlink()}") if __name__ == "__main__": main()