Clean up warnings in agent2
- Remove underscore prefix from BasePrompt struct name - Remove unused imports and variables in tests - Fix unused parameter warning in async closure - Rename AgentToolErased to AnyAgentTool for clarity
This commit is contained in:
parent
afc8cf6098
commit
387ee1be8d
3 changed files with 7 additions and 11 deletions
|
@ -7,11 +7,11 @@ use gpui::{App, Entity};
|
||||||
use project::Project;
|
use project::Project;
|
||||||
|
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
struct _BasePrompt {
|
struct BasePrompt {
|
||||||
project: Entity<Project>,
|
project: Entity<Project>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Prompt for _BasePrompt {
|
impl Prompt for BasePrompt {
|
||||||
fn render(&self, templates: &Templates, cx: &App) -> Result<String> {
|
fn render(&self, templates: &Templates, cx: &App) -> Result<String> {
|
||||||
BaseTemplate {
|
BaseTemplate {
|
||||||
os: std::env::consts::OS.to_string(),
|
os: std::env::consts::OS.to_string(),
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::templates::Templates;
|
use crate::templates::Templates;
|
||||||
use client::{Client, UserStore};
|
use client::{Client, UserStore};
|
||||||
use fs::FakeFs;
|
|
||||||
use gpui::{AppContext, Entity, TestAppContext};
|
use gpui::{AppContext, Entity, TestAppContext};
|
||||||
use language_model::{
|
use language_model::{
|
||||||
LanguageModel, LanguageModelCompletionError, LanguageModelCompletionEvent,
|
LanguageModel, LanguageModelCompletionError, LanguageModelCompletionEvent,
|
||||||
|
@ -209,9 +208,6 @@ struct AgentTest {
|
||||||
async fn setup(cx: &mut TestAppContext) -> AgentTest {
|
async fn setup(cx: &mut TestAppContext) -> AgentTest {
|
||||||
cx.executor().allow_parking();
|
cx.executor().allow_parking();
|
||||||
cx.update(settings::init);
|
cx.update(settings::init);
|
||||||
let fs = FakeFs::new(cx.executor().clone());
|
|
||||||
// let project = Project::test(fs.clone(), [], cx).await;
|
|
||||||
// let action_log = cx.new(|_| ActionLog::new(project.clone()));
|
|
||||||
let templates = Templates::new();
|
let templates = Templates::new();
|
||||||
let agent = cx.new(|_| Thread::new(templates));
|
let agent = cx.new(|_| Thread::new(templates));
|
||||||
|
|
||||||
|
@ -236,7 +232,7 @@ async fn setup(cx: &mut TestAppContext) -> AgentTest {
|
||||||
let provider = models.provider(&model.provider_id()).unwrap();
|
let provider = models.provider(&model.provider_id()).unwrap();
|
||||||
let authenticated = provider.authenticate(cx);
|
let authenticated = provider.authenticate(cx);
|
||||||
|
|
||||||
cx.spawn(async move |cx| {
|
cx.spawn(async move |_cx| {
|
||||||
authenticated.await.unwrap();
|
authenticated.await.unwrap();
|
||||||
model
|
model
|
||||||
})
|
})
|
||||||
|
|
|
@ -35,7 +35,7 @@ pub struct Thread {
|
||||||
/// we run tools, report their results.
|
/// we run tools, report their results.
|
||||||
running_turn: Option<Task<()>>,
|
running_turn: Option<Task<()>>,
|
||||||
system_prompts: Vec<Arc<dyn Prompt>>,
|
system_prompts: Vec<Arc<dyn Prompt>>,
|
||||||
tools: BTreeMap<SharedString, Arc<dyn AgentToolErased>>,
|
tools: BTreeMap<SharedString, Arc<dyn AnyAgentTool>>,
|
||||||
templates: Arc<Templates>,
|
templates: Arc<Templates>,
|
||||||
// project: Entity<Project>,
|
// project: Entity<Project>,
|
||||||
// action_log: Entity<ActionLog>,
|
// action_log: Entity<ActionLog>,
|
||||||
|
@ -390,21 +390,21 @@ where
|
||||||
/// Runs the tool with the provided input.
|
/// Runs the tool with the provided input.
|
||||||
fn run(self: Arc<Self>, input: Self::Input, cx: &mut App) -> Task<Result<String>>;
|
fn run(self: Arc<Self>, input: Self::Input, cx: &mut App) -> Task<Result<String>>;
|
||||||
|
|
||||||
fn erase(self) -> Arc<dyn AgentToolErased> {
|
fn erase(self) -> Arc<dyn AnyAgentTool> {
|
||||||
Arc::new(Erased(Arc::new(self)))
|
Arc::new(Erased(Arc::new(self)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct Erased<T>(T);
|
pub struct Erased<T>(T);
|
||||||
|
|
||||||
pub trait AgentToolErased {
|
pub trait AnyAgentTool {
|
||||||
fn name(&self) -> SharedString;
|
fn name(&self) -> SharedString;
|
||||||
fn description(&self, cx: &mut App) -> SharedString;
|
fn description(&self, cx: &mut App) -> SharedString;
|
||||||
fn input_schema(&self, format: LanguageModelToolSchemaFormat) -> Result<serde_json::Value>;
|
fn input_schema(&self, format: LanguageModelToolSchemaFormat) -> Result<serde_json::Value>;
|
||||||
fn run(self: Arc<Self>, input: serde_json::Value, cx: &mut App) -> Task<Result<String>>;
|
fn run(self: Arc<Self>, input: serde_json::Value, cx: &mut App) -> Task<Result<String>>;
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T> AgentToolErased for Erased<Arc<T>>
|
impl<T> AnyAgentTool for Erased<Arc<T>>
|
||||||
where
|
where
|
||||||
T: AgentTool,
|
T: AgentTool,
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue