1mod adapter;
2mod adapters;
3mod backend;
4mod composer;
5mod worker_runtime;
6
7use std::path::Path;
8
9use anyhow::Result;
10use beam_core::InitConfig;
11
12pub use backend::herdr::observe::parse_herdr_frame_line;
13pub use backend::{HerdrBackend, HerdrObserveBackend, SessionBackend, SpawnOpts};
14pub use worker_runtime::run;
15
16#[cfg(test)]
17#[path = "worker_runtime/tests.rs"]
18mod tests;
19
20pub async fn run_from_init_path(path: &Path) -> Result<()> {
21 let payload = tokio::fs::read_to_string(path).await?;
22 let init = serde_json::from_str::<InitConfig>(&payload)?;
23 run(init).await
24}