fix(goose): only send agent-session-id when a session exists (#6657)

Signed-off-by: Adrian Cole <adrian@tetrate.io>
This commit is contained in:
Adrian Cole
2026-01-27 13:43:05 +09:00
committed by GitHub
parent 3dae12765f
commit f5b402bbdf
37 changed files with 398 additions and 383 deletions
+14 -16
View File
@@ -1,10 +1,8 @@
use anyhow::Result;
use dotenvy::dotenv;
use goose::conversation::message::Message;
use goose::providers::create_with_named_model;
use goose::providers::databricks::DATABRICKS_DEFAULT_MODEL;
use goose::providers::{base::Usage, create_with_named_model};
use tokio_stream::StreamExt;
use uuid::Uuid;
#[tokio::main]
async fn main() -> Result<()> {
@@ -20,25 +18,25 @@ async fn main() -> Result<()> {
let message = Message::user().with_text("Tell me a short joke about programming.");
// Get a response
let session_id = Uuid::new_v4().to_string();
let mut stream = provider
.stream(&session_id, "You are a helpful assistant.", &[message], &[])
let (response, usage) = provider
.complete_with_model(
None,
&provider.get_model_config(),
"You are a helpful assistant.",
&[message],
&[],
)
.await?;
println!("\nResponse from AI:");
println!("---------------");
let mut usage = Usage::default();
while let Some(Ok((msg, usage_part))) = stream.next().await {
dbg!(msg);
if let Some(u) = usage_part {
usage += u.usage;
}
}
println!("{:?}", response);
println!("\nToken Usage:");
println!("------------");
println!("Input tokens: {:?}", usage.input_tokens);
println!("Output tokens: {:?}", usage.output_tokens);
println!("Total tokens: {:?}", usage.total_tokens);
println!("Input tokens: {:?}", usage.usage.input_tokens);
println!("Output tokens: {:?}", usage.usage.output_tokens);
println!("Total tokens: {:?}", usage.usage.total_tokens);
Ok(())
}
+3 -4
View File
@@ -10,7 +10,6 @@ use rmcp::model::{CallToolRequestParams, Content, Tool};
use rmcp::object;
use std::fs;
use std::sync::Arc;
use uuid::Uuid;
#[tokio::main]
async fn main() -> Result<()> {
@@ -63,10 +62,10 @@ async fn main() -> Result<()> {
},
}
});
let session_id = Uuid::new_v4().to_string();
let (response, usage) = provider
.complete(
&session_id,
.complete_with_model(
None,
&provider.get_model_config(),
"You are a helpful assistant. Please describe any text you see in the image.",
&messages,
&[Tool::new("view_image", "View an image", input_schema)],