use opencode_rs::ClientBuilder;
use opencode_rs::types::message::{PromptPart, PromptRequest};
use opencode_rs::types::session::CreateSessionRequest;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = ClientBuilder::new().build()?;
let session = client
.sessions()
.create(&CreateSessionRequest::default())
.await?;
println!("Created session: {}", session.id);
client
.messages()
.prompt(
&session.id,
&PromptRequest {
parts: vec![PromptPart::Text {
text: "Hello OpenCode! What can you help me with?".into(),
synthetic: None,
ignored: None,
metadata: None,
}],
message_id: None,
model: None,
agent: None,
no_reply: None,
system: None,
variant: None,
},
)
.await?;
println!("Prompt sent successfully!");
client.sessions().delete(&session.id).await?;
println!("Session deleted");
Ok(())
}