mirror of
https://github.com/openai/codex.git
synced 2026-10-23 18:08:45 +00:00
Add managed Desktop workspace storage requirements (#55965)
## What changed - Add `application.storage.default_project_parent` and `application.storage.projectless_workspace_root` requirements for new Desktop workspaces. Require absolute paths and reject unknown storage keys. - Apply managed paths to `desktop.defaultProjectParent` and `desktop.projectlessWorkspaceRoot`, overriding local preferences and rejecting writes to managed settings or their containing table while preserving unrelated Desktop settings. - Expose storage requirements through `config/requirements/read` and update generated JSON schemas, TypeScript types, and Python models. ## Testing Add coverage for storage validation, per-setting layer precedence, config overrides, write protection, and requirements API responses. Adjust daemon shutdown test deadlines and TUI test synchronization, paste handling, and future allocation. GitOrigin-RevId: 44b93fe69e6a471c3f485cbf5f9c9ebd34ac3234
This commit is contained in:
@@ -6950,11 +6950,16 @@ class ApplicationNetworkRequirements(BaseModel):
|
||||
]
|
||||
|
||||
|
||||
class ApplicationRequirements(BaseModel):
|
||||
class ApplicationStorageRequirements(BaseModel):
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
)
|
||||
network: ApplicationNetworkRequirements | None = None
|
||||
default_project_parent: Annotated[
|
||||
LegacyAppPathString | None, Field(alias="defaultProjectParent")
|
||||
] = None
|
||||
projectless_workspace_root: Annotated[
|
||||
LegacyAppPathString | None, Field(alias="projectlessWorkspaceRoot")
|
||||
] = None
|
||||
|
||||
|
||||
class AppsConfig(BaseModel):
|
||||
@@ -10792,6 +10797,14 @@ class AppListUpdatedNotification(BaseModel):
|
||||
data: list[AppInfo]
|
||||
|
||||
|
||||
class ApplicationRequirements(BaseModel):
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
)
|
||||
network: ApplicationNetworkRequirements | None = None
|
||||
storage: ApplicationStorageRequirements | None = None
|
||||
|
||||
|
||||
class AppsListResponse(BaseModel):
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
|
||||
Reference in New Issue
Block a user