|
2133 | 2133 | "ElicitationFormMode": { |
2134 | 2134 | "anyOf": [ |
2135 | 2135 | { |
2136 | | - "description": "Tied to a session, optionally to a specific tool call within that session.\n\nWhen `tool_call_id` is set, the elicitation is tied to a specific tool call.\nThis is useful when an agent receives an elicitation from an MCP server\nduring a tool call and needs to redirect it to the user.", |
2137 | | - "properties": { |
2138 | | - "sessionId": { |
2139 | | - "allOf": [ |
2140 | | - { |
2141 | | - "$ref": "#/$defs/SessionId" |
2142 | | - } |
2143 | | - ], |
2144 | | - "description": "The session this elicitation is tied to." |
2145 | | - }, |
2146 | | - "toolCallId": { |
2147 | | - "anyOf": [ |
2148 | | - { |
2149 | | - "$ref": "#/$defs/ToolCallId" |
2150 | | - }, |
2151 | | - { |
2152 | | - "type": "null" |
2153 | | - } |
2154 | | - ], |
2155 | | - "description": "Optional tool call within the session." |
| 2136 | + "allOf": [ |
| 2137 | + { |
| 2138 | + "$ref": "#/$defs/ElicitationSessionScope" |
2156 | 2139 | } |
2157 | | - }, |
2158 | | - "required": ["sessionId"], |
2159 | | - "title": "Session", |
2160 | | - "type": "object" |
| 2140 | + ], |
| 2141 | + "description": "Tied to a session, optionally to a specific tool call within that session.", |
| 2142 | + "title": "Session" |
2161 | 2143 | }, |
2162 | 2144 | { |
2163 | | - "description": "Tied to a specific JSON-RPC request outside of a session\n(e.g., during auth/configuration phases before any session is started).", |
2164 | | - "properties": { |
2165 | | - "requestId": { |
2166 | | - "allOf": [ |
2167 | | - { |
2168 | | - "$ref": "#/$defs/RequestId" |
2169 | | - } |
2170 | | - ], |
2171 | | - "description": "The request this elicitation is tied to." |
| 2145 | + "allOf": [ |
| 2146 | + { |
| 2147 | + "$ref": "#/$defs/ElicitationRequestScope" |
2172 | 2148 | } |
2173 | | - }, |
2174 | | - "required": ["requestId"], |
2175 | | - "title": "Request", |
2176 | | - "type": "object" |
| 2149 | + ], |
| 2150 | + "description": "Tied to a specific JSON-RPC request outside of a session\n(e.g., during auth/configuration phases before any session is started).", |
| 2151 | + "title": "Request" |
2177 | 2152 | } |
2178 | 2153 | ], |
2179 | 2154 | "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nForm-based elicitation mode where the client renders a form from the provided schema.", |
|
2282 | 2257 | } |
2283 | 2258 | ] |
2284 | 2259 | }, |
| 2260 | + "ElicitationRequestScope": { |
| 2261 | + "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nRequest-scoped elicitation, tied to a specific JSON-RPC request outside of a session\n(e.g., during auth/configuration phases before any session is started).", |
| 2262 | + "properties": { |
| 2263 | + "requestId": { |
| 2264 | + "allOf": [ |
| 2265 | + { |
| 2266 | + "$ref": "#/$defs/RequestId" |
| 2267 | + } |
| 2268 | + ], |
| 2269 | + "description": "The request this elicitation is tied to." |
| 2270 | + } |
| 2271 | + }, |
| 2272 | + "required": ["requestId"], |
| 2273 | + "type": "object" |
| 2274 | + }, |
2285 | 2275 | "ElicitationSchema": { |
2286 | 2276 | "description": "Type-safe elicitation schema for requesting structured user input.\n\nThis represents a JSON Schema object with primitive-typed properties,\nas required by the elicitation specification.", |
2287 | 2277 | "properties": { |
|
2330 | 2320 | } |
2331 | 2321 | ] |
2332 | 2322 | }, |
| 2323 | + "ElicitationSessionScope": { |
| 2324 | + "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nSession-scoped elicitation, optionally tied to a specific tool call.\n\nWhen `tool_call_id` is set, the elicitation is tied to a specific tool call.\nThis is useful when an agent receives an elicitation from an MCP server\nduring a tool call and needs to redirect it to the user.", |
| 2325 | + "properties": { |
| 2326 | + "sessionId": { |
| 2327 | + "allOf": [ |
| 2328 | + { |
| 2329 | + "$ref": "#/$defs/SessionId" |
| 2330 | + } |
| 2331 | + ], |
| 2332 | + "description": "The session this elicitation is tied to." |
| 2333 | + }, |
| 2334 | + "toolCallId": { |
| 2335 | + "anyOf": [ |
| 2336 | + { |
| 2337 | + "$ref": "#/$defs/ToolCallId" |
| 2338 | + }, |
| 2339 | + { |
| 2340 | + "type": "null" |
| 2341 | + } |
| 2342 | + ], |
| 2343 | + "description": "Optional tool call within the session." |
| 2344 | + } |
| 2345 | + }, |
| 2346 | + "required": ["sessionId"], |
| 2347 | + "type": "object" |
| 2348 | + }, |
2333 | 2349 | "ElicitationStringType": { |
2334 | 2350 | "description": "Items definition for untitled multi-select enum properties.", |
2335 | 2351 | "oneOf": [ |
|
2354 | 2370 | "ElicitationUrlMode": { |
2355 | 2371 | "anyOf": [ |
2356 | 2372 | { |
2357 | | - "description": "Tied to a session, optionally to a specific tool call within that session.\n\nWhen `tool_call_id` is set, the elicitation is tied to a specific tool call.\nThis is useful when an agent receives an elicitation from an MCP server\nduring a tool call and needs to redirect it to the user.", |
2358 | | - "properties": { |
2359 | | - "sessionId": { |
2360 | | - "allOf": [ |
2361 | | - { |
2362 | | - "$ref": "#/$defs/SessionId" |
2363 | | - } |
2364 | | - ], |
2365 | | - "description": "The session this elicitation is tied to." |
2366 | | - }, |
2367 | | - "toolCallId": { |
2368 | | - "anyOf": [ |
2369 | | - { |
2370 | | - "$ref": "#/$defs/ToolCallId" |
2371 | | - }, |
2372 | | - { |
2373 | | - "type": "null" |
2374 | | - } |
2375 | | - ], |
2376 | | - "description": "Optional tool call within the session." |
| 2373 | + "allOf": [ |
| 2374 | + { |
| 2375 | + "$ref": "#/$defs/ElicitationSessionScope" |
2377 | 2376 | } |
2378 | | - }, |
2379 | | - "required": ["sessionId"], |
2380 | | - "title": "Session", |
2381 | | - "type": "object" |
| 2377 | + ], |
| 2378 | + "description": "Tied to a session, optionally to a specific tool call within that session.", |
| 2379 | + "title": "Session" |
2382 | 2380 | }, |
2383 | 2381 | { |
2384 | | - "description": "Tied to a specific JSON-RPC request outside of a session\n(e.g., during auth/configuration phases before any session is started).", |
2385 | | - "properties": { |
2386 | | - "requestId": { |
2387 | | - "allOf": [ |
2388 | | - { |
2389 | | - "$ref": "#/$defs/RequestId" |
2390 | | - } |
2391 | | - ], |
2392 | | - "description": "The request this elicitation is tied to." |
| 2382 | + "allOf": [ |
| 2383 | + { |
| 2384 | + "$ref": "#/$defs/ElicitationRequestScope" |
2393 | 2385 | } |
2394 | | - }, |
2395 | | - "required": ["requestId"], |
2396 | | - "title": "Request", |
2397 | | - "type": "object" |
| 2386 | + ], |
| 2387 | + "description": "Tied to a specific JSON-RPC request outside of a session\n(e.g., during auth/configuration phases before any session is started).", |
| 2388 | + "title": "Request" |
2398 | 2389 | } |
2399 | 2390 | ], |
2400 | 2391 | "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nURL-based elicitation mode where the client directs the user to a URL.", |
|
0 commit comments