feat: deprecate roots/sampling/logging types (#923)

This commit is contained in:
Dale Seo 2026-06-25 21:11:59 -04:00 committed by GitHub
parent f07ee4ae1a
commit d1cabb458f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 130 additions and 6 deletions

View file

@ -1,3 +1,5 @@
// Sampling/Roots/Logging are SEP-2577-deprecated; internal references are expected.
#![expect(deprecated)]
pub mod progress; pub mod progress;
use std::sync::Arc; use std::sync::Arc;

View file

@ -1,3 +1,5 @@
// Sampling/Roots/Logging are SEP-2577-deprecated; internal references are expected.
#![expect(deprecated)]
use std::sync::Arc; use std::sync::Arc;
use crate::{ use crate::{

View file

@ -1,3 +1,6 @@
// Internal references to the SEP-2577-deprecated Roots/Sampling/Logging types
// defined in this module are expected; the deprecation is advisory for downstream users.
#![expect(deprecated)]
use std::{ use std::{
borrow::Cow, borrow::Cow,
ops::{Deref, DerefMut}, ops::{Deref, DerefMut},
@ -1488,6 +1491,10 @@ pub type ToolListChangedNotification = NotificationNoParam<ToolListChangedNotifi
#[serde(rename_all = "lowercase")] //match spec #[serde(rename_all = "lowercase")] //match spec
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[expect(clippy::exhaustive_enums, reason = "intentionally exhaustive")] #[expect(clippy::exhaustive_enums, reason = "intentionally exhaustive")]
#[deprecated(
since = "2.0.0",
note = "Logging is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub enum LoggingLevel { pub enum LoggingLevel {
Debug, Debug,
Info, Info,
@ -1505,6 +1512,10 @@ const_string!(SetLevelRequestMethod = "logging/setLevel");
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[non_exhaustive] #[non_exhaustive]
#[deprecated(
since = "2.0.0",
note = "Logging is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub struct SetLevelRequestParams { pub struct SetLevelRequestParams {
/// Protocol-level metadata for this request (SEP-1319) /// Protocol-level metadata for this request (SEP-1319)
#[serde(rename = "_meta", default, skip_serializing_if = "Option::is_none")] #[serde(rename = "_meta", default, skip_serializing_if = "Option::is_none")]
@ -1534,6 +1545,10 @@ impl RequestParamsMeta for SetLevelRequestParams {
pub type SetLevelRequestParam = SetLevelRequestParams; pub type SetLevelRequestParam = SetLevelRequestParams;
/// Request to set the logging level /// Request to set the logging level
#[deprecated(
since = "2.0.0",
note = "Logging is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub type SetLevelRequest = Request<SetLevelRequestMethod, SetLevelRequestParams>; pub type SetLevelRequest = Request<SetLevelRequestMethod, SetLevelRequestParams>;
const_string!(LoggingMessageNotificationMethod = "notifications/message"); const_string!(LoggingMessageNotificationMethod = "notifications/message");
@ -1542,6 +1557,10 @@ const_string!(LoggingMessageNotificationMethod = "notifications/message");
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[non_exhaustive] #[non_exhaustive]
#[deprecated(
since = "2.0.0",
note = "Logging is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub struct LoggingMessageNotificationParam { pub struct LoggingMessageNotificationParam {
/// The severity level of this log message /// The severity level of this log message
pub level: LoggingLevel, pub level: LoggingLevel,
@ -1573,6 +1592,10 @@ impl LoggingMessageNotificationParam {
} }
/// Notification containing a log message /// Notification containing a log message
#[deprecated(
since = "2.0.0",
note = "Logging is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub type LoggingMessageNotification = pub type LoggingMessageNotification =
Notification<LoggingMessageNotificationMethod, LoggingMessageNotificationParam>; Notification<LoggingMessageNotificationMethod, LoggingMessageNotificationParam>;
@ -1581,6 +1604,10 @@ pub type LoggingMessageNotification =
// ============================================================================= // =============================================================================
const_string!(CreateMessageRequestMethod = "sampling/createMessage"); const_string!(CreateMessageRequestMethod = "sampling/createMessage");
#[deprecated(
since = "2.0.0",
note = "Sampling is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub type CreateMessageRequest = Request<CreateMessageRequestMethod, CreateMessageRequestParams>; pub type CreateMessageRequest = Request<CreateMessageRequestMethod, CreateMessageRequestParams>;
/// Represents the role of a participant in a conversation or message exchange. /// Represents the role of a participant in a conversation or message exchange.
@ -1618,6 +1645,10 @@ pub enum ToolChoiceMode {
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[non_exhaustive] #[non_exhaustive]
#[deprecated(
since = "2.0.0",
note = "Sampling is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub struct ToolChoice { pub struct ToolChoice {
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
pub mode: Option<ToolChoiceMode>, pub mode: Option<ToolChoiceMode>,
@ -1750,6 +1781,10 @@ impl<T> From<Vec<T>> for SamplingContent<T> {
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[non_exhaustive] #[non_exhaustive]
#[deprecated(
since = "2.0.0",
note = "Sampling is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub struct SamplingMessage { pub struct SamplingMessage {
/// The role of the message sender (User or Assistant) /// The role of the message sender (User or Assistant)
pub role: Role, pub role: Role,
@ -1764,6 +1799,10 @@ pub struct SamplingMessage {
#[serde(tag = "type", rename_all = "snake_case")] #[serde(tag = "type", rename_all = "snake_case")]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[non_exhaustive] #[non_exhaustive]
#[deprecated(
since = "2.0.0",
note = "Sampling is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub enum SamplingMessageContentBlock { pub enum SamplingMessageContentBlock {
Text(TextContent), Text(TextContent),
Image(ImageContent), Image(ImageContent),
@ -1912,6 +1951,10 @@ pub enum ContextInclusion {
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[non_exhaustive] #[non_exhaustive]
#[deprecated(
since = "2.0.0",
note = "Sampling is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub struct CreateMessageRequestParams { pub struct CreateMessageRequestParams {
/// Protocol-level metadata for this request (SEP-1319) /// Protocol-level metadata for this request (SEP-1319)
#[serde(rename = "_meta", default, skip_serializing_if = "Option::is_none")] #[serde(rename = "_meta", default, skip_serializing_if = "Option::is_none")]
@ -2125,6 +2168,10 @@ pub type CreateMessageRequestParam = CreateMessageRequestParams;
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[non_exhaustive] #[non_exhaustive]
#[deprecated(
since = "2.0.0",
note = "Sampling is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub struct ModelPreferences { pub struct ModelPreferences {
/// Specific model names or families to prefer (e.g., "claude", "gpt") /// Specific model names or families to prefer (e.g., "claude", "gpt")
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
@ -2189,6 +2236,10 @@ impl Default for ModelPreferences {
#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq)] #[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq)]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[non_exhaustive] #[non_exhaustive]
#[deprecated(
since = "2.0.0",
note = "Sampling is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub struct ModelHint { pub struct ModelHint {
/// The suggested model name or family identifier /// The suggested model name or family identifier
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
@ -2522,6 +2573,10 @@ impl ArgumentInfo {
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[non_exhaustive] #[non_exhaustive]
#[deprecated(
since = "2.0.0",
note = "Roots is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub struct Root { pub struct Root {
pub uri: String, pub uri: String,
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
@ -2554,12 +2609,20 @@ impl Root {
} }
const_string!(ListRootsRequestMethod = "roots/list"); const_string!(ListRootsRequestMethod = "roots/list");
#[deprecated(
since = "2.0.0",
note = "Roots is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub type ListRootsRequest = RequestNoParam<ListRootsRequestMethod>; pub type ListRootsRequest = RequestNoParam<ListRootsRequestMethod>;
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Default)] #[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Default)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[non_exhaustive] #[non_exhaustive]
#[deprecated(
since = "2.0.0",
note = "Roots is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub struct ListRootsResult { pub struct ListRootsResult {
pub roots: Vec<Root>, pub roots: Vec<Root>,
#[serde(rename = "_meta", skip_serializing_if = "Option::is_none")] #[serde(rename = "_meta", skip_serializing_if = "Option::is_none")]
@ -3167,6 +3230,10 @@ pub type CallToolRequest = Request<CallToolRequestMethod, CallToolRequestParams>
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[non_exhaustive] #[non_exhaustive]
#[deprecated(
since = "2.0.0",
note = "Sampling is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub struct CreateMessageResult { pub struct CreateMessageResult {
/// The identifier of the model that generated the response /// The identifier of the model that generated the response
pub model: String, pub model: String,

View file

@ -7,6 +7,8 @@
//! [`SamplingMessageContentBlock`] extends the union with `tool_use` and `tool_result` //! [`SamplingMessageContentBlock`] extends the union with `tool_use` and `tool_result`
//! variants for sampling messages (SEP-1577). //! variants for sampling messages (SEP-1577).
// ToolUseContent/ToolResultContent are SEP-2577-deprecated; internal references are expected.
#![expect(deprecated)]
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use serde_json::json; use serde_json::json;
@ -178,6 +180,10 @@ impl EmbeddedResource {
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[non_exhaustive] #[non_exhaustive]
#[deprecated(
since = "2.0.0",
note = "Sampling is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub struct ToolUseContent { pub struct ToolUseContent {
pub id: String, pub id: String,
pub name: String, pub name: String,
@ -191,6 +197,10 @@ pub struct ToolUseContent {
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
#[non_exhaustive] #[non_exhaustive]
#[deprecated(
since = "2.0.0",
note = "Sampling is deprecated by SEP-2577 and will be removed in a future release. See https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2577"
)]
pub struct ToolResultContent { pub struct ToolResultContent {
#[serde(rename = "_meta", skip_serializing_if = "Option::is_none")] #[serde(rename = "_meta", skip_serializing_if = "Option::is_none")]
pub meta: Option<Meta>, pub meta: Option<Meta>,

View file

@ -1,3 +1,5 @@
// Sampling/Roots/Logging are SEP-2577-deprecated; internal references are expected.
#![expect(deprecated)]
use std::borrow::Cow; use std::borrow::Cow;
use thiserror::Error; use thiserror::Error;

View file

@ -1,3 +1,5 @@
// Sampling/Roots/Logging are SEP-2577-deprecated; internal references are expected.
#![expect(deprecated)]
use std::borrow::Cow; use std::borrow::Cow;
#[cfg(feature = "elicitation")] #[cfg(feature = "elicitation")]
use std::collections::HashSet; use std::collections::HashSet;

View file

@ -1,3 +1,5 @@
// Sampling/Roots/Logging are SEP-2577-deprecated; this test handler exercises them.
#![expect(deprecated)]
use std::{ use std::{
future::Future, future::Future,
sync::{Arc, Mutex}, sync::{Arc, Mutex},

View file

@ -1,5 +1,6 @@
//cargo test --test test_message_protocol --features "client server" //cargo test --test test_message_protocol --features "client server"
#![cfg(not(feature = "local"))] #![cfg(not(feature = "local"))]
#![expect(deprecated)] // exercises SEP-2577-deprecated Sampling/Roots/Logging types
mod common; mod common;
use common::handlers::{TestClientHandler, TestServer}; use common::handlers::{TestClientHandler, TestServer};

View file

@ -494,6 +494,7 @@
] ]
} }
}, },
"deprecated": true,
"required": [ "required": [
"model", "model",
"role", "role",
@ -1152,6 +1153,7 @@
} }
} }
}, },
"deprecated": true,
"required": [ "required": [
"roots" "roots"
] ]
@ -1169,6 +1171,7 @@
"LoggingLevel": { "LoggingLevel": {
"description": "Logging levels supported by the MCP protocol", "description": "Logging levels supported by the MCP protocol",
"type": "string", "type": "string",
"deprecated": true,
"enum": [ "enum": [
"debug", "debug",
"info", "info",
@ -1894,6 +1897,7 @@
"type": "string" "type": "string"
} }
}, },
"deprecated": true,
"required": [ "required": [
"uri" "uri"
] ]
@ -1953,6 +1957,7 @@
}, },
"SamplingMessageContentBlock": { "SamplingMessageContentBlock": {
"description": "Content types for sampling messages (SEP-1577).", "description": "Content types for sampling messages (SEP-1577).",
"deprecated": true,
"oneOf": [ "oneOf": [
{ {
"type": "object", "type": "object",
@ -2082,6 +2087,7 @@
] ]
} }
}, },
"deprecated": true,
"required": [ "required": [
"level" "level"
] ]
@ -2357,6 +2363,7 @@
"type": "string" "type": "string"
} }
}, },
"deprecated": true,
"required": [ "required": [
"toolUseId", "toolUseId",
"content" "content"
@ -2384,6 +2391,7 @@
"type": "string" "type": "string"
} }
}, },
"deprecated": true,
"required": [ "required": [
"id", "id",
"name", "name",

View file

@ -494,6 +494,7 @@
] ]
} }
}, },
"deprecated": true,
"required": [ "required": [
"model", "model",
"role", "role",
@ -1152,6 +1153,7 @@
} }
} }
}, },
"deprecated": true,
"required": [ "required": [
"roots" "roots"
] ]
@ -1169,6 +1171,7 @@
"LoggingLevel": { "LoggingLevel": {
"description": "Logging levels supported by the MCP protocol", "description": "Logging levels supported by the MCP protocol",
"type": "string", "type": "string",
"deprecated": true,
"enum": [ "enum": [
"debug", "debug",
"info", "info",
@ -1894,6 +1897,7 @@
"type": "string" "type": "string"
} }
}, },
"deprecated": true,
"required": [ "required": [
"uri" "uri"
] ]
@ -1953,6 +1957,7 @@
}, },
"SamplingMessageContentBlock": { "SamplingMessageContentBlock": {
"description": "Content types for sampling messages (SEP-1577).", "description": "Content types for sampling messages (SEP-1577).",
"deprecated": true,
"oneOf": [ "oneOf": [
{ {
"type": "object", "type": "object",
@ -2082,6 +2087,7 @@
] ]
} }
}, },
"deprecated": true,
"required": [ "required": [
"level" "level"
] ]
@ -2357,6 +2363,7 @@
"type": "string" "type": "string"
} }
}, },
"deprecated": true,
"required": [ "required": [
"toolUseId", "toolUseId",
"content" "content"
@ -2384,6 +2391,7 @@
"type": "string" "type": "string"
} }
}, },
"deprecated": true,
"required": [ "required": [
"id", "id",
"name", "name",

View file

@ -565,6 +565,7 @@
} }
} }
}, },
"deprecated": true,
"required": [ "required": [
"messages", "messages",
"maxTokens" "maxTokens"
@ -1577,6 +1578,7 @@
"LoggingLevel": { "LoggingLevel": {
"description": "Logging levels supported by the MCP protocol", "description": "Logging levels supported by the MCP protocol",
"type": "string", "type": "string",
"deprecated": true,
"enum": [ "enum": [
"debug", "debug",
"info", "info",
@ -1623,6 +1625,7 @@
] ]
} }
}, },
"deprecated": true,
"required": [ "required": [
"level", "level",
"data" "data"
@ -1639,7 +1642,8 @@
"null" "null"
] ]
} }
} },
"deprecated": true
}, },
"ModelPreferences": { "ModelPreferences": {
"description": "Preferences for model selection and behavior in sampling requests.\n\nThis allows servers to express their preferences for which model to use\nand how to balance different priorities when the client has multiple\nmodel options available.", "description": "Preferences for model selection and behavior in sampling requests.\n\nThis allows servers to express their preferences for which model to use\nand how to balance different priorities when the client has multiple\nmodel options available.",
@ -1679,7 +1683,8 @@
], ],
"format": "float" "format": "float"
} }
} },
"deprecated": true
}, },
"MultiSelectEnumSchema": { "MultiSelectEnumSchema": {
"description": "Multi-select enum options", "description": "Multi-select enum options",
@ -2494,6 +2499,7 @@
] ]
} }
}, },
"deprecated": true,
"required": [ "required": [
"role", "role",
"content" "content"
@ -2501,6 +2507,7 @@
}, },
"SamplingMessageContentBlock": { "SamplingMessageContentBlock": {
"description": "Content types for sampling messages (SEP-1577).", "description": "Content types for sampling messages (SEP-1577).",
"deprecated": true,
"oneOf": [ "oneOf": [
{ {
"type": "object", "type": "object",
@ -3379,7 +3386,8 @@
} }
] ]
} }
} },
"deprecated": true
}, },
"ToolChoiceMode": { "ToolChoiceMode": {
"description": "Tool selection mode (SEP-1577).", "description": "Tool selection mode (SEP-1577).",
@ -3457,6 +3465,7 @@
"type": "string" "type": "string"
} }
}, },
"deprecated": true,
"required": [ "required": [
"toolUseId", "toolUseId",
"content" "content"
@ -3484,6 +3493,7 @@
"type": "string" "type": "string"
} }
}, },
"deprecated": true,
"required": [ "required": [
"id", "id",
"name", "name",

View file

@ -565,6 +565,7 @@
} }
} }
}, },
"deprecated": true,
"required": [ "required": [
"messages", "messages",
"maxTokens" "maxTokens"
@ -1577,6 +1578,7 @@
"LoggingLevel": { "LoggingLevel": {
"description": "Logging levels supported by the MCP protocol", "description": "Logging levels supported by the MCP protocol",
"type": "string", "type": "string",
"deprecated": true,
"enum": [ "enum": [
"debug", "debug",
"info", "info",
@ -1623,6 +1625,7 @@
] ]
} }
}, },
"deprecated": true,
"required": [ "required": [
"level", "level",
"data" "data"
@ -1639,7 +1642,8 @@
"null" "null"
] ]
} }
} },
"deprecated": true
}, },
"ModelPreferences": { "ModelPreferences": {
"description": "Preferences for model selection and behavior in sampling requests.\n\nThis allows servers to express their preferences for which model to use\nand how to balance different priorities when the client has multiple\nmodel options available.", "description": "Preferences for model selection and behavior in sampling requests.\n\nThis allows servers to express their preferences for which model to use\nand how to balance different priorities when the client has multiple\nmodel options available.",
@ -1679,7 +1683,8 @@
], ],
"format": "float" "format": "float"
} }
} },
"deprecated": true
}, },
"MultiSelectEnumSchema": { "MultiSelectEnumSchema": {
"description": "Multi-select enum options", "description": "Multi-select enum options",
@ -2494,6 +2499,7 @@
] ]
} }
}, },
"deprecated": true,
"required": [ "required": [
"role", "role",
"content" "content"
@ -2501,6 +2507,7 @@
}, },
"SamplingMessageContentBlock": { "SamplingMessageContentBlock": {
"description": "Content types for sampling messages (SEP-1577).", "description": "Content types for sampling messages (SEP-1577).",
"deprecated": true,
"oneOf": [ "oneOf": [
{ {
"type": "object", "type": "object",
@ -3379,7 +3386,8 @@
} }
] ]
} }
} },
"deprecated": true
}, },
"ToolChoiceMode": { "ToolChoiceMode": {
"description": "Tool selection mode (SEP-1577).", "description": "Tool selection mode (SEP-1577).",
@ -3457,6 +3465,7 @@
"type": "string" "type": "string"
} }
}, },
"deprecated": true,
"required": [ "required": [
"toolUseId", "toolUseId",
"content" "content"
@ -3484,6 +3493,7 @@
"type": "string" "type": "string"
} }
}, },
"deprecated": true,
"required": [ "required": [
"id", "id",
"name", "name",