use thiserror::Error; use tokio::io; use tokio::sync::mpsc::error::SendError; use crate::server::plugin_runtime::EventStreamEvent; #[derive(Error, Debug)] pub enum Error { #[error("IO error")] IoErr(#[from] io::Error), #[error("Tauri error")] TauriErr(#[from] tauri::Error), #[error("Tauri shell error")] TauriShellErr(#[from] tauri_plugin_shell::Error), #[error("Grpc transport error")] GrpcTransportErr(#[from] tonic::transport::Error), #[error("Grpc send error")] GrpcSendErr(#[from] SendError>), #[error("JSON error")] JsonErr(#[from] serde_json::Error), #[error("Plugin not found error")] PluginNotFoundErr(String), #[error("unknown error")] MissingCallbackIdErr(String), #[error("Missing callback ID error")] MissingCallbackErr(String), #[error("No plugins found")] NoPluginsErr(String), #[error("Plugin error")] PluginErr(String), #[error("Unknown error")] UnknownErr(String), } impl Into for Error { fn into(self) -> String { todo!() } } pub type Result = std::result::Result;