"""`python -m proteus.web.local` — launch the interactive color-grid play server.""" from __future__ import annotations import argparse import proteus.game.scenarios # noqa: F401 (registers scenarios before any request) from proteus.env_loader import load_dotenv from proteus.web.local.server import make_server def main(argv: list[str] | None = None) -> int: parser = argparse.ArgumentParser(prog="proteus.web.local") parser.add_argument("--host", default="127.0.0.1") parser.add_argument("--port", type=int, default=8000) args = parser.parse_args(argv) # Load provider API keys from the repo's git-ignored .env so cloud models # (ollama:*-cloud, openai, anthropic, …) work without a manual `export`. loaded = load_dotenv() if loaded: print(f"loaded API keys from {loaded}") server = make_server(args.host, args.port) host, port = server.server_address[0], server.server_address[1] print(f"AgentnessBench — open http://{host}:{port}/ (Ctrl-C to stop)") try: server.serve_forever() except KeyboardInterrupt: print("\nstopping.") finally: server.server_close() return 0 if __name__ == "__main__": raise SystemExit(main())