//! Shared Unity-focused helpers for Mercury Toolbox commands. #![allow(clippy::multiple_crate_versions)] use common::CliError; use thiserror::Error; pub mod assets; pub mod logs; pub mod probe; pub use assets::{ AssetDump, AssetDumpFieldMode, AssetExtractOutput, AssetExtractReport, AssetIndexRow, AssetReferenceEntry, AssetReferences, ExtractionMode, dump_unity_asset, extract_unity_asset, index_unity_assets, refs_unity_asset, }; pub use logs::{ CountEntry, IncidentGroupMode, StackMode, UnityDiagOptions, UnityDiagReport, UnityDiagSummary, UnityIncident, UnityLogKind, UnityLogSummary, UnitySeverity, analyze_log_paths, analyze_log_text, discover_log_paths, parse_incident_group_mode, parse_stack_mode, }; pub use probe::{ BRIDGE_PIPE_NAME, FindData, InspectData, InstallReport, ProbeEnvelope, RuntimeStatusData, ScenesData, StaticData, StatusReport, UninstallReport, find_objects, inspect_object, inspect_static, install_bridge, query_runtime_status, query_scenes, status_bridge, uninstall_bridge, }; /// Errors produced by the shared Unity support layer. #[derive(Debug, Error)] pub enum UnitySupportError { /// Message-style runtime or validation error. #[error("{0}")] Message(String), } impl UnitySupportError { /// Builds a new message-style error. #[must_use] pub fn message(message: impl Into) -> Self { Self::Message(message.into()) } } impl From for CliError { fn from(value: UnitySupportError) -> Self { Self::runtime(value.to_string()) } }