resolved all the extensions to load in cli (#6464)
This commit is contained in:
@@ -155,3 +155,18 @@ pub fn get_warnings() -> Vec<String> {
|
||||
}
|
||||
warnings
|
||||
}
|
||||
|
||||
pub fn resolve_extensions_for_new_session(
|
||||
recipe_extensions: Option<&[ExtensionConfig]>,
|
||||
override_extensions: Option<Vec<ExtensionConfig>>,
|
||||
) -> Vec<ExtensionConfig> {
|
||||
if let Some(exts) = recipe_extensions {
|
||||
return exts.to_vec();
|
||||
}
|
||||
|
||||
if let Some(exts) = override_extensions {
|
||||
return exts;
|
||||
}
|
||||
|
||||
get_enabled_extensions()
|
||||
}
|
||||
|
||||
@@ -15,8 +15,8 @@ pub use declarative_providers::DeclarativeProviderConfig;
|
||||
pub use experiments::ExperimentManager;
|
||||
pub use extensions::{
|
||||
get_all_extension_names, get_all_extensions, get_enabled_extensions, get_extension_by_name,
|
||||
get_warnings, is_extension_enabled, remove_extension, set_extension, set_extension_enabled,
|
||||
ExtensionEntry,
|
||||
get_warnings, is_extension_enabled, remove_extension, resolve_extensions_for_new_session,
|
||||
set_extension, set_extension_enabled, ExtensionEntry,
|
||||
};
|
||||
pub use goose_mode::GooseMode;
|
||||
pub use permission::PermissionManager;
|
||||
|
||||
@@ -15,7 +15,7 @@ use tokio_util::sync::CancellationToken;
|
||||
use crate::agents::AgentEvent;
|
||||
use crate::agents::{Agent, SessionConfig};
|
||||
use crate::config::paths::Paths;
|
||||
use crate::config::Config;
|
||||
use crate::config::{resolve_extensions_for_new_session, Config};
|
||||
use crate::conversation::message::Message;
|
||||
use crate::conversation::Conversation;
|
||||
use crate::posthog;
|
||||
@@ -743,10 +743,9 @@ async fn execute_job(
|
||||
|
||||
let agent_provider = create(&provider_name, model_config).await?;
|
||||
|
||||
if let Some(ref extensions) = recipe.extensions {
|
||||
for ext in extensions {
|
||||
agent.add_extension(ext.clone()).await?;
|
||||
}
|
||||
let extensions = resolve_extensions_for_new_session(recipe.extensions.as_deref(), None);
|
||||
for ext in extensions {
|
||||
agent.add_extension(ext.clone()).await?;
|
||||
}
|
||||
|
||||
let session = agent
|
||||
|
||||
Reference in New Issue
Block a user