Show the selected ChatGPT workspace in /status (#57366)

## What changed

- Return the selected workspace's display name as `workspaceName` in ChatGPT account responses, caching it alongside workspace routing and updating generated schemas and bindings.
- Display a `ChatGPT workspace` row with the name and account ID, falling back to the ID when the name is unavailable or invalid. Refresh workspace details with account identity updates and hide the row for providers that do not use ChatGPT authentication.

## Testing

Update account-response tests to cover workspace names and null values, add workspace details to the status snapshot, and verify that switching to a custom API-key provider hides the workspace row.

GitOrigin-RevId: 4b30ab8a39e1fa7ad1ba7367c5295544be8f6001
This commit is contained in:
Eric Traut
2026-10-27 05:22:23 +00:00
committed by copyberry
parent 6c0db39b94
commit 155dde7ff6
26 changed files with 216 additions and 38 deletions
@@ -6866,6 +6866,13 @@ class ChatgptAccount(BaseModel):
email: str | None
plan_type: Annotated[PlanType, Field(alias="planType")]
type: Annotated[Literal["chatgpt"], Field(title="ChatgptAccountType")]
workspace_name: Annotated[
str | None,
Field(
alias="workspaceName",
description="Display name of the selected ChatGPT workspace, when available.",
),
] = None
class Account(RootModel[ApiKeyAccount | ChatgptAccount | AmazonBedrockAccount | GcpAccount]):