use crate::agent::Agent;
use crate::provider::CompletionRequest;
use crate::session::Session;
impl Agent {
pub(super) fn build_completion_request(&self, session: &Session) -> CompletionRequest {
CompletionRequest {
messages: self.build_messages(session),
tools: self.tools.definitions(),
model: self.default_model(),
temperature: self.info.temperature,
top_p: self.info.top_p,
max_tokens: None,
stop: vec![],
}
}
fn default_model(&self) -> String {
self.info
.model
.clone()
.unwrap_or_else(|| match self.provider.name() {
"zhipuai" | "zai" => "glm-5".to_string(),
"openrouter" => "z-ai/glm-5".to_string(),
_ => "glm-5".to_string(),
})
}
}