mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-30 23:14:37 +00:00
48 lines
1.9 KiB
Rust
48 lines
1.9 KiB
Rust
//! Core library for the OpenHuman platform.
|
|
//!
|
|
//! This crate provides the central logic for the OpenHuman core binary, including:
|
|
//! - API and RPC handlers for external interactions.
|
|
//! - Core system services (CLI, configuration, monitoring).
|
|
//! - Domain-specific logic for the OpenHuman agent runtime.
|
|
|
|
// The RPC dispatch chokepoint wraps each handler future in an ambient
|
|
// `CoreContext` scope (Phase 2). Combined with the already very deep async type
|
|
// stacks in the axum routes that fan out into the tinyagents harness, the extra
|
|
// future layer pushes the compiler's `Send` auto-trait solver past the default
|
|
// depth of 128 (E0275). Raising the limit is the standard remedy for deep async
|
|
// type recursion and costs nothing at runtime.
|
|
#![recursion_limit = "256"]
|
|
|
|
pub mod api;
|
|
pub mod core;
|
|
pub mod openhuman;
|
|
pub mod rpc;
|
|
|
|
pub use openhuman::config::DaemonConfig;
|
|
pub use openhuman::memory_store::{MemoryClient, MemoryState};
|
|
|
|
/// Embeddable core composition API. Host the OpenHuman core in any process —
|
|
/// the Tauri shell, a CLI, a stdio MCP server, or a cloud/team server — via
|
|
/// [`CoreBuilder`] → [`CoreRuntime`]. See `docs/plans/pluggable-core/`.
|
|
pub use core::runtime::{CoreBuilder, CoreRuntime, DomainSet, ServiceSet, TokenSource};
|
|
pub use core::types::HostKind;
|
|
|
|
/// Runs the core logic based on the provided command-line arguments.
|
|
///
|
|
/// This is the primary entry point for the OpenHuman binary, delegating to the
|
|
/// CLI module for argument parsing and command dispatch.
|
|
///
|
|
/// # Arguments
|
|
///
|
|
/// * `args` - A slice of strings containing the command-line arguments.
|
|
///
|
|
/// # Errors
|
|
///
|
|
/// Returns an error if command execution fails.
|
|
pub fn run_core_from_args(args: &[String]) -> anyhow::Result<()> {
|
|
core::cli::load_dotenv_for_cli()?;
|
|
openhuman::service::apply_startup_restart_delay_from_env();
|
|
openhuman::keyring::init_master_key();
|
|
core::cli::run_from_cli_args(args)
|
|
}
|