- agent.sh: add --uninstall flag, detect arm64/x86_64 for macOS
- agent.html: add uninstall section with tab switching
- guide.html: replace simple uninstall with full one-click uninstall blocks
in both oneclick-install and remote-support sections
- downloads: add agent-mac-intel binary for Intel Mac users
- Commands now run in goroutines, message loop never blocked
- WebSocket writes protected with mutex for concurrency safety
- Max 5 concurrent commands with semaphore limiting
- Long-running commands (npm install, large downloads) no longer freeze agent
- agent.ps1: ID format changed from hostname-random to pc-XXXX (pure digits)
- agent.ps1: Device ID display reformatted for easier copy
- agent.exe: rebuilt with dev-XXXX numeric ID generation
- Split auth into agent-token (public) and controller-token (secret)
- Agent token in scripts can't be used to control devices
- Add agent.html: step-by-step guide for customers (Win/Mac/Linux)
- Update agent binaries with new token defaults