Skip to content

Commit 0a4eaff

Browse files
committed
fix(agent): enhance service tier parsing for OpenAI provider
Signed-off-by: maddygoround <m.rathod@xsolla.com>
1 parent f0487ba commit 0a4eaff

1 file changed

Lines changed: 23 additions & 1 deletion

File tree

crates/buzz-agent/src/config.rs

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -847,7 +847,10 @@ impl Config {
847847
hook_servers: parse_hook_servers_env("MCP_HOOK_SERVERS"),
848848
hints_enabled: parse_env("BUZZ_AGENT_NO_HINTS", 0u8)? == 0,
849849
thinking_effort: parse_thinking_effort(env("BUZZ_AGENT_THINKING_EFFORT").as_deref())?,
850-
service_tier: parse_service_tier(env("BUZZ_AGENT_SERVICE_TIER").as_deref())?,
850+
service_tier: parse_service_tier_for_provider(
851+
provider,
852+
env("BUZZ_AGENT_SERVICE_TIER").as_deref(),
853+
)?,
851854
};
852855
cfg.validate()?;
853856
Ok(cfg)
@@ -992,6 +995,17 @@ pub fn parse_service_tier(raw: Option<&str>) -> Result<Option<OpenAiServiceTier>
992995
}
993996
}
994997

998+
fn parse_service_tier_for_provider(
999+
provider: Provider,
1000+
raw: Option<&str>,
1001+
) -> Result<Option<OpenAiServiceTier>, String> {
1002+
if matches!(provider, Provider::OpenAi) {
1003+
parse_service_tier(raw)
1004+
} else {
1005+
Ok(None)
1006+
}
1007+
}
1008+
9951009
fn env(k: &str) -> Option<String> {
9961010
std::env::var(k).ok()
9971011
}
@@ -1401,6 +1415,14 @@ mod tests {
14011415
assert_eq!(parse_service_tier(Some(" ")).unwrap(), None);
14021416
}
14031417

1418+
#[test]
1419+
fn parse_service_tier_is_ignored_for_non_openai_providers() {
1420+
assert_eq!(
1421+
parse_service_tier_for_provider(Provider::Anthropic, Some("invalid")).unwrap(),
1422+
None
1423+
);
1424+
}
1425+
14041426
#[test]
14051427
fn parse_service_tier_rejects_unknown_value() {
14061428
let err = parse_service_tier(Some("economy")).unwrap_err();

0 commit comments

Comments
 (0)