use std::io::Write;
use lgwks_bot::broker::Broker;
use lgwks_bot::effect::{EnvironmentId, FlowRevision, RunId};
use lgwks_bot::journal::MemoryJournal;
use lgwks_bot::spec::{EffectIdentity, EffectScope};
use lgwks_bot::{Bot, GrantSet};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut out = std::io::stdout().lock();
let now = lgwks_std::time::now_rfc3339()?;
writeln!(out, "now: {now} hex: {}", lgwks_std::hex::encode(b"hi"))?;
let environment = EnvironmentId::from_hex("2122232425262728292a2b2c2d2e2f30")?;
let mut broker = Broker::new();
broker.register(environment)?;
let effects = EffectScope::new(
EffectIdentity::new(
RunId::from_hex("0102030405060708090a0b0c0d0e0f10")?,
environment,
FlowRevision::from_tagged(
"blake3_256",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
)?,
),
broker,
Box::new(MemoryJournal::new()),
);
let bot = Bot::builder("demo")
.with_effects(effects)
.build(&GrantSet::empty())?;
let _ = bot;
Ok(())
}