use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct TreeShellBootstrap {
    pub workspace_id: String,
    pub root_node_id: Option<String>,
    pub mode: String,
    pub request_id: String,
    pub trace_id: String,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct TreeShellLoader {
    pub bootstrap: TreeShellBootstrap,
}

impl TreeShellLoader {
    pub fn from_bootstrap(bootstrap: TreeShellBootstrap) -> Self {
        Self { bootstrap }
    }
}
