fn is_extra_usage_enabled() -> bool {
false
}
pub fn check_opus_1m_access() -> bool {
if is_1m_context_disabled() {
return false;
}
if is_claude_ai_subscriber() {
return is_extra_usage_enabled();
}
true
}
pub fn check_sonnet_1m_access() -> bool {
if is_1m_context_disabled() {
return false;
}
if is_claude_ai_subscriber() {
return is_extra_usage_enabled();
}
true
}
fn is_1m_context_disabled() -> bool {
std::env::var("AI_CODE_1M_CONTEXT_DISABLED")
.ok()
.map(|v| {
let v = v.to_lowercase();
v == "1" || v == "true" || v == "yes"
})
.unwrap_or(false)
}
fn is_claude_ai_subscriber() -> bool {
std::env::var("AI_IS_CLAUDE_AI_SUBSCRIBER")
.ok()
.map(|v| {
let v = v.to_lowercase();
v == "1" || v == "true" || v == "yes"
})
.unwrap_or(false)
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_1m_access_non_subscriber() {
std::env::remove_var("AI_IS_CLAUDE_AI_SUBSCRIBER");
std::env::remove_var("AI_CODE_1M_CONTEXT_DISABLED");
assert!(check_opus_1m_access());
assert!(check_sonnet_1m_access());
}
}