mirror of
https://github.com/openai/codex.git
synced 2026-11-09 20:50:33 +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:
@@ -183,6 +183,9 @@ pub struct ThreadStartResponse {
|
||||
pub model: String,
|
||||
pub model_provider: String,
|
||||
pub service_tier: Option<String>,
|
||||
/// Saved list of disabled plugin IDs. Does not yet filter plugin capabilities.
|
||||
#[serde(default)]
|
||||
pub disabled_plugin_ids: Vec<String>,
|
||||
pub cwd: AbsolutePathBuf,
|
||||
/// Thread-scoped runtime workspace roots used to materialize
|
||||
/// `:workspace_roots`.
|
||||
@@ -225,6 +228,10 @@ impl ThreadStartResponse {
|
||||
#[ts(export_to = "v2/")]
|
||||
pub struct ThreadSettingsUpdateParams {
|
||||
pub thread_id: String,
|
||||
/// Replace this thread's disabled plugin IDs.
|
||||
/// Omitted/null preserves the list; [] clears it.
|
||||
#[ts(optional = nullable)]
|
||||
pub disabled_plugin_ids: Option<Vec<String>>,
|
||||
/// Override the working directory for subsequent turns.
|
||||
#[ts(optional = nullable)]
|
||||
pub cwd: Option<PathBuf>,
|
||||
@@ -287,6 +294,9 @@ pub struct ThreadSettingsUpdateResponse {}
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[ts(export_to = "v2/")]
|
||||
pub struct ThreadSettings {
|
||||
/// Saved list of disabled plugin IDs. Does not yet filter plugin capabilities.
|
||||
#[serde(default)]
|
||||
pub disabled_plugin_ids: Vec<String>,
|
||||
pub cwd: AbsolutePathBuf,
|
||||
pub approval_policy: AskForApproval,
|
||||
pub approvals_reviewer: ApprovalsReviewer,
|
||||
@@ -417,6 +427,9 @@ pub struct ThreadResumeResponse {
|
||||
pub model: String,
|
||||
pub model_provider: String,
|
||||
pub service_tier: Option<String>,
|
||||
/// Saved list of disabled plugin IDs. Does not yet filter plugin capabilities.
|
||||
#[serde(default)]
|
||||
pub disabled_plugin_ids: Vec<String>,
|
||||
pub cwd: AbsolutePathBuf,
|
||||
/// Thread-scoped runtime workspace roots used to materialize
|
||||
/// `:workspace_roots`.
|
||||
@@ -608,6 +621,9 @@ pub struct ThreadForkResponse {
|
||||
pub model: String,
|
||||
pub model_provider: String,
|
||||
pub service_tier: Option<String>,
|
||||
/// Saved list of disabled plugin IDs. Does not yet filter plugin capabilities.
|
||||
#[serde(default)]
|
||||
pub disabled_plugin_ids: Vec<String>,
|
||||
pub cwd: AbsolutePathBuf,
|
||||
/// Thread-scoped runtime workspace roots used to materialize
|
||||
/// `:workspace_roots`.
|
||||
|
||||
Reference in New Issue
Block a user