add gpl license

improve mcp server error handling
This commit is contained in:
2026-05-25 14:55:48 +02:00
parent de0e665f57
commit 9ba1c3bae3
10 changed files with 728 additions and 25 deletions
+1
View File
@@ -2,6 +2,7 @@
name = "own_assist_cli"
version = "0.3.0"
edition = "2024"
license = "GPL-3"
[dependencies]
ollama-rs = { version = "0.3.4", features = ["macros", "headers"] }
+13 -9
View File
@@ -10,11 +10,11 @@ use crate::model::create_model_from_config;
use base64::Engine;
use clap::Parser;
use cpal::traits::HostTrait;
use own_assist_common::config_loader::ConfigLoadingError;
use own_assist_common::{exit_msg, init_tracing_subscriber};
use own_mcp::AgentChat;
use tokio::task::JoinHandle;
use tokio_util::sync::CancellationToken;
use mcp_server_collection::McpServerError;
/// partial mcp client with cli and voice interaction
#[derive(Parser, Debug)]
@@ -68,10 +68,8 @@ async fn chat_loop(mut human_interface: impl HumanInterface, mut agent_chat: Age
}
#[cfg(feature = "built-in-mcp-collection")]
fn launch_mcp_server() -> Result<JoinHandle<CancellationToken>, ConfigLoadingError> {
let config = mcp_server_collection::config::Config::from_file()?;
let handle = tokio::task::spawn(mcp_server_collection::serve(config));
async fn launch_mcp_server(config: mcp_server_collection::config::Config) -> Result<(CancellationToken, JoinHandle<std::io::Result<()>>), McpServerError> {
let handle = mcp_server_collection::serve_in_background(config).await?;
Ok(handle)
}
@@ -87,9 +85,13 @@ async fn main() {
init_tracing_subscriber();
#[cfg(feature = "built-in-mcp-collection")]
let mcp_server_task = launch_mcp_server()
.inspect_err(exit_msg!("error loading server.toml"))
.unwrap();
let mcp_config = mcp_server_collection::config::Config::from_file().inspect_err(exit_msg!("error loading server.toml"))
.unwrap();
#[cfg(feature = "built-in-mcp-collection")]
let (mcp_server_ct, mcp_server_task) = launch_mcp_server(mcp_config).await
.inspect_err(exit_msg!("error launching mcp server"))
.unwrap();
let config = Config::from_file()
.inspect_err(exit_msg!("error loading assist.toml"))
@@ -150,5 +152,7 @@ async fn main() {
};
#[cfg(feature = "built-in-mcp-collection")]
mcp_server_task.await.unwrap();
mcp_server_ct.cancel();
#[cfg(feature = "built-in-mcp-collection")]
mcp_server_task.await.unwrap().unwrap();
}