Support self-serve Business ProLite accounts (#35785)

## What changed

- Recognize `self_serve_business_prolite` across authentication, account and rate-limit APIs, generated schemas, workspace classification, status display, cloud configuration gating, and usage-limit messaging.
- Keep the Python SDK's `PlanType` enum compatible with non-empty string values introduced by newer Codex runtimes while preserving its known constants.

## Testing

- Cover token parsing, account reads and notifications, backend rate-limit mapping, workspace behavior, error formatting, and Python SDK response coercion for the new plan value.

GitOrigin-RevId: 70bc17a7c4ba4028cb10e4333cc1f2ac64da361f
This commit is contained in:
Arun Eswara
2026-07-28 15:50:45 +00:00
committed by copyberry
parent bb1af235ea
commit cf7e9cfe6a
25 changed files with 258 additions and 29 deletions
@@ -2505,7 +2505,7 @@ class PlanDeltaNotification(BaseModel):
turn_id: Annotated[str, Field(alias="turnId")]
class PlanType(Enum):
class PlanType(str, Enum):
free = "free"
go = "go"
plus = "plus"
@@ -2519,6 +2519,15 @@ class PlanType(Enum):
edu = "edu"
unknown = "unknown"
@classmethod
def _missing_(cls, value: object) -> PlanType | None:
if not isinstance(value, str) or not value:
return None
member = str.__new__(cls, value)
member._name_ = value
member._value_ = value
return member
class PluginAuthPolicy(Enum):
on_install = "ON_INSTALL"