Skip to content

Commit 36d4ff2

Browse files
committed
refactor: remove vestigial block scope and fix needless borrows in SACP server
Remove the unnecessary bare block around Config::global() usage in resolve_provider_and_model_with_inventory_refresh. Since Config::global() returns &'static Config and cannot fail, the extra block scope (left over from the old fallible Config::new() error-handling pattern) serves no purpose. Removing it flattens indentation by one level. Also fix three clippy::needless_borrow warnings where &config was passed but config is already &'static Config, so the extra reference is immediately dereferenced by the compiler. Signed-off-by: Matt Toohey <contact@matttoohey.com>
1 parent 8891c60 commit 36d4ff2

1 file changed

Lines changed: 62 additions & 67 deletions

File tree

crates/goose/src/acp/server.rs

Lines changed: 62 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -900,79 +900,74 @@ impl GooseAcpAgent {
900900

901901
let mut prebuilt_provider = None;
902902
if should_refresh_inventory_for_session_init(&inventory) {
903+
let config = Config::global();
904+
let ext_state = EnabledExtensionsState::extensions_or_default(
905+
Some(&goose_session.extension_data),
906+
config,
907+
);
908+
match self
909+
.create_provider(provider_name, model_config.clone(), ext_state)
910+
.await
903911
{
904-
let config = Config::global();
905-
let ext_state = EnabledExtensionsState::extensions_or_default(
906-
Some(&goose_session.extension_data),
907-
config,
908-
);
909-
match self
910-
.create_provider(provider_name, model_config.clone(), ext_state)
911-
.await
912-
{
913-
Ok(provider) => {
914-
let provider_id = provider_name.clone();
915-
prebuilt_provider = Some(provider.clone());
916-
match self
917-
.provider_inventory
918-
.plan_refresh(std::slice::from_ref(&provider_id))
919-
.await
920-
{
921-
Ok(plan) if plan.started.iter().any(|id| id == &provider_id) => {
922-
match provider.fetch_recommended_models().await {
923-
Ok(models) => {
924-
if let Err(error) = self
925-
.provider_inventory
926-
.store_refreshed_models(&provider_id, &models)
927-
.await
928-
{
929-
warn!(
930-
provider = %provider_id,
931-
error = %error,
932-
"failed to store refreshed provider inventory during session init"
933-
);
934-
}
912+
Ok(provider) => {
913+
let provider_id = provider_name.clone();
914+
prebuilt_provider = Some(provider.clone());
915+
match self
916+
.provider_inventory
917+
.plan_refresh(std::slice::from_ref(&provider_id))
918+
.await
919+
{
920+
Ok(plan) if plan.started.iter().any(|id| id == &provider_id) => {
921+
match provider.fetch_recommended_models().await {
922+
Ok(models) => {
923+
if let Err(error) = self
924+
.provider_inventory
925+
.store_refreshed_models(&provider_id, &models)
926+
.await
927+
{
928+
warn!(
929+
provider = %provider_id,
930+
error = %error,
931+
"failed to store refreshed provider inventory during session init"
932+
);
935933
}
936-
Err(error) => {
937-
if let Err(store_error) = self
938-
.provider_inventory
939-
.store_refresh_error(
940-
&provider_id,
941-
error.to_string(),
942-
)
943-
.await
944-
{
945-
warn!(
946-
provider = %provider_id,
947-
error = %store_error,
948-
"failed to store provider inventory refresh error during session init"
949-
);
950-
}
934+
}
935+
Err(error) => {
936+
if let Err(store_error) = self
937+
.provider_inventory
938+
.store_refresh_error(&provider_id, error.to_string())
939+
.await
940+
{
941+
warn!(
942+
provider = %provider_id,
943+
error = %store_error,
944+
"failed to store provider inventory refresh error during session init"
945+
);
951946
}
952947
}
953948
}
954-
Ok(_) => {}
955-
Err(error) => warn!(
956-
provider = %provider_id,
957-
error = %error,
958-
"failed to plan provider inventory refresh during session init"
959-
),
960949
}
950+
Ok(_) => {}
951+
Err(error) => warn!(
952+
provider = %provider_id,
953+
error = %error,
954+
"failed to plan provider inventory refresh during session init"
955+
),
956+
}
961957

962-
if let Ok(Some(refreshed_inventory)) = self
963-
.provider_inventory
964-
.entry_for_provider(provider_name)
965-
.await
966-
{
967-
inventory = refreshed_inventory;
968-
}
958+
if let Ok(Some(refreshed_inventory)) = self
959+
.provider_inventory
960+
.entry_for_provider(provider_name)
961+
.await
962+
{
963+
inventory = refreshed_inventory;
969964
}
970-
Err(error) => warn!(
971-
provider = %provider_name,
972-
error = %error,
973-
"failed to initialize provider during synchronous inventory refresh"
974-
),
975965
}
966+
Err(error) => warn!(
967+
provider = %provider_name,
968+
error = %error,
969+
"failed to initialize provider during synchronous inventory refresh"
970+
),
976971
}
977972
}
978973

@@ -1092,7 +1087,7 @@ impl GooseAcpAgent {
10921087

10931088
// ── Phase 2: load extensions (slow, may take seconds) ────────
10941089
let phase2: Result<(), String> = async {
1095-
let mut extensions = get_enabled_extensions_with_config(&config);
1090+
let mut extensions = get_enabled_extensions_with_config(config);
10961091
extensions.extend(builtins.iter().map(|b| builtin_to_extension_config(b)));
10971092

10981093
let acp_developer = if (client_fs_capabilities.read_text_file
@@ -2397,7 +2392,7 @@ impl GooseAcpAgent {
23972392
.internal_err_ctx("Failed to get provider")?;
23982393
let provider_name = current_provider.get_name().to_string();
23992394
let extensions =
2400-
EnabledExtensionsState::for_session(&self.session_manager, &internal_id, &config).await;
2395+
EnabledExtensionsState::for_session(&self.session_manager, &internal_id, config).await;
24012396
let model_config = crate::model::ModelConfig::new(model_id)
24022397
.invalid_params_err_ctx("Invalid model config")?
24032398
.with_canonical_limits(&provider_name);
@@ -2561,7 +2556,7 @@ impl GooseAcpAgent {
25612556
.with_request_params(request_params);
25622557

25632558
let extensions =
2564-
EnabledExtensionsState::for_session(&self.session_manager, &internal_id, &config).await;
2559+
EnabledExtensionsState::for_session(&self.session_manager, &internal_id, config).await;
25652560
let new_provider = self
25662561
.create_provider(&resolved_provider_name, model_config, extensions)
25672562
.await

0 commit comments

Comments
 (0)