"description":"Use to correlate this with [codex_core::protocol::PatchApplyBeginEvent] and [codex_core::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).",
"description":"Workspace/account identifier that Codex was previously using.\n\nClients that manage multiple accounts/workspaces can use this as a hint to refresh the token for the correct workspace.\n\nThis may be `null` when the prior auth state did not include a workspace identifier (`chatgpt_account_id`).",
"description":"Codex attempted a backend request and received `401 Unauthorized`.",
"enum":[
"unauthorized"
],
"type":"string"
}
]
},
"CommandAction":{
"oneOf":[
{
"properties":{
"command":{
"type":"string"
},
"name":{
"type":"string"
},
"path":{
"type":"string"
},
"type":{
"enum":[
"read"
],
"title":"ReadCommandActionType",
"type":"string"
}
},
"required":[
"command",
"name",
"path",
"type"
],
"title":"ReadCommandAction",
"type":"object"
},
{
"properties":{
"command":{
"type":"string"
},
"path":{
"type":[
"string",
"null"
]
},
"type":{
"enum":[
"listFiles"
],
"title":"ListFilesCommandActionType",
"type":"string"
}
},
"required":[
"command",
"type"
],
"title":"ListFilesCommandAction",
"type":"object"
},
{
"properties":{
"command":{
"type":"string"
},
"path":{
"type":[
"string",
"null"
]
},
"query":{
"type":[
"string",
"null"
]
},
"type":{
"enum":[
"search"
],
"title":"SearchCommandActionType",
"type":"string"
}
},
"required":[
"command",
"type"
],
"title":"SearchCommandAction",
"type":"object"
},
{
"properties":{
"command":{
"type":"string"
},
"type":{
"enum":[
"unknown"
],
"title":"UnknownCommandActionType",
"type":"string"
}
},
"required":[
"command",
"type"
],
"title":"UnknownCommandAction",
"type":"object"
}
]
},
"CommandExecutionRequestApprovalParams":{
"properties":{
"command":{
"description":"The command to be executed.",
"type":[
"string",
"null"
]
},
"commandActions":{
"description":"Best-effort parsed command actions for friendly display.",
"items":{
"$ref":"#/definitions/CommandAction"
},
"type":[
"array",
"null"
]
},
"cwd":{
"description":"The command's working directory.",
"type":[
"string",
"null"
]
},
"itemId":{
"type":"string"
},
"proposedExecpolicyAmendment":{
"description":"Optional proposed execpolicy amendment to allow similar commands without prompting.",
"items":{
"type":"string"
},
"type":[
"array",
"null"
]
},
"reason":{
"description":"Optional explanatory reason (e.g. request for network access).",
"type":[
"string",
"null"
]
},
"threadId":{
"type":"string"
},
"turnId":{
"type":"string"
}
},
"required":[
"itemId",
"threadId",
"turnId"
],
"type":"object"
},
"DynamicToolCallParams":{
"properties":{
"arguments":true,
"callId":{
"type":"string"
},
"threadId":{
"type":"string"
},
"tool":{
"type":"string"
},
"turnId":{
"type":"string"
}
},
"required":[
"arguments",
"callId",
"threadId",
"tool",
"turnId"
],
"type":"object"
},
"ExecCommandApprovalParams":{
"properties":{
"callId":{
"description":"Use to correlate this with [codex_core::protocol::ExecCommandBeginEvent] and [codex_core::protocol::ExecCommandEndEvent].",
"type":"string"
},
"command":{
"items":{
"type":"string"
},
"type":"array"
},
"conversationId":{
"$ref":"#/definitions/ThreadId"
},
"cwd":{
"type":"string"
},
"parsedCmd":{
"items":{
"$ref":"#/definitions/ParsedCommand"
},
"type":"array"
},
"reason":{
"type":[
"string",
"null"
]
}
},
"required":[
"callId",
"command",
"conversationId",
"cwd",
"parsedCmd"
],
"type":"object"
},
"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"
}
]
},
"FileChangeRequestApprovalParams":{
"properties":{
"grantRoot":{
"description":"[UNSTABLE] 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"
]
},
"itemId":{
"type":"string"
},
"reason":{
"description":"Optional explanatory reason (e.g. request for extra write access).",
"type":[
"string",
"null"
]
},
"threadId":{
"type":"string"
},
"turnId":{
"type":"string"
}
},
"required":[
"itemId",
"threadId",
"turnId"
],
"type":"object"
},
"ParsedCommand":{
"oneOf":[
{
"properties":{
"cmd":{
"type":"string"
},
"name":{
"type":"string"
},
"path":{
"description":"(Best effort) Path to the file being read by the command. When possible, this is an absolute path, though when relative, it should be resolved against the `cwd`` that will be used to run the command to derive the absolute path.",
"type":"string"
},
"type":{
"enum":[
"read"
],
"title":"ReadParsedCommandType",
"type":"string"
}
},
"required":[
"cmd",
"name",
"path",
"type"
],
"title":"ReadParsedCommand",
"type":"object"
},
{
"properties":{
"cmd":{
"type":"string"
},
"path":{
"type":[
"string",
"null"
]
},
"type":{
"enum":[
"list_files"
],
"title":"ListFilesParsedCommandType",
"type":"string"
}
},
"required":[
"cmd",
"type"
],
"title":"ListFilesParsedCommand",
"type":"object"
},
{
"properties":{
"cmd":{
"type":"string"
},
"path":{
"type":[
"string",
"null"
]
},
"query":{
"type":[
"string",
"null"
]
},
"type":{
"enum":[
"search"
],
"title":"SearchParsedCommandType",
"type":"string"
}
},
"required":[
"cmd",
"type"
],
"title":"SearchParsedCommand",
"type":"object"
},
{
"properties":{
"cmd":{
"type":"string"
},
"type":{
"enum":[
"unknown"
],
"title":"UnknownParsedCommandType",
"type":"string"
}
},
"required":[
"cmd",
"type"
],
"title":"UnknownParsedCommand",
"type":"object"
}
]
},
"RequestId":{
"anyOf":[
{
"type":"string"
},
{
"format":"int64",
"type":"integer"
}
]
},
"ThreadId":{
"type":"string"
},
"ToolRequestUserInputOption":{
"description":"EXPERIMENTAL. Defines a single selectable option for request_user_input.",
"properties":{
"description":{
"type":"string"
},
"label":{
"type":"string"
}
},
"required":[
"description",
"label"
],
"type":"object"
},
"ToolRequestUserInputParams":{
"description":"EXPERIMENTAL. Params sent with a request_user_input event.",
"description":"DEPRECATED APIs below Request to approve a patch. This request is used for Turns started via the legacy APIs (i.e. SendUserTurn, SendUserMessage).",
"properties":{
"id":{
"$ref":"#/definitions/RequestId"
},
"method":{
"enum":[
"applyPatchApproval"
],
"title":"ApplyPatchApprovalRequestMethod",
"type":"string"
},
"params":{
"$ref":"#/definitions/ApplyPatchApprovalParams"
}
},
"required":[
"id",
"method",
"params"
],
"title":"ApplyPatchApprovalRequest",
"type":"object"
},
{
"description":"Request to exec a command. This request is used for Turns started via the legacy APIs (i.e. SendUserTurn, SendUserMessage).",