use std::sync::Arc;
use bamboo_subagent::{AgentRef, EchoExecutor, ProvisionSpec};
#[tokio::main]
async fn main() {
let spec = ProvisionSpec::read_from_stdin()
.await
.expect("read ProvisionSpec from stdin");
let bus = spec
.bus
.as_ref()
.expect("spec.bus must be set for this worker");
let me = AgentRef {
session_id: spec.identity.child_id.clone(),
role: Some(spec.identity.role.clone()),
};
if let Err(e) =
bamboo_broker::serve_executor(&bus.endpoint, me, &bus.token, Arc::new(EchoExecutor)).await
{
eprintln!("bus demo worker serve ended: {e}");
}
}