pawan/agent/preflight.rs
1use super::{Message, Role, ToolDefinition};
2
3impl super::PawanAgent {
4 /// Pre-flight health check: verify the LLM backend is reachable before starting work.
5 /// Sends a minimal "ping" message. Returns Ok(()) if the model responds.
6 pub async fn preflight_check(&self) -> crate::Result<()> {
7 let test = vec![Message {
8 role: Role::User,
9 content: "ping".into(),
10 tool_calls: vec![],
11 tool_result: None,
12 }];
13 let tools: Vec<ToolDefinition> = vec![];
14 match self.backend.generate(&test, &tools, None).await {
15 Ok(_) => Ok(()),
16 Err(e) => Err(crate::PawanError::Llm(format!("Model unreachable: {}", e))),
17 }
18 }
19}