feat: ActionRequired (#5897)

This commit is contained in:
Alex Hancock
2025-12-02 11:48:28 -05:00
committed by GitHub
parent bf188cd9e2
commit 131c7e7228
22 changed files with 428 additions and 224 deletions
+125 -56
View File
@@ -13,6 +13,40 @@
"version": "1.15.0"
},
"paths": {
"/action-required/tool-confirmation": {
"post": {
"tags": [
"super::routes::action_required"
],
"operationId": "confirm_tool_action",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConfirmToolActionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Tool confirmation action is confirmed",
"content": {
"application/json": {
"schema": {}
}
}
},
"401": {
"description": "Unauthorized - invalid secret key"
},
"500": {
"description": "Internal server error"
}
}
}
},
"/agent/add_extension": {
"post": {
"tags": [
@@ -954,40 +988,6 @@
}
}
},
"/confirm": {
"post": {
"tags": [
"super::routes::reply"
],
"operationId": "confirm_permission",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PermissionConfirmationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Permission action is confirmed",
"content": {
"application/json": {
"schema": {}
}
}
},
"401": {
"description": "Unauthorized - invalid secret key"
},
"500": {
"description": "Internal server error"
}
}
}
},
"/diagnostics/{session_id}": {
"get": {
"tags": [
@@ -2353,6 +2353,54 @@
},
"components": {
"schemas": {
"ActionRequired": {
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ActionRequiredData"
}
}
},
"ActionRequiredData": {
"oneOf": [
{
"type": "object",
"required": [
"id",
"toolName",
"arguments",
"actionType"
],
"properties": {
"actionType": {
"type": "string",
"enum": [
"toolConfirmation"
]
},
"arguments": {
"$ref": "#/components/schemas/JsonObject"
},
"id": {
"type": "string"
},
"prompt": {
"type": "string",
"nullable": true
},
"toolName": {
"type": "string"
}
}
}
],
"discriminator": {
"propertyName": "actionType"
}
},
"AddExtensionRequest": {
"type": "object",
"required": [
@@ -2516,6 +2564,28 @@
}
}
},
"ConfirmToolActionRequest": {
"type": "object",
"required": [
"id",
"action",
"sessionId"
],
"properties": {
"action": {
"type": "string"
},
"id": {
"type": "string"
},
"principalType": {
"$ref": "#/components/schemas/PrincipalType"
},
"sessionId": {
"type": "string"
}
}
},
"Content": {
"oneOf": [
{
@@ -3518,6 +3588,27 @@
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/ActionRequired"
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"actionRequired"
]
}
}
}
]
},
{
"allOf": [
{
@@ -3872,28 +3963,6 @@
}
}
},
"PermissionConfirmationRequest": {
"type": "object",
"required": [
"id",
"action",
"session_id"
],
"properties": {
"action": {
"type": "string"
},
"id": {
"type": "string"
},
"principal_type": {
"$ref": "#/components/schemas/PrincipalType"
},
"session_id": {
"type": "string"
}
}
},
"PermissionLevel": {
"type": "string",
"description": "Enum representing the possible permission levels for a tool.",