Expand description
Interactive mode implementation for SSH sessions
This module provides both traditional rustyline-based interactive mode and modern PTY-based interactive mode with full terminal support.
§Architecture
The interactive module is split into focused submodules for maintainability:
§Core Components
types: Core types and structures (InteractiveCommand, InteractiveResult, NodeSession)execution: Main execution logic coordinating PTY and traditional modes
§Connection Management
connection: SSH connection establishment for interactive sessions- Handles both direct connections and jump host chains
- Manages authentication method selection
- Supports both traditional and PTY-enabled channels
§Session Management
-
single_node: Single node interactive session handling- Rustyline-based command input
- Real-time SSH output streaming
- Command history management
-
multiplex: Multi-node multiplexed session handling- Parallel command execution across nodes
- Node selection and activation
- Coordinated output display with timestamps
§Utilities
commands: Special command parsing and handling (node switching, broadcast, etc.)utils: Utility functions for prompts, path expansion, PTY detection
§Public API
The module exports only the public-facing types:
InteractiveCommand: Configuration and entry point for interactive sessionsInteractiveResult: Summary of interactive session execution
Structs§
- Interactive
Command - Interactive mode command configuration
- Interactive
Result - Result of an interactive session