(
&self,
session_id: &str,
content: String,
agent: Option<String>,
model: Option<String>,
variant: Option<String>,
)
| 383 | } |
| 384 | |
| 385 | pub fn send_prompt( |
| 386 | &self, |
| 387 | session_id: &str, |
| 388 | content: String, |
| 389 | agent: Option<String>, |
| 390 | model: Option<String>, |
| 391 | variant: Option<String>, |
| 392 | ) -> anyhow::Result<serde_json::Value> { |
| 393 | let url = format!("{}/session/{}/prompt", self.base_url, session_id); |
| 394 | let request = PromptRequest { |
| 395 | message: content, |
| 396 | agent, |
| 397 | model, |
| 398 | variant, |
| 399 | command: None, |
| 400 | arguments: None, |
| 401 | }; |
| 402 | |
| 403 | let response = self.client.post(&url).json(&request).send()?; |
| 404 | |
| 405 | if !response.status().is_success() { |
| 406 | let status = response.status(); |
| 407 | let text = response.text().unwrap_or_default(); |
| 408 | anyhow::bail!("Failed to send prompt to {}: {} - {}", url, status, text); |
| 409 | } |
| 410 | |
| 411 | let result: serde_json::Value = response.json()?; |
| 412 | Ok(result) |
| 413 | } |
| 414 | |
| 415 | pub fn execute_shell( |
| 416 | &self, |
no test coverage detected