from __future__ import annotations import argparse import os import sys import time from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parents[1])) def main() -> None: parser = argparse.ArgumentParser() parser.add_argument("--seconds", type=int, default=90) parser.add_argument("--port", type=int, default=7860) parser.add_argument("--backend", default="mock") args = parser.parse_args() os.environ["MODEL_BACKEND"] = args.backend from tower_game.ui import build_app app = build_app() try: app.launch( server_name="127.0.0.1", server_port=args.port, prevent_thread_lock=True, show_error=True, ) time.sleep(max(1, min(args.seconds, 300))) finally: app.close() if __name__ == "__main__": main()