"""
CLI 入口

子命令模式：
  roborock-mcp          → 默认启动 stdio server
  roborock-mcp auth     → 运行交互式认证
  roborock-mcp --help   → 显示帮助
"""

import argparse
import sys


def main():
    parser = argparse.ArgumentParser(
        prog="roborock-mcp",
        description="Roborock MCP Server — 让 Claude 控制石头扫地机",
        epilog="不带子命令时默认启动 MCP server（stdio 模式）",
    )
    subparsers = parser.add_subparsers(dest="command")
    subparsers.add_parser("auth", help="首次认证（交互式邮箱验证码）")

    args = parser.parse_args()

    if args.command == "auth":
        from .setup_auth import main as auth_main
        auth_main()
    elif args.command is None:
        # 默认行为：启动 server
        from .server import mcp
        mcp.run(transport="stdio")
    else:
        # 防御性编程：argparse 通常会拦截未知子命令
        parser.error(f"未知子命令: {args.command}")
        sys.exit(1)


if __name__ == "__main__":
    main()
