mirror of
https://github.com/openai/codex.git
synced 2026-04-30 19:32:04 +03:00
[elicitations] Switch to use MCP style elicitation payload for mcp tool approvals. (#13621)
- [x] Switch to use MCP style elicitation payload for mcp tool approvals. - [ ] TODO: Update the UI to support the full spec.
This commit is contained in:
@@ -196,10 +196,16 @@ impl ExecApprovalRequestEvent {
|
||||
#[ts(tag = "mode")]
|
||||
pub enum ElicitationRequest {
|
||||
Form {
|
||||
#[serde(rename = "_meta", default, skip_serializing_if = "Option::is_none")]
|
||||
#[ts(optional, rename = "_meta")]
|
||||
meta: Option<JsonValue>,
|
||||
message: String,
|
||||
requested_schema: JsonValue,
|
||||
},
|
||||
Url {
|
||||
#[serde(rename = "_meta", default, skip_serializing_if = "Option::is_none")]
|
||||
#[ts(optional, rename = "_meta")]
|
||||
meta: Option<JsonValue>,
|
||||
message: String,
|
||||
url: String,
|
||||
elicitation_id: String,
|
||||
@@ -216,6 +222,10 @@ impl ElicitationRequest {
|
||||
|
||||
#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, JsonSchema, TS)]
|
||||
pub struct ElicitationRequestEvent {
|
||||
/// Turn ID that this elicitation belongs to, when known.
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
#[ts(optional)]
|
||||
pub turn_id: Option<String>,
|
||||
pub server_name: String,
|
||||
#[ts(type = "string | number")]
|
||||
pub id: RequestId,
|
||||
|
||||
@@ -334,6 +334,9 @@ pub enum Op {
|
||||
/// Structured user input supplied for accepted elicitations.
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
content: Option<Value>,
|
||||
/// Optional client metadata associated with the elicitation response.
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
meta: Option<Value>,
|
||||
},
|
||||
|
||||
/// Resolve a request_user_input tool call.
|
||||
|
||||
Reference in New Issue
Block a user