Spaces:
Sleeping
Sleeping
| from typing import Dict, Optional | |
| class CommandParser: | |
| VALID_COMMANDS = ["MODE", "CARD", "REPO", "RUN", "TEST", "LEDGER", "RESET", "STATE", "HELP"] | |
| def parse(command: str) -> Dict: | |
| command = (command or "").strip() | |
| if not command: | |
| return {"valid": False, "error": "Empty command"} | |
| parts = command.split(maxsplit=1) | |
| cmd = parts[0].upper() | |
| arg = parts[1] if len(parts) > 1 else None | |
| if cmd not in CommandParser.VALID_COMMANDS: | |
| return { | |
| "valid": False, | |
| "error": f"Unknown command: {cmd}", | |
| "suggestion": f"Valid: {', '.join(CommandParser.VALID_COMMANDS)}", | |
| } | |
| return {"valid": True, "command": cmd, "argument": arg, "raw": command} | |