from __future__ import annotations import sys def main() -> int: """Dispatch the common GUI path without importing every CLI operation.""" arguments = sys.argv[1:] if not arguments or arguments == ["gui"]: from .container_host import ( container_host_error, repair_container_host_after_update, ) from .paths import AppPaths from .umu import provision_umu_for_startup try: paths = AppPaths.from_environment() # Older installed releases cannot run a bootstrap step that only exists # in their update payload. Their automatic restart enters here instead. provision_umu_for_startup(paths) container_host = repair_container_host_after_update(paths) if container_host.repair_attempted and ( not container_host.ready or container_host.broken_umu_profile_link or container_host.repair_error is not None ): print( f"Warning: {container_host_error(container_host)}", file=sys.stderr, ) from .ui import run_dashboard run_dashboard(paths) except KeyboardInterrupt: return 130 except (ValueError, OSError, RuntimeError) as exc: print(f"Error: {exc}", file=sys.stderr) return 1 return 0 from .cli import main as cli_main return cli_main(arguments) raise SystemExit(main())