From 905a47660afe685e4aa206b4fff7bca25161e219 Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Fri, 15 May 2026 16:50:31 -0700 Subject: [PATCH] Mark turn context update API experimental --- .../schema/json/ClientRequest.json | 151 ---- .../codex_app_server_protocol.schemas.json | 166 ---- .../codex_app_server_protocol.v2.schemas.json | 166 ---- .../v2/ThreadTurnContextUpdateParams.json | 451 ----------- .../v2/ThreadTurnContextUpdateResponse.json | 739 ------------------ .../schema/typescript/ClientRequest.ts | 3 +- .../v2/ThreadTurnContextUpdateParams.ts | 58 -- .../v2/ThreadTurnContextUpdateResponse.ts | 6 - .../schema/typescript/v2/index.ts | 2 - .../src/protocol/common.rs | 1 + .../src/protocol/v2/thread.rs | 2 + 11 files changed, 4 insertions(+), 1741 deletions(-) delete mode 100644 codex-rs/app-server-protocol/schema/json/v2/ThreadTurnContextUpdateParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v2/ThreadTurnContextUpdateResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/typescript/v2/ThreadTurnContextUpdateParams.ts delete mode 100644 codex-rs/app-server-protocol/schema/typescript/v2/ThreadTurnContextUpdateResponse.ts diff --git a/codex-rs/app-server-protocol/schema/json/ClientRequest.json b/codex-rs/app-server-protocol/schema/json/ClientRequest.json index 71c1d75d15..a6fe99b35e 100644 --- a/codex-rs/app-server-protocol/schema/json/ClientRequest.json +++ b/codex-rs/app-server-protocol/schema/json/ClientRequest.json @@ -4053,133 +4053,6 @@ ], "type": "string" }, - "ThreadTurnContextUpdateParams": { - "properties": { - "approvalPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/AskForApproval" - }, - { - "type": "null" - } - ], - "description": "Override the approval policy for subsequent turns." - }, - "approvalsReviewer": { - "anyOf": [ - { - "$ref": "#/definitions/ApprovalsReviewer" - }, - { - "type": "null" - } - ], - "description": "Override where approval requests are routed for review on subsequent turns." - }, - "collaborationMode": { - "anyOf": [ - { - "$ref": "#/definitions/CollaborationMode" - }, - { - "type": "null" - } - ], - "description": "Set a pre-set collaboration mode for subsequent turns." - }, - "cwd": { - "description": "Override the working directory for subsequent turns.", - "type": [ - "string", - "null" - ] - }, - "effort": { - "anyOf": [ - { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - { - "type": "null" - } - ], - "description": "Override the reasoning effort for subsequent turns." - }, - "model": { - "description": "Override the model for subsequent turns.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "anyOf": [ - { - "$ref": "#/definitions/PermissionProfileSelectionParams" - }, - { - "type": "null" - } - ], - "description": "Select a named permissions profile for subsequent turns. Cannot be combined with `sandboxPolicy`." - }, - "personality": { - "anyOf": [ - { - "$ref": "#/definitions/Personality" - }, - { - "type": "null" - } - ], - "description": "Override the personality for subsequent turns." - }, - "sandboxPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxPolicy" - }, - { - "type": "null" - } - ], - "description": "Override the sandbox policy for subsequent turns." - }, - "serviceTier": { - "description": "Override the service tier for subsequent turns.", - "type": [ - "string", - "null" - ] - }, - "summary": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningSummary" - }, - { - "type": "null" - } - ], - "description": "Override the reasoning summary for subsequent turns." - }, - "threadId": { - "type": "string" - } - }, - "required": [ - "threadId" - ], - "type": "object" - }, "ThreadUnarchiveParams": { "properties": { "threadId": { @@ -5597,30 +5470,6 @@ "title": "Turn/startRequest", "type": "object" }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "thread/turnContext/update" - ], - "title": "Thread/turnContext/updateRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/ThreadTurnContextUpdateParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "Thread/turnContext/updateRequest", - "type": "object" - }, { "properties": { "id": { diff --git a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json index c0ed187c3d..9aeea960b5 100644 --- a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json +++ b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json @@ -1261,30 +1261,6 @@ "title": "Turn/startRequest", "type": "object" }, - { - "properties": { - "id": { - "$ref": "#/definitions/v2/RequestId" - }, - "method": { - "enum": [ - "thread/turnContext/update" - ], - "title": "Thread/turnContext/updateRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/v2/ThreadTurnContextUpdateParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "Thread/turnContext/updateRequest", - "type": "object" - }, { "properties": { "id": { @@ -17686,148 +17662,6 @@ ], "type": "object" }, - "ThreadTurnContextUpdateParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "approvalPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/v2/AskForApproval" - }, - { - "type": "null" - } - ], - "description": "Override the approval policy for subsequent turns." - }, - "approvalsReviewer": { - "anyOf": [ - { - "$ref": "#/definitions/v2/ApprovalsReviewer" - }, - { - "type": "null" - } - ], - "description": "Override where approval requests are routed for review on subsequent turns." - }, - "collaborationMode": { - "anyOf": [ - { - "$ref": "#/definitions/v2/CollaborationMode" - }, - { - "type": "null" - } - ], - "description": "Set a pre-set collaboration mode for subsequent turns." - }, - "cwd": { - "description": "Override the working directory for subsequent turns.", - "type": [ - "string", - "null" - ] - }, - "effort": { - "anyOf": [ - { - "anyOf": [ - { - "$ref": "#/definitions/v2/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - { - "type": "null" - } - ], - "description": "Override the reasoning effort for subsequent turns." - }, - "model": { - "description": "Override the model for subsequent turns.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "anyOf": [ - { - "$ref": "#/definitions/v2/PermissionProfileSelectionParams" - }, - { - "type": "null" - } - ], - "description": "Select a named permissions profile for subsequent turns. Cannot be combined with `sandboxPolicy`." - }, - "personality": { - "anyOf": [ - { - "$ref": "#/definitions/v2/Personality" - }, - { - "type": "null" - } - ], - "description": "Override the personality for subsequent turns." - }, - "sandboxPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/v2/SandboxPolicy" - }, - { - "type": "null" - } - ], - "description": "Override the sandbox policy for subsequent turns." - }, - "serviceTier": { - "description": "Override the service tier for subsequent turns.", - "type": [ - "string", - "null" - ] - }, - "summary": { - "anyOf": [ - { - "$ref": "#/definitions/v2/ReasoningSummary" - }, - { - "type": "null" - } - ], - "description": "Override the reasoning summary for subsequent turns." - }, - "threadId": { - "type": "string" - } - }, - "required": [ - "threadId" - ], - "title": "ThreadTurnContextUpdateParams", - "type": "object" - }, - "ThreadTurnContextUpdateResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "turnContext": { - "$ref": "#/definitions/v2/ThreadTurnContext" - } - }, - "required": [ - "turnContext" - ], - "title": "ThreadTurnContextUpdateResponse", - "type": "object" - }, "ThreadTurnContextUpdatedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { diff --git a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json index 9227f3a9e8..8e7ede41cd 100644 --- a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json +++ b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json @@ -2001,30 +2001,6 @@ "title": "Turn/startRequest", "type": "object" }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "thread/turnContext/update" - ], - "title": "Thread/turnContext/updateRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/ThreadTurnContextUpdateParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "Thread/turnContext/updateRequest", - "type": "object" - }, { "properties": { "id": { @@ -15510,148 +15486,6 @@ ], "type": "object" }, - "ThreadTurnContextUpdateParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "approvalPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/AskForApproval" - }, - { - "type": "null" - } - ], - "description": "Override the approval policy for subsequent turns." - }, - "approvalsReviewer": { - "anyOf": [ - { - "$ref": "#/definitions/ApprovalsReviewer" - }, - { - "type": "null" - } - ], - "description": "Override where approval requests are routed for review on subsequent turns." - }, - "collaborationMode": { - "anyOf": [ - { - "$ref": "#/definitions/CollaborationMode" - }, - { - "type": "null" - } - ], - "description": "Set a pre-set collaboration mode for subsequent turns." - }, - "cwd": { - "description": "Override the working directory for subsequent turns.", - "type": [ - "string", - "null" - ] - }, - "effort": { - "anyOf": [ - { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - { - "type": "null" - } - ], - "description": "Override the reasoning effort for subsequent turns." - }, - "model": { - "description": "Override the model for subsequent turns.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "anyOf": [ - { - "$ref": "#/definitions/PermissionProfileSelectionParams" - }, - { - "type": "null" - } - ], - "description": "Select a named permissions profile for subsequent turns. Cannot be combined with `sandboxPolicy`." - }, - "personality": { - "anyOf": [ - { - "$ref": "#/definitions/Personality" - }, - { - "type": "null" - } - ], - "description": "Override the personality for subsequent turns." - }, - "sandboxPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxPolicy" - }, - { - "type": "null" - } - ], - "description": "Override the sandbox policy for subsequent turns." - }, - "serviceTier": { - "description": "Override the service tier for subsequent turns.", - "type": [ - "string", - "null" - ] - }, - "summary": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningSummary" - }, - { - "type": "null" - } - ], - "description": "Override the reasoning summary for subsequent turns." - }, - "threadId": { - "type": "string" - } - }, - "required": [ - "threadId" - ], - "title": "ThreadTurnContextUpdateParams", - "type": "object" - }, - "ThreadTurnContextUpdateResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "turnContext": { - "$ref": "#/definitions/ThreadTurnContext" - } - }, - "required": [ - "turnContext" - ], - "title": "ThreadTurnContextUpdateResponse", - "type": "object" - }, "ThreadTurnContextUpdatedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { diff --git a/codex-rs/app-server-protocol/schema/json/v2/ThreadTurnContextUpdateParams.json b/codex-rs/app-server-protocol/schema/json/v2/ThreadTurnContextUpdateParams.json deleted file mode 100644 index bd0c1aa362..0000000000 --- a/codex-rs/app-server-protocol/schema/json/v2/ThreadTurnContextUpdateParams.json +++ /dev/null @@ -1,451 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "AbsolutePathBuf": { - "description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - "type": "string" - }, - "ApprovalsReviewer": { - "description": "Configures who approval requests are routed to for review. Examples include sandbox escapes, blocked network access, MCP approval prompts, and ARC escalations. Defaults to `user`. `auto_review` uses a carefully prompted subagent to gather relevant context and apply a risk-based decision framework before approving or denying the request. The legacy value `guardian_subagent` is accepted for compatibility.", - "enum": [ - "user", - "auto_review", - "guardian_subagent" - ], - "type": "string" - }, - "AskForApproval": { - "oneOf": [ - { - "enum": [ - "untrusted", - "on-failure", - "on-request", - "never" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "granular": { - "properties": { - "mcp_elicitations": { - "type": "boolean" - }, - "request_permissions": { - "default": false, - "type": "boolean" - }, - "rules": { - "type": "boolean" - }, - "sandbox_approval": { - "type": "boolean" - }, - "skill_approval": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "mcp_elicitations", - "rules", - "sandbox_approval" - ], - "type": "object" - } - }, - "required": [ - "granular" - ], - "title": "GranularAskForApproval", - "type": "object" - } - ] - }, - "CollaborationMode": { - "description": "Collaboration mode for a Codex session.", - "properties": { - "mode": { - "$ref": "#/definitions/ModeKind" - }, - "settings": { - "$ref": "#/definitions/Settings" - } - }, - "required": [ - "mode", - "settings" - ], - "type": "object" - }, - "ModeKind": { - "description": "Initial collaboration mode to use when the TUI starts.", - "enum": [ - "plan", - "default" - ], - "type": "string" - }, - "NetworkAccess": { - "enum": [ - "restricted", - "enabled" - ], - "type": "string" - }, - "PermissionProfileModificationParams": { - "oneOf": [ - { - "description": "Additional concrete directory that should be writable.", - "properties": { - "path": { - "$ref": "#/definitions/AbsolutePathBuf" - }, - "type": { - "enum": [ - "additionalWritableRoot" - ], - "title": "AdditionalWritableRootPermissionProfileModificationParamsType", - "type": "string" - } - }, - "required": [ - "path", - "type" - ], - "title": "AdditionalWritableRootPermissionProfileModificationParams", - "type": "object" - } - ] - }, - "PermissionProfileSelectionParams": { - "oneOf": [ - { - "description": "Select a named built-in or user-defined profile and optionally apply bounded modifications that Codex knows how to validate.", - "properties": { - "id": { - "type": "string" - }, - "modifications": { - "items": { - "$ref": "#/definitions/PermissionProfileModificationParams" - }, - "type": [ - "array", - "null" - ] - }, - "type": { - "enum": [ - "profile" - ], - "title": "ProfilePermissionProfileSelectionParamsType", - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "title": "ProfilePermissionProfileSelectionParams", - "type": "object" - } - ] - }, - "Personality": { - "enum": [ - "none", - "friendly", - "pragmatic" - ], - "type": "string" - }, - "ReasoningEffort": { - "description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning", - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh" - ], - "type": "string" - }, - "ReasoningSummary": { - "description": "A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#reasoning-summaries", - "oneOf": [ - { - "enum": [ - "auto", - "concise", - "detailed" - ], - "type": "string" - }, - { - "description": "Option to disable reasoning summaries.", - "enum": [ - "none" - ], - "type": "string" - } - ] - }, - "SandboxPolicy": { - "oneOf": [ - { - "properties": { - "type": { - "enum": [ - "dangerFullAccess" - ], - "title": "DangerFullAccessSandboxPolicyType", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "DangerFullAccessSandboxPolicy", - "type": "object" - }, - { - "properties": { - "networkAccess": { - "default": false, - "type": "boolean" - }, - "type": { - "enum": [ - "readOnly" - ], - "title": "ReadOnlySandboxPolicyType", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "ReadOnlySandboxPolicy", - "type": "object" - }, - { - "properties": { - "networkAccess": { - "allOf": [ - { - "$ref": "#/definitions/NetworkAccess" - } - ], - "default": "restricted" - }, - "type": { - "enum": [ - "externalSandbox" - ], - "title": "ExternalSandboxSandboxPolicyType", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "ExternalSandboxSandboxPolicy", - "type": "object" - }, - { - "properties": { - "excludeSlashTmp": { - "default": false, - "type": "boolean" - }, - "excludeTmpdirEnvVar": { - "default": false, - "type": "boolean" - }, - "networkAccess": { - "default": false, - "type": "boolean" - }, - "type": { - "enum": [ - "workspaceWrite" - ], - "title": "WorkspaceWriteSandboxPolicyType", - "type": "string" - }, - "writableRoots": { - "default": [], - "items": { - "$ref": "#/definitions/AbsolutePathBuf" - }, - "type": "array" - } - }, - "required": [ - "type" - ], - "title": "WorkspaceWriteSandboxPolicy", - "type": "object" - } - ] - }, - "Settings": { - "description": "Settings for a collaboration mode.", - "properties": { - "developer_instructions": { - "type": [ - "string", - "null" - ] - }, - "model": { - "type": "string" - }, - "reasoning_effort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "model" - ], - "type": "object" - } - }, - "properties": { - "approvalPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/AskForApproval" - }, - { - "type": "null" - } - ], - "description": "Override the approval policy for subsequent turns." - }, - "approvalsReviewer": { - "anyOf": [ - { - "$ref": "#/definitions/ApprovalsReviewer" - }, - { - "type": "null" - } - ], - "description": "Override where approval requests are routed for review on subsequent turns." - }, - "collaborationMode": { - "anyOf": [ - { - "$ref": "#/definitions/CollaborationMode" - }, - { - "type": "null" - } - ], - "description": "Set a pre-set collaboration mode for subsequent turns." - }, - "cwd": { - "description": "Override the working directory for subsequent turns.", - "type": [ - "string", - "null" - ] - }, - "effort": { - "anyOf": [ - { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - { - "type": "null" - } - ], - "description": "Override the reasoning effort for subsequent turns." - }, - "model": { - "description": "Override the model for subsequent turns.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "anyOf": [ - { - "$ref": "#/definitions/PermissionProfileSelectionParams" - }, - { - "type": "null" - } - ], - "description": "Select a named permissions profile for subsequent turns. Cannot be combined with `sandboxPolicy`." - }, - "personality": { - "anyOf": [ - { - "$ref": "#/definitions/Personality" - }, - { - "type": "null" - } - ], - "description": "Override the personality for subsequent turns." - }, - "sandboxPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxPolicy" - }, - { - "type": "null" - } - ], - "description": "Override the sandbox policy for subsequent turns." - }, - "serviceTier": { - "description": "Override the service tier for subsequent turns.", - "type": [ - "string", - "null" - ] - }, - "summary": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningSummary" - }, - { - "type": "null" - } - ], - "description": "Override the reasoning summary for subsequent turns." - }, - "threadId": { - "type": "string" - } - }, - "required": [ - "threadId" - ], - "title": "ThreadTurnContextUpdateParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v2/ThreadTurnContextUpdateResponse.json b/codex-rs/app-server-protocol/schema/json/v2/ThreadTurnContextUpdateResponse.json deleted file mode 100644 index 6d7b6b8f25..0000000000 --- a/codex-rs/app-server-protocol/schema/json/v2/ThreadTurnContextUpdateResponse.json +++ /dev/null @@ -1,739 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "AbsolutePathBuf": { - "description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - "type": "string" - }, - "ActivePermissionProfile": { - "properties": { - "extends": { - "default": null, - "description": "Parent profile identifier once permissions profiles support inheritance. This is currently always `null`.", - "type": [ - "string", - "null" - ] - }, - "id": { - "description": "Identifier from `default_permissions` or the implicit built-in default, such as `:workspace` or a user-defined `[permissions.]` profile.", - "type": "string" - }, - "modifications": { - "default": [], - "description": "Bounded user-requested modifications applied on top of the named profile, if any.", - "items": { - "$ref": "#/definitions/ActivePermissionProfileModification" - }, - "type": "array" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "ActivePermissionProfileModification": { - "oneOf": [ - { - "description": "Additional concrete directory that should be writable.", - "properties": { - "path": { - "$ref": "#/definitions/AbsolutePathBuf" - }, - "type": { - "enum": [ - "additionalWritableRoot" - ], - "title": "AdditionalWritableRootActivePermissionProfileModificationType", - "type": "string" - } - }, - "required": [ - "path", - "type" - ], - "title": "AdditionalWritableRootActivePermissionProfileModification", - "type": "object" - } - ] - }, - "ApprovalsReviewer": { - "description": "Configures who approval requests are routed to for review. Examples include sandbox escapes, blocked network access, MCP approval prompts, and ARC escalations. Defaults to `user`. `auto_review` uses a carefully prompted subagent to gather relevant context and apply a risk-based decision framework before approving or denying the request. The legacy value `guardian_subagent` is accepted for compatibility.", - "enum": [ - "user", - "auto_review", - "guardian_subagent" - ], - "type": "string" - }, - "AskForApproval": { - "oneOf": [ - { - "enum": [ - "untrusted", - "on-failure", - "on-request", - "never" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "granular": { - "properties": { - "mcp_elicitations": { - "type": "boolean" - }, - "request_permissions": { - "default": false, - "type": "boolean" - }, - "rules": { - "type": "boolean" - }, - "sandbox_approval": { - "type": "boolean" - }, - "skill_approval": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "mcp_elicitations", - "rules", - "sandbox_approval" - ], - "type": "object" - } - }, - "required": [ - "granular" - ], - "title": "GranularAskForApproval", - "type": "object" - } - ] - }, - "CollaborationMode": { - "description": "Collaboration mode for a Codex session.", - "properties": { - "mode": { - "$ref": "#/definitions/ModeKind" - }, - "settings": { - "$ref": "#/definitions/Settings" - } - }, - "required": [ - "mode", - "settings" - ], - "type": "object" - }, - "FileSystemAccessMode": { - "enum": [ - "read", - "write", - "none" - ], - "type": "string" - }, - "FileSystemPath": { - "oneOf": [ - { - "properties": { - "path": { - "$ref": "#/definitions/AbsolutePathBuf" - }, - "type": { - "enum": [ - "path" - ], - "title": "PathFileSystemPathType", - "type": "string" - } - }, - "required": [ - "path", - "type" - ], - "title": "PathFileSystemPath", - "type": "object" - }, - { - "properties": { - "pattern": { - "type": "string" - }, - "type": { - "enum": [ - "glob_pattern" - ], - "title": "GlobPatternFileSystemPathType", - "type": "string" - } - }, - "required": [ - "pattern", - "type" - ], - "title": "GlobPatternFileSystemPath", - "type": "object" - }, - { - "properties": { - "type": { - "enum": [ - "special" - ], - "title": "SpecialFileSystemPathType", - "type": "string" - }, - "value": { - "$ref": "#/definitions/FileSystemSpecialPath" - } - }, - "required": [ - "type", - "value" - ], - "title": "SpecialFileSystemPath", - "type": "object" - } - ] - }, - "FileSystemSandboxEntry": { - "properties": { - "access": { - "$ref": "#/definitions/FileSystemAccessMode" - }, - "path": { - "$ref": "#/definitions/FileSystemPath" - } - }, - "required": [ - "access", - "path" - ], - "type": "object" - }, - "FileSystemSpecialPath": { - "oneOf": [ - { - "properties": { - "kind": { - "enum": [ - "root" - ], - "type": "string" - } - }, - "required": [ - "kind" - ], - "title": "RootFileSystemSpecialPath", - "type": "object" - }, - { - "properties": { - "kind": { - "enum": [ - "minimal" - ], - "type": "string" - } - }, - "required": [ - "kind" - ], - "title": "MinimalFileSystemSpecialPath", - "type": "object" - }, - { - "properties": { - "kind": { - "enum": [ - "project_roots" - ], - "type": "string" - }, - "subpath": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "kind" - ], - "title": "KindFileSystemSpecialPath", - "type": "object" - }, - { - "properties": { - "kind": { - "enum": [ - "tmpdir" - ], - "type": "string" - } - }, - "required": [ - "kind" - ], - "title": "TmpdirFileSystemSpecialPath", - "type": "object" - }, - { - "properties": { - "kind": { - "enum": [ - "slash_tmp" - ], - "type": "string" - } - }, - "required": [ - "kind" - ], - "title": "SlashTmpFileSystemSpecialPath", - "type": "object" - }, - { - "properties": { - "kind": { - "enum": [ - "unknown" - ], - "type": "string" - }, - "path": { - "type": "string" - }, - "subpath": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "kind", - "path" - ], - "type": "object" - } - ] - }, - "ModeKind": { - "description": "Initial collaboration mode to use when the TUI starts.", - "enum": [ - "plan", - "default" - ], - "type": "string" - }, - "NetworkAccess": { - "enum": [ - "restricted", - "enabled" - ], - "type": "string" - }, - "PermissionProfile": { - "oneOf": [ - { - "description": "Codex owns sandbox construction for this profile.", - "properties": { - "fileSystem": { - "$ref": "#/definitions/PermissionProfileFileSystemPermissions" - }, - "network": { - "$ref": "#/definitions/PermissionProfileNetworkPermissions" - }, - "type": { - "enum": [ - "managed" - ], - "title": "ManagedPermissionProfileType", - "type": "string" - } - }, - "required": [ - "fileSystem", - "network", - "type" - ], - "title": "ManagedPermissionProfile", - "type": "object" - }, - { - "description": "Do not apply an outer sandbox.", - "properties": { - "type": { - "enum": [ - "disabled" - ], - "title": "DisabledPermissionProfileType", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "DisabledPermissionProfile", - "type": "object" - }, - { - "description": "Filesystem isolation is enforced by an external caller.", - "properties": { - "network": { - "$ref": "#/definitions/PermissionProfileNetworkPermissions" - }, - "type": { - "enum": [ - "external" - ], - "title": "ExternalPermissionProfileType", - "type": "string" - } - }, - "required": [ - "network", - "type" - ], - "title": "ExternalPermissionProfile", - "type": "object" - } - ] - }, - "PermissionProfileFileSystemPermissions": { - "oneOf": [ - { - "properties": { - "entries": { - "items": { - "$ref": "#/definitions/FileSystemSandboxEntry" - }, - "type": "array" - }, - "globScanMaxDepth": { - "format": "uint", - "minimum": 1.0, - "type": [ - "integer", - "null" - ] - }, - "type": { - "enum": [ - "restricted" - ], - "title": "RestrictedPermissionProfileFileSystemPermissionsType", - "type": "string" - } - }, - "required": [ - "entries", - "type" - ], - "title": "RestrictedPermissionProfileFileSystemPermissions", - "type": "object" - }, - { - "properties": { - "type": { - "enum": [ - "unrestricted" - ], - "title": "UnrestrictedPermissionProfileFileSystemPermissionsType", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "UnrestrictedPermissionProfileFileSystemPermissions", - "type": "object" - } - ] - }, - "PermissionProfileNetworkPermissions": { - "properties": { - "enabled": { - "type": "boolean" - } - }, - "required": [ - "enabled" - ], - "type": "object" - }, - "Personality": { - "enum": [ - "none", - "friendly", - "pragmatic" - ], - "type": "string" - }, - "ReasoningEffort": { - "description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning", - "enum": [ - "none", - "minimal", - "low", - "medium", - "high", - "xhigh" - ], - "type": "string" - }, - "ReasoningSummary": { - "description": "A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#reasoning-summaries", - "oneOf": [ - { - "enum": [ - "auto", - "concise", - "detailed" - ], - "type": "string" - }, - { - "description": "Option to disable reasoning summaries.", - "enum": [ - "none" - ], - "type": "string" - } - ] - }, - "SandboxPolicy": { - "oneOf": [ - { - "properties": { - "type": { - "enum": [ - "dangerFullAccess" - ], - "title": "DangerFullAccessSandboxPolicyType", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "DangerFullAccessSandboxPolicy", - "type": "object" - }, - { - "properties": { - "networkAccess": { - "default": false, - "type": "boolean" - }, - "type": { - "enum": [ - "readOnly" - ], - "title": "ReadOnlySandboxPolicyType", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "ReadOnlySandboxPolicy", - "type": "object" - }, - { - "properties": { - "networkAccess": { - "allOf": [ - { - "$ref": "#/definitions/NetworkAccess" - } - ], - "default": "restricted" - }, - "type": { - "enum": [ - "externalSandbox" - ], - "title": "ExternalSandboxSandboxPolicyType", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "ExternalSandboxSandboxPolicy", - "type": "object" - }, - { - "properties": { - "excludeSlashTmp": { - "default": false, - "type": "boolean" - }, - "excludeTmpdirEnvVar": { - "default": false, - "type": "boolean" - }, - "networkAccess": { - "default": false, - "type": "boolean" - }, - "type": { - "enum": [ - "workspaceWrite" - ], - "title": "WorkspaceWriteSandboxPolicyType", - "type": "string" - }, - "writableRoots": { - "default": [], - "items": { - "$ref": "#/definitions/AbsolutePathBuf" - }, - "type": "array" - } - }, - "required": [ - "type" - ], - "title": "WorkspaceWriteSandboxPolicy", - "type": "object" - } - ] - }, - "Settings": { - "description": "Settings for a collaboration mode.", - "properties": { - "developer_instructions": { - "type": [ - "string", - "null" - ] - }, - "model": { - "type": "string" - }, - "reasoning_effort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "model" - ], - "type": "object" - }, - "ThreadTurnContext": { - "properties": { - "activePermissionProfile": { - "anyOf": [ - { - "$ref": "#/definitions/ActivePermissionProfile" - }, - { - "type": "null" - } - ] - }, - "approvalPolicy": { - "$ref": "#/definitions/AskForApproval" - }, - "approvalsReviewer": { - "$ref": "#/definitions/ApprovalsReviewer" - }, - "collaborationMode": { - "$ref": "#/definitions/CollaborationMode" - }, - "cwd": { - "$ref": "#/definitions/AbsolutePathBuf" - }, - "effort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - "model": { - "type": "string" - }, - "modelProvider": { - "type": "string" - }, - "permissionProfile": { - "$ref": "#/definitions/PermissionProfile" - }, - "personality": { - "anyOf": [ - { - "$ref": "#/definitions/Personality" - }, - { - "type": "null" - } - ] - }, - "sandboxPolicy": { - "$ref": "#/definitions/SandboxPolicy" - }, - "serviceTier": { - "type": [ - "string", - "null" - ] - }, - "summary": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningSummary" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "approvalPolicy", - "approvalsReviewer", - "collaborationMode", - "cwd", - "model", - "modelProvider", - "permissionProfile", - "sandboxPolicy" - ], - "type": "object" - } - }, - "properties": { - "turnContext": { - "$ref": "#/definitions/ThreadTurnContext" - } - }, - "required": [ - "turnContext" - ], - "title": "ThreadTurnContextUpdateResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/typescript/ClientRequest.ts b/codex-rs/app-server-protocol/schema/typescript/ClientRequest.ts index 77e33aec42..28371c7106 100644 --- a/codex-rs/app-server-protocol/schema/typescript/ClientRequest.ts +++ b/codex-rs/app-server-protocol/schema/typescript/ClientRequest.ts @@ -70,7 +70,6 @@ import type { ThreadRollbackParams } from "./v2/ThreadRollbackParams"; import type { ThreadSetNameParams } from "./v2/ThreadSetNameParams"; import type { ThreadShellCommandParams } from "./v2/ThreadShellCommandParams"; import type { ThreadStartParams } from "./v2/ThreadStartParams"; -import type { ThreadTurnContextUpdateParams } from "./v2/ThreadTurnContextUpdateParams"; import type { ThreadUnarchiveParams } from "./v2/ThreadUnarchiveParams"; import type { ThreadUnsubscribeParams } from "./v2/ThreadUnsubscribeParams"; import type { TurnInterruptParams } from "./v2/TurnInterruptParams"; @@ -81,4 +80,4 @@ import type { WindowsSandboxSetupStartParams } from "./v2/WindowsSandboxSetupSta /** * Request from the client to the server. */ -export type ClientRequest ={ "method": "initialize", id: RequestId, params: InitializeParams, } | { "method": "thread/start", id: RequestId, params: ThreadStartParams, } | { "method": "thread/resume", id: RequestId, params: ThreadResumeParams, } | { "method": "thread/fork", id: RequestId, params: ThreadForkParams, } | { "method": "thread/archive", id: RequestId, params: ThreadArchiveParams, } | { "method": "thread/unsubscribe", id: RequestId, params: ThreadUnsubscribeParams, } | { "method": "thread/name/set", id: RequestId, params: ThreadSetNameParams, } | { "method": "thread/metadata/update", id: RequestId, params: ThreadMetadataUpdateParams, } | { "method": "thread/unarchive", id: RequestId, params: ThreadUnarchiveParams, } | { "method": "thread/compact/start", id: RequestId, params: ThreadCompactStartParams, } | { "method": "thread/shellCommand", id: RequestId, params: ThreadShellCommandParams, } | { "method": "thread/approveGuardianDeniedAction", id: RequestId, params: ThreadApproveGuardianDeniedActionParams, } | { "method": "thread/rollback", id: RequestId, params: ThreadRollbackParams, } | { "method": "thread/list", id: RequestId, params: ThreadListParams, } | { "method": "thread/loaded/list", id: RequestId, params: ThreadLoadedListParams, } | { "method": "thread/read", id: RequestId, params: ThreadReadParams, } | { "method": "thread/inject_items", id: RequestId, params: ThreadInjectItemsParams, } | { "method": "skills/list", id: RequestId, params: SkillsListParams, } | { "method": "hooks/list", id: RequestId, params: HooksListParams, } | { "method": "marketplace/add", id: RequestId, params: MarketplaceAddParams, } | { "method": "marketplace/remove", id: RequestId, params: MarketplaceRemoveParams, } | { "method": "marketplace/upgrade", id: RequestId, params: MarketplaceUpgradeParams, } | { "method": "plugin/list", id: RequestId, params: PluginListParams, } | { "method": "plugin/read", id: RequestId, params: PluginReadParams, } | { "method": "plugin/skill/read", id: RequestId, params: PluginSkillReadParams, } | { "method": "plugin/share/save", id: RequestId, params: PluginShareSaveParams, } | { "method": "plugin/share/updateTargets", id: RequestId, params: PluginShareUpdateTargetsParams, } | { "method": "plugin/share/list", id: RequestId, params: PluginShareListParams, } | { "method": "plugin/share/checkout", id: RequestId, params: PluginShareCheckoutParams, } | { "method": "plugin/share/delete", id: RequestId, params: PluginShareDeleteParams, } | { "method": "app/list", id: RequestId, params: AppsListParams, } | { "method": "fs/readFile", id: RequestId, params: FsReadFileParams, } | { "method": "fs/writeFile", id: RequestId, params: FsWriteFileParams, } | { "method": "fs/createDirectory", id: RequestId, params: FsCreateDirectoryParams, } | { "method": "fs/getMetadata", id: RequestId, params: FsGetMetadataParams, } | { "method": "fs/readDirectory", id: RequestId, params: FsReadDirectoryParams, } | { "method": "fs/remove", id: RequestId, params: FsRemoveParams, } | { "method": "fs/copy", id: RequestId, params: FsCopyParams, } | { "method": "fs/watch", id: RequestId, params: FsWatchParams, } | { "method": "fs/unwatch", id: RequestId, params: FsUnwatchParams, } | { "method": "skills/config/write", id: RequestId, params: SkillsConfigWriteParams, } | { "method": "plugin/install", id: RequestId, params: PluginInstallParams, } | { "method": "plugin/uninstall", id: RequestId, params: PluginUninstallParams, } | { "method": "turn/start", id: RequestId, params: TurnStartParams, } | { "method": "thread/turnContext/update", id: RequestId, params: ThreadTurnContextUpdateParams, } | { "method": "turn/steer", id: RequestId, params: TurnSteerParams, } | { "method": "turn/interrupt", id: RequestId, params: TurnInterruptParams, } | { "method": "review/start", id: RequestId, params: ReviewStartParams, } | { "method": "model/list", id: RequestId, params: ModelListParams, } | { "method": "modelProvider/capabilities/read", id: RequestId, params: ModelProviderCapabilitiesReadParams, } | { "method": "experimentalFeature/list", id: RequestId, params: ExperimentalFeatureListParams, } | { "method": "experimentalFeature/enablement/set", id: RequestId, params: ExperimentalFeatureEnablementSetParams, } | { "method": "mcpServer/oauth/login", id: RequestId, params: McpServerOauthLoginParams, } | { "method": "config/mcpServer/reload", id: RequestId, params: undefined, } | { "method": "mcpServerStatus/list", id: RequestId, params: ListMcpServerStatusParams, } | { "method": "mcpServer/resource/read", id: RequestId, params: McpResourceReadParams, } | { "method": "mcpServer/tool/call", id: RequestId, params: McpServerToolCallParams, } | { "method": "windowsSandbox/setupStart", id: RequestId, params: WindowsSandboxSetupStartParams, } | { "method": "windowsSandbox/readiness", id: RequestId, params: undefined, } | { "method": "account/login/start", id: RequestId, params: LoginAccountParams, } | { "method": "account/login/cancel", id: RequestId, params: CancelLoginAccountParams, } | { "method": "account/logout", id: RequestId, params: undefined, } | { "method": "account/rateLimits/read", id: RequestId, params: undefined, } | { "method": "account/sendAddCreditsNudgeEmail", id: RequestId, params: SendAddCreditsNudgeEmailParams, } | { "method": "feedback/upload", id: RequestId, params: FeedbackUploadParams, } | { "method": "command/exec", id: RequestId, params: CommandExecParams, } | { "method": "command/exec/write", id: RequestId, params: CommandExecWriteParams, } | { "method": "command/exec/terminate", id: RequestId, params: CommandExecTerminateParams, } | { "method": "command/exec/resize", id: RequestId, params: CommandExecResizeParams, } | { "method": "config/read", id: RequestId, params: ConfigReadParams, } | { "method": "externalAgentConfig/detect", id: RequestId, params: ExternalAgentConfigDetectParams, } | { "method": "externalAgentConfig/import", id: RequestId, params: ExternalAgentConfigImportParams, } | { "method": "config/value/write", id: RequestId, params: ConfigValueWriteParams, } | { "method": "config/batchWrite", id: RequestId, params: ConfigBatchWriteParams, } | { "method": "configRequirements/read", id: RequestId, params: undefined, } | { "method": "account/read", id: RequestId, params: GetAccountParams, } | { "method": "getConversationSummary", id: RequestId, params: GetConversationSummaryParams, } | { "method": "gitDiffToRemote", id: RequestId, params: GitDiffToRemoteParams, } | { "method": "getAuthStatus", id: RequestId, params: GetAuthStatusParams, } | { "method": "fuzzyFileSearch", id: RequestId, params: FuzzyFileSearchParams, }; +export type ClientRequest ={ "method": "initialize", id: RequestId, params: InitializeParams, } | { "method": "thread/start", id: RequestId, params: ThreadStartParams, } | { "method": "thread/resume", id: RequestId, params: ThreadResumeParams, } | { "method": "thread/fork", id: RequestId, params: ThreadForkParams, } | { "method": "thread/archive", id: RequestId, params: ThreadArchiveParams, } | { "method": "thread/unsubscribe", id: RequestId, params: ThreadUnsubscribeParams, } | { "method": "thread/name/set", id: RequestId, params: ThreadSetNameParams, } | { "method": "thread/metadata/update", id: RequestId, params: ThreadMetadataUpdateParams, } | { "method": "thread/unarchive", id: RequestId, params: ThreadUnarchiveParams, } | { "method": "thread/compact/start", id: RequestId, params: ThreadCompactStartParams, } | { "method": "thread/shellCommand", id: RequestId, params: ThreadShellCommandParams, } | { "method": "thread/approveGuardianDeniedAction", id: RequestId, params: ThreadApproveGuardianDeniedActionParams, } | { "method": "thread/rollback", id: RequestId, params: ThreadRollbackParams, } | { "method": "thread/list", id: RequestId, params: ThreadListParams, } | { "method": "thread/loaded/list", id: RequestId, params: ThreadLoadedListParams, } | { "method": "thread/read", id: RequestId, params: ThreadReadParams, } | { "method": "thread/inject_items", id: RequestId, params: ThreadInjectItemsParams, } | { "method": "skills/list", id: RequestId, params: SkillsListParams, } | { "method": "hooks/list", id: RequestId, params: HooksListParams, } | { "method": "marketplace/add", id: RequestId, params: MarketplaceAddParams, } | { "method": "marketplace/remove", id: RequestId, params: MarketplaceRemoveParams, } | { "method": "marketplace/upgrade", id: RequestId, params: MarketplaceUpgradeParams, } | { "method": "plugin/list", id: RequestId, params: PluginListParams, } | { "method": "plugin/read", id: RequestId, params: PluginReadParams, } | { "method": "plugin/skill/read", id: RequestId, params: PluginSkillReadParams, } | { "method": "plugin/share/save", id: RequestId, params: PluginShareSaveParams, } | { "method": "plugin/share/updateTargets", id: RequestId, params: PluginShareUpdateTargetsParams, } | { "method": "plugin/share/list", id: RequestId, params: PluginShareListParams, } | { "method": "plugin/share/checkout", id: RequestId, params: PluginShareCheckoutParams, } | { "method": "plugin/share/delete", id: RequestId, params: PluginShareDeleteParams, } | { "method": "app/list", id: RequestId, params: AppsListParams, } | { "method": "fs/readFile", id: RequestId, params: FsReadFileParams, } | { "method": "fs/writeFile", id: RequestId, params: FsWriteFileParams, } | { "method": "fs/createDirectory", id: RequestId, params: FsCreateDirectoryParams, } | { "method": "fs/getMetadata", id: RequestId, params: FsGetMetadataParams, } | { "method": "fs/readDirectory", id: RequestId, params: FsReadDirectoryParams, } | { "method": "fs/remove", id: RequestId, params: FsRemoveParams, } | { "method": "fs/copy", id: RequestId, params: FsCopyParams, } | { "method": "fs/watch", id: RequestId, params: FsWatchParams, } | { "method": "fs/unwatch", id: RequestId, params: FsUnwatchParams, } | { "method": "skills/config/write", id: RequestId, params: SkillsConfigWriteParams, } | { "method": "plugin/install", id: RequestId, params: PluginInstallParams, } | { "method": "plugin/uninstall", id: RequestId, params: PluginUninstallParams, } | { "method": "turn/start", id: RequestId, params: TurnStartParams, } | { "method": "turn/steer", id: RequestId, params: TurnSteerParams, } | { "method": "turn/interrupt", id: RequestId, params: TurnInterruptParams, } | { "method": "review/start", id: RequestId, params: ReviewStartParams, } | { "method": "model/list", id: RequestId, params: ModelListParams, } | { "method": "modelProvider/capabilities/read", id: RequestId, params: ModelProviderCapabilitiesReadParams, } | { "method": "experimentalFeature/list", id: RequestId, params: ExperimentalFeatureListParams, } | { "method": "experimentalFeature/enablement/set", id: RequestId, params: ExperimentalFeatureEnablementSetParams, } | { "method": "mcpServer/oauth/login", id: RequestId, params: McpServerOauthLoginParams, } | { "method": "config/mcpServer/reload", id: RequestId, params: undefined, } | { "method": "mcpServerStatus/list", id: RequestId, params: ListMcpServerStatusParams, } | { "method": "mcpServer/resource/read", id: RequestId, params: McpResourceReadParams, } | { "method": "mcpServer/tool/call", id: RequestId, params: McpServerToolCallParams, } | { "method": "windowsSandbox/setupStart", id: RequestId, params: WindowsSandboxSetupStartParams, } | { "method": "windowsSandbox/readiness", id: RequestId, params: undefined, } | { "method": "account/login/start", id: RequestId, params: LoginAccountParams, } | { "method": "account/login/cancel", id: RequestId, params: CancelLoginAccountParams, } | { "method": "account/logout", id: RequestId, params: undefined, } | { "method": "account/rateLimits/read", id: RequestId, params: undefined, } | { "method": "account/sendAddCreditsNudgeEmail", id: RequestId, params: SendAddCreditsNudgeEmailParams, } | { "method": "feedback/upload", id: RequestId, params: FeedbackUploadParams, } | { "method": "command/exec", id: RequestId, params: CommandExecParams, } | { "method": "command/exec/write", id: RequestId, params: CommandExecWriteParams, } | { "method": "command/exec/terminate", id: RequestId, params: CommandExecTerminateParams, } | { "method": "command/exec/resize", id: RequestId, params: CommandExecResizeParams, } | { "method": "config/read", id: RequestId, params: ConfigReadParams, } | { "method": "externalAgentConfig/detect", id: RequestId, params: ExternalAgentConfigDetectParams, } | { "method": "externalAgentConfig/import", id: RequestId, params: ExternalAgentConfigImportParams, } | { "method": "config/value/write", id: RequestId, params: ConfigValueWriteParams, } | { "method": "config/batchWrite", id: RequestId, params: ConfigBatchWriteParams, } | { "method": "configRequirements/read", id: RequestId, params: undefined, } | { "method": "account/read", id: RequestId, params: GetAccountParams, } | { "method": "getConversationSummary", id: RequestId, params: GetConversationSummaryParams, } | { "method": "gitDiffToRemote", id: RequestId, params: GitDiffToRemoteParams, } | { "method": "getAuthStatus", id: RequestId, params: GetAuthStatusParams, } | { "method": "fuzzyFileSearch", id: RequestId, params: FuzzyFileSearchParams, }; diff --git a/codex-rs/app-server-protocol/schema/typescript/v2/ThreadTurnContextUpdateParams.ts b/codex-rs/app-server-protocol/schema/typescript/v2/ThreadTurnContextUpdateParams.ts deleted file mode 100644 index ad9ee0795d..0000000000 --- a/codex-rs/app-server-protocol/schema/typescript/v2/ThreadTurnContextUpdateParams.ts +++ /dev/null @@ -1,58 +0,0 @@ -// GENERATED CODE! DO NOT MODIFY BY HAND! - -// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -import type { CollaborationMode } from "../CollaborationMode"; -import type { Personality } from "../Personality"; -import type { ReasoningEffort } from "../ReasoningEffort"; -import type { ReasoningSummary } from "../ReasoningSummary"; -import type { ApprovalsReviewer } from "./ApprovalsReviewer"; -import type { AskForApproval } from "./AskForApproval"; -import type { PermissionProfileSelectionParams } from "./PermissionProfileSelectionParams"; -import type { SandboxPolicy } from "./SandboxPolicy"; - -export type ThreadTurnContextUpdateParams = { threadId: string, -/** - * Override the working directory for subsequent turns. - */ -cwd?: string | null, -/** - * Override the approval policy for subsequent turns. - */ -approvalPolicy?: AskForApproval | null, -/** - * Override where approval requests are routed for review on subsequent turns. - */ -approvalsReviewer?: ApprovalsReviewer | null, -/** - * Override the sandbox policy for subsequent turns. - */ -sandboxPolicy?: SandboxPolicy | null, -/** - * Select a named permissions profile for subsequent turns. Cannot be - * combined with `sandboxPolicy`. - */ -permissions?: PermissionProfileSelectionParams | null, -/** - * Override the model for subsequent turns. - */ -model?: string | null, -/** - * Override the service tier for subsequent turns. - */ -serviceTier?: string | null | null, -/** - * Override the reasoning effort for subsequent turns. - */ -effort?: ReasoningEffort | null | null, -/** - * Override the reasoning summary for subsequent turns. - */ -summary?: ReasoningSummary | null, -/** - * Override the personality for subsequent turns. - */ -personality?: Personality | null, -/** - * Set a pre-set collaboration mode for subsequent turns. - */ -collaborationMode?: CollaborationMode | null, }; diff --git a/codex-rs/app-server-protocol/schema/typescript/v2/ThreadTurnContextUpdateResponse.ts b/codex-rs/app-server-protocol/schema/typescript/v2/ThreadTurnContextUpdateResponse.ts deleted file mode 100644 index 8abdb51d51..0000000000 --- a/codex-rs/app-server-protocol/schema/typescript/v2/ThreadTurnContextUpdateResponse.ts +++ /dev/null @@ -1,6 +0,0 @@ -// GENERATED CODE! DO NOT MODIFY BY HAND! - -// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -import type { ThreadTurnContext } from "./ThreadTurnContext"; - -export type ThreadTurnContextUpdateResponse = { turnContext: ThreadTurnContext, }; diff --git a/codex-rs/app-server-protocol/schema/typescript/v2/index.ts b/codex-rs/app-server-protocol/schema/typescript/v2/index.ts index 966634ed1c..583b720e59 100644 --- a/codex-rs/app-server-protocol/schema/typescript/v2/index.ts +++ b/codex-rs/app-server-protocol/schema/typescript/v2/index.ts @@ -410,8 +410,6 @@ export type { ThreadStatusChangedNotification } from "./ThreadStatusChangedNotif export type { ThreadTokenUsage } from "./ThreadTokenUsage"; export type { ThreadTokenUsageUpdatedNotification } from "./ThreadTokenUsageUpdatedNotification"; export type { ThreadTurnContext } from "./ThreadTurnContext"; -export type { ThreadTurnContextUpdateParams } from "./ThreadTurnContextUpdateParams"; -export type { ThreadTurnContextUpdateResponse } from "./ThreadTurnContextUpdateResponse"; export type { ThreadTurnContextUpdatedNotification } from "./ThreadTurnContextUpdatedNotification"; export type { ThreadUnarchiveParams } from "./ThreadUnarchiveParams"; export type { ThreadUnarchiveResponse } from "./ThreadUnarchiveResponse"; diff --git a/codex-rs/app-server-protocol/src/protocol/common.rs b/codex-rs/app-server-protocol/src/protocol/common.rs index 4afab97a91..d69c30a3a4 100644 --- a/codex-rs/app-server-protocol/src/protocol/common.rs +++ b/codex-rs/app-server-protocol/src/protocol/common.rs @@ -732,6 +732,7 @@ client_request_definitions! { serialization: thread_id(params.thread_id), response: v2::TurnStartResponse, }, + #[experimental("thread/turnContext/update")] ThreadTurnContextUpdate => "thread/turnContext/update" { params: v2::ThreadTurnContextUpdateParams, inspect_params: true, diff --git a/codex-rs/app-server-protocol/src/protocol/v2/thread.rs b/codex-rs/app-server-protocol/src/protocol/v2/thread.rs index 8a140a873e..d9a11be185 100644 --- a/codex-rs/app-server-protocol/src/protocol/v2/thread.rs +++ b/codex-rs/app-server-protocol/src/protocol/v2/thread.rs @@ -193,6 +193,7 @@ pub struct ThreadTurnContextUpdateParams { pub sandbox_policy: Option, /// Select a named permissions profile for subsequent turns. Cannot be /// combined with `sandboxPolicy`. + #[experimental("thread/turnContext/update.permissions")] #[ts(optional = nullable)] pub permissions: Option, /// Override the model for subsequent turns. @@ -223,6 +224,7 @@ pub struct ThreadTurnContextUpdateParams { #[ts(optional = nullable)] pub personality: Option, /// Set a pre-set collaboration mode for subsequent turns. + #[experimental("thread/turnContext/update.collaborationMode")] #[ts(optional = nullable)] pub collaboration_mode: Option, }