Revert "Option to Notify Workspace Owner When Usage Limit is Reached" (#17391)

Reverts openai/codex#16969

#sev3-2026-04-10-accountscheckversion-500s-for-openai-workspace-7300
This commit is contained in:
Shijie Rao authored and GitHub committed 2026-04-10 23:33:13 +00:00
1 parent a3be74143a
commit 930e5adb7e
82 files changed
+60 -3233

No files matched your search

-1
View File
@@ -128,7 +128,6 @@ async fn pro_account_with_no_api_key_uses_chatgpt_auth() {
chatgpt_plan_type: Some(InternalPlanType::Known(InternalKnownPlan::Pro)),
chatgpt_user_id: Some("user-12345".to_string()),
chatgpt_account_id: None,
is_org_owner: None,
raw_jwt: fake_jwt,
},
access_token: "test-access-token".to_string(),
-8
View File
@@ -302,14 +302,6 @@ impl CodexAuth {
.and_then(|t| t.id_token.chatgpt_user_id)
}
/// Returns `Some(true)` when the current ChatGPT token marks the user as a
/// workspace owner, `Some(false)` for non-owners, and `None` when auth is
/// unavailable or the token omits the claim.
pub fn is_workspace_owner(&self) -> Option<bool> {
self.get_current_token_data()
.and_then(|t| t.id_token.is_org_owner)
}
/// Account-facing plan classification derived from the current token.
/// Returns a high-level `AccountPlanType` (e.g., Free/Plus/Pro/Team/…)
/// mapped from the ID token's internal plan value. Prefer this when you
-6
View File
@@ -36,8 +36,6 @@ pub struct IdTokenInfo {
pub chatgpt_user_id: Option<String>,
/// Organization/workspace identifier associated with the token, if present.
pub chatgpt_account_id: Option<String>,
/// Whether the current user owns the workspace, when present in the token.
pub is_org_owner: Option<bool>,
pub raw_jwt: String,
}
@@ -90,8 +88,6 @@ struct AuthClaims {
user_id: Option<String>,
#[serde(default)]
chatgpt_account_id: Option<String>,
#[serde(default)]
is_org_owner: Option<bool>,
}
#[derive(Deserialize)]
@@ -143,7 +139,6 @@ pub fn parse_chatgpt_jwt_claims(jwt: &str) -> Result<IdTokenInfo, IdTokenInfoErr
chatgpt_plan_type: auth.chatgpt_plan_type,
chatgpt_user_id: auth.chatgpt_user_id.or(auth.user_id),
chatgpt_account_id: auth.chatgpt_account_id,
is_org_owner: auth.is_org_owner,
}),
None => Ok(IdTokenInfo {
email,
@@ -151,7 +146,6 @@ pub fn parse_chatgpt_jwt_claims(jwt: &str) -> Result<IdTokenInfo, IdTokenInfoErr
chatgpt_plan_type: None,
chatgpt_user_id: None,
chatgpt_account_id: None,
is_org_owner: None,
}),
}
}
-15
View File
@@ -107,21 +107,6 @@ fn id_token_info_parses_usage_based_business_plans() {
assert_eq!(enterprise_cbp.is_workspace_account(), true);
}
#[test]
fn id_token_info_parses_workspace_owner_flag() {
let fake_jwt = fake_jwt(serde_json::json!({
"email": "owner@example.com",
"https://api.openai.com/auth": {
"chatgpt_plan_type": "self_serve_business_usage_based",
"is_org_owner": true
}
}));
let info = parse_chatgpt_jwt_claims(&fake_jwt).expect("should parse");
assert_eq!(info.email.as_deref(), Some("owner@example.com"));
assert_eq!(info.is_org_owner, Some(true));
}
#[test]
fn id_token_info_handles_missing_fields() {
let fake_jwt = fake_jwt(serde_json::json!({ "sub": "123" }));