"""`python -m lyra` (or `lyra`): a terminal REPL to talk to Lyra.""" from __future__ import annotations import sys from lyra import chat from lyra.session import Session _QUIT = {"exit", "quit", ":q"} def main() -> int: session = Session() print(f"Lyra — session {session.id}. Ctrl-D or 'exit' to leave.\n") while True: try: user_msg = input("you > ").strip() except (EOFError, KeyboardInterrupt): print() break if not user_msg: continue if user_msg.lower() in _QUIT: break try: reply = chat.respond(session.id, user_msg) except Exception as exc: # keep the loop alive; surface the error print(f"\n[error] {exc}\n", file=sys.stderr) continue print(f"\nlyra > {reply}\n") print("later.") return 0 if __name__ == "__main__": raise SystemExit(main())