mirror of
https://github.com/openai/codex.git
synced 2026-04-25 15:15:15 +00:00
Expose top-level permission suggestions in PermissionRequest hook inputs and build them from source approval context so deferred unified-exec network retries carry the same suggestion data as immediate approval paths. Co-authored-by: Codex <noreply@openai.com>
158 lines
3.2 KiB
JSON
158 lines
3.2 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"NullableString": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"PermissionRequestToolInput": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"command": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"command"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PermissionSuggestion": {
|
|
"properties": {
|
|
"behavior": {
|
|
"$ref": "#/definitions/PermissionSuggestionBehavior"
|
|
},
|
|
"destination": {
|
|
"$ref": "#/definitions/PermissionSuggestionDestination"
|
|
},
|
|
"rules": {
|
|
"items": {
|
|
"$ref": "#/definitions/PermissionSuggestionRule"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"type": {
|
|
"$ref": "#/definitions/PermissionSuggestionType"
|
|
}
|
|
},
|
|
"required": [
|
|
"behavior",
|
|
"destination",
|
|
"rules",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PermissionSuggestionBehavior": {
|
|
"enum": [
|
|
"allow",
|
|
"deny",
|
|
"ask"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"PermissionSuggestionDestination": {
|
|
"enum": [
|
|
"session",
|
|
"projectSettings",
|
|
"userSettings"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"PermissionSuggestionRule": {
|
|
"oneOf": [
|
|
{
|
|
"properties": {
|
|
"command": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"prefixRule"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"command",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
}
|
|
]
|
|
},
|
|
"PermissionSuggestionType": {
|
|
"enum": [
|
|
"addRules"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"properties": {
|
|
"cwd": {
|
|
"type": "string"
|
|
},
|
|
"hook_event_name": {
|
|
"const": "PermissionRequest",
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "string"
|
|
},
|
|
"permission_mode": {
|
|
"enum": [
|
|
"default",
|
|
"acceptEdits",
|
|
"plan",
|
|
"dontAsk",
|
|
"bypassPermissions"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"permission_suggestions": {
|
|
"items": {
|
|
"$ref": "#/definitions/PermissionSuggestion"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"session_id": {
|
|
"type": "string"
|
|
},
|
|
"tool_input": {
|
|
"$ref": "#/definitions/PermissionRequestToolInput"
|
|
},
|
|
"tool_name": {
|
|
"const": "Bash",
|
|
"type": "string"
|
|
},
|
|
"transcript_path": {
|
|
"$ref": "#/definitions/NullableString"
|
|
},
|
|
"turn_id": {
|
|
"description": "Codex extension: expose the active turn id to internal turn-scoped hooks.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"cwd",
|
|
"hook_event_name",
|
|
"model",
|
|
"permission_mode",
|
|
"session_id",
|
|
"tool_input",
|
|
"tool_name",
|
|
"transcript_path",
|
|
"turn_id"
|
|
],
|
|
"title": "permission-request.command.input",
|
|
"type": "object"
|
|
} |