1pub mod error;
2pub mod lifecycle;
3pub mod server;
4
5use crate::daemon::lifecycle::socket_path;
6use crate::error::AgentSimError;
7use crate::load::LoadSpec;
8use crate::sim::project::Project;
9
10pub async fn run(session: &str, load_spec: LoadSpec) -> Result<(), AgentSimError> {
11 let socket = socket_path(session);
12 let env_tag = load_spec.env_tag.clone();
13 let project = Project::load(&load_spec.libpath, &load_spec.flash)?;
14 server::run_listener(session.to_string(), socket, project, env_tag)
15 .await
16 .map_err(AgentSimError::from)
17}