mirror of
https://github.com/openai/codex.git
synced 2026-09-14 11:57:03 +00:00
Expose disabled plugin settings in the app-server API (#44905)
## What changed - Accept `disabledPluginIds` in `thread/settings/update` and `turn/start`. A supplied list replaces the saved selection; omission or `null` preserves it, and `[]` clears it. - Return the selection in thread start, resume, and fork responses and `thread/settings/updated` notifications. Update generated schemas and client types. - Restore disabled plugin IDs from the history retained at the requested fork boundary, preserving explicit overrides. The selection persists across resume but does not yet filter plugin capabilities. ## Testing Add coverage for replacing, preserving, and clearing selections without inference; turn-start notifications; resume; and fork boundaries across legacy and paginated history, with loaded and restarted parents. Add a core regression test for history restoration and explicit clearing. GitOrigin-RevId: 654a8c2a0527228d422c0dd4919228447e2663db
This commit is contained in:
@@ -9899,6 +9899,13 @@ class ThreadSettings(BaseModel):
|
||||
approvals_reviewer: Annotated[ApprovalsReviewer, Field(alias="approvalsReviewer")]
|
||||
collaboration_mode: Annotated[CollaborationMode, Field(alias="collaborationMode")]
|
||||
cwd: AbsolutePathBuf
|
||||
disabled_plugin_ids: Annotated[
|
||||
list[str] | None,
|
||||
Field(
|
||||
alias="disabledPluginIds",
|
||||
description="Saved list of disabled plugin IDs. Does not yet filter plugin capabilities.",
|
||||
),
|
||||
] = []
|
||||
effort: ReasoningEffort | None = None
|
||||
model: str
|
||||
model_provider: Annotated[str, Field(alias="modelProvider")]
|
||||
@@ -11785,6 +11792,13 @@ class ThreadForkResponse(BaseModel):
|
||||
),
|
||||
]
|
||||
cwd: AbsolutePathBuf
|
||||
disabled_plugin_ids: Annotated[
|
||||
list[str] | None,
|
||||
Field(
|
||||
alias="disabledPluginIds",
|
||||
description="Saved list of disabled plugin IDs. Does not yet filter plugin capabilities.",
|
||||
),
|
||||
] = []
|
||||
instruction_sources: Annotated[
|
||||
list[LegacyAppPathString] | None,
|
||||
Field(
|
||||
@@ -11853,6 +11867,13 @@ class ThreadResumeResponse(BaseModel):
|
||||
),
|
||||
]
|
||||
cwd: AbsolutePathBuf
|
||||
disabled_plugin_ids: Annotated[
|
||||
list[str] | None,
|
||||
Field(
|
||||
alias="disabledPluginIds",
|
||||
description="Saved list of disabled plugin IDs. Does not yet filter plugin capabilities.",
|
||||
),
|
||||
] = []
|
||||
instruction_sources: Annotated[
|
||||
list[LegacyAppPathString] | None,
|
||||
Field(
|
||||
@@ -11946,6 +11967,13 @@ class ThreadStartResponse(BaseModel):
|
||||
),
|
||||
]
|
||||
cwd: AbsolutePathBuf
|
||||
disabled_plugin_ids: Annotated[
|
||||
list[str] | None,
|
||||
Field(
|
||||
alias="disabledPluginIds",
|
||||
description="Saved list of disabled plugin IDs. Does not yet filter plugin capabilities.",
|
||||
),
|
||||
] = []
|
||||
instruction_sources: Annotated[
|
||||
list[LegacyAppPathString] | None,
|
||||
Field(
|
||||
@@ -12024,6 +12052,13 @@ class TurnStartParams(BaseModel):
|
||||
str | None,
|
||||
Field(description="Override the working directory for this turn and subsequent turns."),
|
||||
] = None
|
||||
disabled_plugin_ids: Annotated[
|
||||
list[str] | None,
|
||||
Field(
|
||||
alias="disabledPluginIds",
|
||||
description="Replace this thread's disabled plugin IDs. Omitted/null preserves the list; [] clears it.",
|
||||
),
|
||||
] = None
|
||||
effort: Annotated[
|
||||
ReasoningEffort | None,
|
||||
Field(description="Override the reasoning effort for this turn and subsequent turns."),
|
||||
|
||||
Reference in New Issue
Block a user