mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-27 15:17:38 +00:00
62 lines
2.3 KiB
Swift
62 lines
2.3 KiB
Swift
import Foundation
|
|
|
|
/// Configuration for StatusBarMenuManager setup.
|
|
///
|
|
/// This struct bundles all the service dependencies required to initialize
|
|
/// the status bar menu manager. It ensures all necessary services are provided
|
|
/// during initialization, following the dependency injection pattern.
|
|
struct StatusBarMenuConfiguration {
|
|
/// Monitors active terminal sessions.
|
|
///
|
|
/// Tracks the lifecycle of terminal sessions, providing real-time
|
|
/// updates about session state, activity, and metadata.
|
|
let sessionMonitor: SessionMonitor
|
|
|
|
/// Manages the VibeTunnel web server.
|
|
///
|
|
/// Handles starting, stopping, and monitoring the embedded or
|
|
/// development web server that serves the terminal interface.
|
|
let serverManager: ServerManager
|
|
|
|
/// Provides ngrok tunnel functionality.
|
|
///
|
|
/// Manages ngrok tunnels for exposing local terminal sessions
|
|
/// to the internet with secure HTTPS endpoints.
|
|
let ngrokService: NgrokService
|
|
|
|
/// Provides Tailscale network functionality.
|
|
///
|
|
/// Manages Tailscale integration for secure peer-to-peer
|
|
/// networking without exposing sessions to the public internet.
|
|
let tailscaleService: TailscaleService
|
|
|
|
/// Launches terminal applications.
|
|
///
|
|
/// Handles opening new terminal windows or tabs in the user's
|
|
/// preferred terminal application (Terminal.app, iTerm2, etc.).
|
|
let terminalLauncher: TerminalLauncher
|
|
|
|
/// Monitors Git repository states.
|
|
///
|
|
/// Provides real-time information about Git repositories,
|
|
/// including branch status, uncommitted changes, and sync state.
|
|
let gitRepositoryMonitor: GitRepositoryMonitor
|
|
|
|
/// Discovers Git repositories on the system.
|
|
///
|
|
/// Scans and indexes Git repositories for quick access
|
|
/// and provides repository suggestions in the UI.
|
|
let repositoryDiscovery: RepositoryDiscoveryService
|
|
|
|
/// Manages application configuration.
|
|
///
|
|
/// Handles reading and writing configuration settings,
|
|
/// including user preferences and system settings.
|
|
let configManager: ConfigManager
|
|
|
|
/// Manages Git worktrees.
|
|
///
|
|
/// Provides functionality for creating, listing, and managing
|
|
/// Git worktrees for parallel development workflows.
|
|
let worktreeService: WorktreeService
|
|
}
|