Support multiple forced ChatGPT workspace ids

Add a shared ForcedChatgptWorkspaceIds config type that accepts the existing single string form or an array of workspace IDs.

Update ChatGPT login, device-code, external auth, app-server, CLI, and TUI enforcement paths to allow any configured workspace.

Regenerate config/app-server schemas and document the single-value and array config forms.
This commit is contained in:
rreichel3-oai
2026-04-15 13:06:26 -04:00
parent ba36415a30
commit cad30d2689
23 changed files with 421 additions and 70 deletions

View File

@@ -234,9 +234,13 @@
]
},
"forced_chatgpt_workspace_id": {
"type": [
"string",
"null"
"anyOf": [
{
"$ref": "#/definitions/ForcedChatgptWorkspaceIds"
},
{
"type": "null"
}
]
},
"forced_login_method": {
@@ -577,6 +581,20 @@
}
]
},
"ForcedChatgptWorkspaceIds": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Workspace IDs that ChatGPT auth is allowed to use.\n\nThe config parser accepts the historical single-string form and the newer list form for deployments that allow multiple ChatGPT workspaces."
},
"ForcedLoginMethod": {
"enum": [
"chatgpt",