import sys from admin import ( _version, ensure_daemon, list_cloud_profiles, list_local_profiles, print_update_banner, restart_daemon, run_doctor, run_setup, run_update, start_remote_daemon, stop_remote_daemon, sync_local_profile, ) from helpers import * HELP = """Browser Harness Read SKILL.md for the default workflow and examples. Typical usage: uv run bh <<'PY' ensure_real_tab() print(page_info()) PY Helpers are pre-imported. The daemon auto-starts and connects to the running browser. Commands: browser-harness --version print the installed version browser-harness --doctor diagnose install, daemon, and browser state browser-harness --setup interactively attach to your running browser browser-harness --update [-y] pull the latest version (agents: pass -y) """ def main(): args = sys.argv[1:] if args and args[0] in {"-h", "--help"}: print(HELP) return if args and args[0] == "--version": print(_version() or "unknown") return if args and args[0] == "--doctor": sys.exit(run_doctor()) if args and args[0] == "--setup": sys.exit(run_setup()) if args and args[0] == "--update": yes = any(a in {"-y", "--yes"} for a in args[1:]) sys.exit(run_update(yes=yes)) if sys.stdin.isatty(): sys.exit( "browser-harness reads Python from stdin. Use:\n" " browser-harness <<'PY'\n" " print(page_info())\n" " PY" ) print_update_banner() ensure_daemon() exec(sys.stdin.read()) if __name__ == "__main__": main()