{ "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "FileChange": { "oneOf": [ { "properties": { "content": { "type": "string" }, "type": { "enum": [ "add" ], "title": "AddFileChangeType", "type": "string" } }, "required": [ "content", "type" ], "title": "AddFileChange", "type": "object" }, { "properties": { "content": { "type": "string" }, "type": { "enum": [ "delete" ], "title": "DeleteFileChangeType", "type": "string" } }, "required": [ "content", "type" ], "title": "DeleteFileChange", "type": "object" }, { "properties": { "move_path": { "type": [ "string", "null" ] }, "type": { "enum": [ "update" ], "title": "UpdateFileChangeType", "type": "string" }, "unified_diff": { "type": "string" } }, "required": [ "type", "unified_diff" ], "title": "UpdateFileChange", "type": "object" } ] }, "ThreadId": { "type": "string" } }, "properties": { "callId": { "description": "Use to correlate this with [codex_protocol::protocol::PatchApplyBeginEvent] and [codex_protocol::protocol::PatchApplyEndEvent].", "type": "string" }, "conversationId": { "$ref": "#/definitions/ThreadId" }, "fileChanges": { "additionalProperties": { "$ref": "#/definitions/FileChange" }, "type": "object" }, "grantRoot": { "description": "When set, the agent is asking the user to allow writes under this root for the remainder of the session (unclear if this is honored today).", "type": [ "string", "null" ] }, "reason": { "description": "Optional explanatory reason (e.g. request for extra write access).", "type": [ "string", "null" ] } }, "required": [ "callId", "conversationId", "fileChanges" ], "title": "ApplyPatchApprovalParams", "type": "object" }