feat: Handle MCP server notification messages (#2613)
Co-authored-by: Michael Neale <michael.neale@gmail.com>
This commit is contained in:
@@ -2,7 +2,7 @@ use std::sync::Arc;
|
||||
|
||||
use dotenv::dotenv;
|
||||
use futures::StreamExt;
|
||||
use goose::agents::{Agent, ExtensionConfig};
|
||||
use goose::agents::{Agent, AgentEvent, ExtensionConfig};
|
||||
use goose::config::{DEFAULT_EXTENSION_DESCRIPTION, DEFAULT_EXTENSION_TIMEOUT};
|
||||
use goose::message::Message;
|
||||
use goose::providers::databricks::DatabricksProvider;
|
||||
@@ -20,10 +20,11 @@ async fn main() {
|
||||
|
||||
let config = ExtensionConfig::stdio(
|
||||
"developer",
|
||||
"./target/debug/developer",
|
||||
"./target/debug/goose",
|
||||
DEFAULT_EXTENSION_DESCRIPTION,
|
||||
DEFAULT_EXTENSION_TIMEOUT,
|
||||
);
|
||||
)
|
||||
.with_args(vec!["mcp", "developer"]);
|
||||
agent.add_extension(config).await.unwrap();
|
||||
|
||||
println!("Extensions:");
|
||||
@@ -35,11 +36,8 @@ async fn main() {
|
||||
.with_text("can you summarize the readme.md in this dir using just a haiku?")];
|
||||
|
||||
let mut stream = agent.reply(&messages, None).await.unwrap();
|
||||
while let Some(message) = stream.next().await {
|
||||
println!(
|
||||
"{}",
|
||||
serde_json::to_string_pretty(&message.unwrap()).unwrap()
|
||||
);
|
||||
while let Some(Ok(AgentEvent::Message(message))) = stream.next().await {
|
||||
println!("{}", serde_json::to_string_pretty(&message).unwrap());
|
||||
println!("\n");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user