Mountain/Binary/IPC/
IPCStatusCommand.rs

1//! # IPCStatusCommand
2//!
3//! Retrieves IPC status information for monitoring.
4//!
5//! ## RESPONSIBILITIES
6//!
7//! ### Status Reporting
8//! - Get current IPC server status
9//! - Report connection metrics
10//! - Return operational state information
11//!
12//! ## ARCHITECTURAL ROLE
13//!
14//! ### Position in Mountain
15//! - IPC wrapper command in Binary subsystem
16//! - Status reporter endpoint
17//!
18//! ### Dependencies
19//! - crate::IPC::StatusReporter: Status tracking
20//! - tauri: IPC framework
21//! - serde_json: JSON serialization
22//!
23//! ### Dependents
24//! - Wind frontend: Queries IPC status
25//! - DevTools: Monitoring IPC health
26//!
27//! ## SECURITY
28//!
29//! ### Considerations
30//! - Status is read-only, no security impact
31//!
32//! ## PERFORMANCE
33//!
34//! ### Considerations
35//! - Status queries are fast, in-memory operations
36
37use serde_json::Value;
38use tauri::AppHandle;
39
40/// Get IPC status.
41///
42/// Retrieves the current status of the IPC system including
43/// connection state and operational metrics.
44///
45/// # Arguments
46///
47/// * `app_handle` - Tauri application handle
48///
49/// # Returns
50///
51/// Returns IPC status JSON, or an error string.
52///
53/// # Errors
54///
55/// Returns an error if status cannot be retrieved.
56#[tauri::command]
57pub async fn MountainGetIPCStatus(app_handle:AppHandle) -> Result<Value, String> {
58	crate::IPC::StatusReporter::mountain_get_ipc_status(app_handle).await
59}