use std::process::ExitCode;
use greentic_aw_runtime::serve::{build_test_mock_runtime, serve};
#[tokio::main]
async fn main() -> ExitCode {
tracing_subscriber_init();
let nats_url = match std::env::var("GREENTIC_EVENTS_NATS_URL") {
Ok(url) if !url.trim().is_empty() => url,
_ => {
eprintln!(
"aw-serve: GREENTIC_EVENTS_NATS_URL is unset; nothing to serve. \
Set it to a NATS url (e.g. nats://127.0.0.1:4222)."
);
return ExitCode::FAILURE;
}
};
let agent_id = std::env::var("AW_SERVE_AGENT_ID").unwrap_or_else(|_| "greeter".to_string());
let reply =
std::env::var("AW_SERVE_REPLY").unwrap_or_else(|_| "Hello from aw-serve".to_string());
eprintln!(
"aw-serve: starting test-mock agentic runtime (agent_id='{agent_id}', \
reply='{reply}') on {nats_url}"
);
let runtime = build_test_mock_runtime(&agent_id, &reply);
match serve(&nats_url, runtime).await {
Ok(()) => ExitCode::SUCCESS,
Err(error) => {
eprintln!("aw-serve: bridge stopped with error: {error:#}");
ExitCode::FAILURE
}
}
}
fn tracing_subscriber_init() {
}