Skip to main content

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}