Add standalone SSH and serial launch planning#132
Conversation
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 4 minutes and 10 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Objective
Wire existing standalone CLI remote flags into concrete PTY launch planning so
--sshand--serialproduce actionable runtime launch plans with explicit validation and predictable behavior.Scope
crates/iris-standalone/src/session.rsto introduce launch-target resolution with three modes: shell, SSH, and serial.--ssh <destination>now maps tossh <destination>, and-e/--commandis forwarded as an optional remote command argument in SSH mode.--serial <port> [--baud <rate>]now maps to Pythonserial.tools.miniterm(python3on Unix,pyon Windows).--ssh/--serial, conflicting--ssh+--serial, and invalid serial +-e/--commandcombinations.docs/phases/06.mdto reflect completed SSH/serial launch-plan wiring.CHANGELOG.mdwith the standalone behavior change.API and Behavior Changes
crates/iris-standalone/src/session.rs:SessionLaunchTargetresolve_launch_target(...)ssh_arguments(...)serial_session_command(...)iris --ssh user@hostnow plans and launchessshdirectly rather than defaulting to shell startup.iris --ssh user@host -e "<cmd>"now forwards the command as an SSH remote command argument.iris --serial <port> --baud <rate>now plans a basic serial session viaserial.tools.miniterm.build_pty_config(...)now returns explicit errors for:-e/--commandBackward Compatibility
-eplanning behavior preserved when neither remote mode is selected)Test Coverage
Added/updated tests in
crates/iris-standalone/src/session.rs:uses_ssh_mode_when_destination_is_suppliedssh_mode_accepts_command_override_as_remote_commanduses_serial_mode_with_baud_rate_when_port_is_suppliedrejects_blank_ssh_destinationrejects_blank_serial_portrejects_combining_ssh_and_serial_modesrejects_serial_mode_with_command_overrideresolve_launch_target_prefers_shell_when_no_remote_mode_selectedssh_arguments_include_remote_command_when_presentserial_session_command_uses_platform_launcher_and_miniterm_moduleStrategy:
python3vspy).Verification
cargo fmt --all(pass)cargo clippy -p iris-standalone --all-targets -- -D warnings(pass)cargo test -p iris-standalone(pass; 42 tests)Files Changed
crates/iris-standalone/src/session.rsdocs/phases/06.mdCHANGELOG.mdNotes