frame-host 0.3.0

Frame host server and embedding seam — boots an application's frame-core component tree with an embedded liminal bus, announces the host's real application events on the bus, and serves the built frame page
Documentation
//! Frame demo host — boots frame-core host authority and serves the shell.
//!
//! DEPRECATED as a standalone binary (Arc 1 leg 1c): the same stack now
//! boots as `frame host --config <frame.toml>` from the one `frame` CLI.
//! The in-repo example estates have all migrated to `frame host` (leg 1c);
//! this binary target remains only as a thin backward-compatibility shim
//! that delegates to the identical library path, and will be removed once
//! no consumer depends on it.

use clap::Parser;
use frame_host::Cli;

fn main() -> std::process::ExitCode {
    eprintln!(
        "frame-host: DEPRECATED — this standalone binary is retiring; use `frame host --config \
         <frame.toml>` (same stack, same config, one CLI)."
    );
    tracing_subscriber::fmt()
        .with_env_filter(
            tracing_subscriber::EnvFilter::try_from_default_env()
                .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info")),
        )
        .init();
    match frame_host::run(&Cli::parse()) {
        Ok(()) => std::process::ExitCode::SUCCESS,
        Err(error) => {
            eprintln!("frame-host: {error}");
            let mut source = std::error::Error::source(&error);
            while let Some(cause) = source {
                eprintln!("  caused by: {cause}");
                source = cause.source();
            }
            std::process::ExitCode::FAILURE
        }
    }
}