Skip to content

Commit a3cfa89

Browse files
committed
auto: snapshot
1 parent c737b72 commit a3cfa89

12 files changed

Lines changed: 230 additions & 269 deletions

File tree

Cargo.lock

Lines changed: 148 additions & 143 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ cel = { path = "crates/cel-fork/cel" }
4747
cel-derive = { path = "crates/cel-fork/cel-derive" }
4848
atomic_float = { version = "1.1.0", features = ["serde"] }
4949
anyhow = "1.0"
50-
arc-swap = "1.7.1"
50+
arc-swap = "1.8.2"
5151
arcstr = { version = "1.2", features = ["serde"] }
5252
assert_matches = "1.5.0"
5353
async-openai = { version = "0.33.0", default-features = false, features = ["chat-completion-types", "moderation-types", "response-types", "realtime-types"] }
@@ -58,18 +58,18 @@ aws-credential-types = "1.2"
5858
aws-sigv4 = "1.3"
5959
aws-smithy-eventstream = "0.60"
6060
aws-smithy-types = "1.3"
61-
aws-lc-rs = "1.15"
61+
aws-lc-rs = "1.16"
6262
axum = { version = "0.8", features = ["macros"] }
6363
axum-core = "0.5"
6464
axum-extra = { version = "0.12", features = ["json-lines", "typed-header"] }
6565
# Disable default features to avoid pulling in native-tls and requiring openssl
6666
# TODO: allow default features if we ever add an openssl feature
67-
azure_identity = { version = "0.31", default-features = false }
68-
azure_core = { version = "0.31", default-features = false }
69-
typespec_client_core = { default-features = false, version = "0.10" }
67+
azure_identity = { version = "0.32", default-features = false }
68+
azure_core = { version = "0.32", default-features = false }
69+
typespec_client_core = { default-features = false, version = "0.11" }
7070
base64 = "0.22"
71-
bcrypt = "0.18"
72-
bytes = { version = "1.10", features = ["serde"] }
71+
bcrypt = "0.19"
72+
bytes = { version = "1.11", features = ["serde"] }
7373
chrono = { version = "0.4", features = ["serde"] }
7474
clap = { version = "4.5", features = ["derive"] }
7575
clocksource = "0.8"
@@ -78,7 +78,7 @@ divan = "0.1"
7878
durationfmt = "0.1"
7979
go-parse-duration = "0.1"
8080
flurry = "0.5.2"
81-
fs-err = { version = "3.1", features = ["tokio"] }
81+
fs-err = { version = "3.3", features = ["tokio"] }
8282
futures = "0.3"
8383
futures-channel = "0.3"
8484
futures-core = "0.3"
@@ -96,22 +96,22 @@ hex = "0.4"
9696
hickory-resolver = { version = "0.25", features = ["serde"] }
9797
htpasswd-verify-fork = { path = "crates/htpasswd-verify-fork" }
9898
httpdate = "1.0"
99-
http = "1.3"
99+
http = "1.4"
100100
http-body = "1"
101101
http-body-util = "0.1.3"
102-
hyper = { version = "1.6", features = ["full"] }
102+
hyper = { version = "1.8", features = ["full"] }
103103
hyper-rustls = "0.27"
104104
hyper-util = { version = "0.1", features = ["full"] }
105105
hyper-util-fork = { path = "crates/hyper-util-fork" }
106106
include_dir = "0.7"
107-
indexmap = { version = "2.9", features = ["serde"] }
108-
insta = { version = "1.38", features = ["json", "redactions", "filters", "yaml"] }
109-
ipnet = { version = "2.11", features = ["serde"] }
107+
indexmap = { version = "2.13", features = ["serde"] }
108+
insta = { version = "1.46", features = ["json", "redactions", "filters", "yaml"] }
109+
ipnet = { version = "2.12", features = ["serde"] }
110110
itertools = "0.14"
111111
jsonwebtoken = { version = "10.3", features = ["aws_lc_rs"] }
112-
lazy_static = "1.4"
112+
lazy_static = "1.5"
113113
libc = "0.2"
114-
notify = "8.0"
114+
notify = "8.2"
115115
notify-debouncer-full = "0.7"
116116
md-5 = "0.10"
117117
num_cpus = "1.17"
@@ -126,7 +126,7 @@ parking_lot = "0.12"
126126
percent-encoding = "2.3"
127127
phonenumber = "0.3"
128128
pin-project-lite = "0.2"
129-
pingora-pool = "0.7"
129+
pingora-pool = "0.8"
130130
ppp = "2.3"
131131
pprof = { version = "0.15", features = [
132132
"protobuf",
@@ -138,12 +138,12 @@ prometheus-client = "0.24"
138138
prost = "0.14"
139139
prost-build = "0.14"
140140
prost-types = "0.14"
141-
prost-wkt-types = { version = "0.7.0", features = ["vendored-protox"] }
142-
prost-wkt-build = "0.7.0"
141+
prost-wkt-types = { version = "0.7.1", features = ["vendored-protox"] }
142+
prost-wkt-build = "0.7.1"
143143
pwhash = "1"
144144
rand = "0.10"
145145
rcgen = { version = "0.14", features = ["pem", "x509-parser"] }
146-
regex = "1.11"
146+
regex = "1.12"
147147
reqwest = { version = "0.13", default-features = false, features = [
148148
"http2",
149149
"charset",
@@ -154,7 +154,7 @@ rustc_version = "0.4"
154154
rustls = { version = "0.23", features = ["tls12", "ring"] }
155155
rustls-native-certs = "0.8"
156156
rustls-pemfile = "2.2"
157-
rustls-pki-types = "1.12"
157+
rustls-pki-types = "1.14"
158158
schemars = { version = "=1.0.4", git = "https://github.com/howardjohn/schemars", rev = "4364354fa41897a0c2001d891c0a9a38eafedb82", features = [
159159
#schemars = { version = "1.0", features = [
160160
"bytes1",
@@ -176,10 +176,10 @@ socket2 = "0.6"
176176
split-iter = "0.1"
177177
sse-stream = "0.2"
178178
stacker = "0.1"
179-
tempfile = "3.20"
179+
tempfile = "3.26"
180180
thiserror = "2.0"
181181
tiktoken-rs = "0.9"
182-
tokio = { version = "1.48", features = ["full", "macros", "sync"] }
182+
tokio = { version = "1.50", features = ["full", "macros", "sync"] }
183183
tokio-rustls = { version = "0.26", default-features = false }
184184
tokio-stream = { version = "0.1", features = ["net", "sync"] }
185185
tokio-test = "0.4"
@@ -203,7 +203,7 @@ tracing-subscriber = { version = "0.3", features = [
203203
"json",
204204
] }
205205
url = "2.5"
206-
uuid = { version = "1.11", features = ["v4"] }
206+
uuid = { version = "1.21", features = ["v4"] }
207207
wiremock = { version = "0.6", features = ["tls"] }
208208
x509-parser = { version = "0.18", default-features = false, features = ["verify-aws"] }
209209
which = "8.0"
@@ -214,28 +214,28 @@ crossbeam-channel = "0.5"
214214
http-serde = "2.1"
215215
itoa = "1.0"
216216
serde_urlencoded = "0.7"
217-
serde_with = { version = "3.14", features = [
217+
serde_with = { version = "3.17", features = [
218218
"schemars_1",
219219
"macros",
220220
"alloc",
221221
], default-features = false }
222-
value-bag = { version = "1.11", features = ["serde", "value-bag-serde1"] }
222+
value-bag = { version = "1.12", features = ["serde", "value-bag-serde1"] }
223223
time = "0.3"
224224
tikv-jemallocator = { version = "0.6", features = [
225225
"profiling",
226226
"unprefixed_malloc_on_supported_platforms",
227227
] }
228228
jemalloc_pprof = { version = "0.8", features = ["symbolize"] }
229229
protox = "0.9"
230-
async-compression = { version = "0.4.27", features = [
230+
async-compression = { version = "0.4.41", features = [
231231
"brotli",
232232
"zlib",
233233
"gzip",
234234
"zstd",
235235
"tokio",
236236
] }
237237
core_affinity = "0.8.3"
238-
frozen-collections = "0.8.0"
238+
frozen-collections = "0.4.0"
239239
heck = "0.5"
240240
macro_rules_attribute = "0.2.2"
241241

crates/agentgateway/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ rand.workspace = true
9898
rcgen.workspace = true
9999
regex.workspace = true
100100

101-
rmcp = { version = "0.16", features = [
101+
rmcp = { version = "1.0", features = [
102102
"client",
103103
"server",
104104
"base64",
@@ -177,7 +177,7 @@ rstest.workspace = true
177177
tempfile.workspace = true
178178
tokio = { workspace = true, features = ["test-util"] }
179179
which.workspace = true
180-
rmcp = { version = "0.16", features = [
180+
rmcp = { version = "1.0", features = [
181181
"client",
182182
"server",
183183
"base64",

crates/agentgateway/src/client/azure.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use azure_core::error::ResultExt;
77
use futures_util::TryStreamExt;
88
use http_body_util::BodyExt;
99
use tracing::{debug, error, warn};
10-
use typespec_client_core::http::{AsyncRawResponse, Sanitizer};
10+
use azure_core::http::{AsyncRawResponse, Sanitizer};
1111

1212
use crate::client::{ApplicationTransport, Call, Client};
1313
use crate::types::agent::Target;
@@ -47,7 +47,7 @@ impl azure_core::http::HttpClient for Client {
4747

4848
debug!(
4949
"performing request {method} '{}' with `agentgateway::client::Client`",
50-
url.sanitize(&typespec_client_core::http::DEFAULT_ALLOWED_QUERY_PARAMETERS)
50+
url.sanitize(&azure_core::http::DEFAULT_ALLOWED_QUERY_PARAMETERS)
5151
);
5252
let rsp = self
5353
.call(Call {

crates/agentgateway/src/mcp/handler.rs

Lines changed: 19 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -134,13 +134,13 @@ impl Relay {
134134
)
135135
})
136136
// Rename to handle multiplexing
137-
.map(|t| Tool {
138-
name: Cow::Owned(resource_name(
137+
.map(|mut t| {
138+
t.name = Cow::Owned(resource_name(
139139
default_target_name.as_ref(),
140140
server_name.as_str(),
141141
&t.name,
142-
)),
143-
..t
142+
));
143+
t
144144
})
145145
.collect_vec()
146146
})
@@ -202,9 +202,10 @@ impl Relay {
202202
&cel,
203203
)
204204
})
205-
.map(|p| Prompt {
206-
name: resource_name(default_target_name.as_ref(), server_name.as_str(), &p.name),
207-
..p
205+
.map(|mut p| {
206+
p.name =
207+
resource_name(default_target_name.as_ref(), server_name.as_str(), &p.name);
208+
p
208209
})
209210
.collect_vec()
210211
})
@@ -377,38 +378,22 @@ impl Relay {
377378
}
378379
fn get_info(pv: ProtocolVersion, multiplexing: bool) -> ServerInfo {
379380
let capabilities = if multiplexing {
380-
ServerCapabilities {
381-
completions: None,
382-
experimental: None,
383-
logging: None,
384-
tasks: None,
385-
extensions: None,
386-
tools: Some(ToolsCapability::default()),
387-
// These are not supported when multiplexing.
388-
prompts: None,
389-
resources: None,
390-
}
381+
// These are not supported when multiplexing.
382+
ServerCapabilities::builder().enable_tools().build()
391383
} else {
392-
ServerCapabilities {
393-
completions: None,
394-
experimental: None,
395-
logging: None,
396-
tasks: None,
397-
extensions: None,
398-
tools: Some(ToolsCapability::default()),
399-
prompts: Some(PromptsCapability::default()),
400-
resources: Some(ResourcesCapability::default()),
401-
}
384+
ServerCapabilities::builder()
385+
.enable_tools()
386+
.enable_prompts()
387+
.enable_resources()
388+
.build()
402389
};
403390
let instructions = Some(
404391
"This server is a gateway to a set of mcp servers. It is responsible for routing requests to the correct server and aggregating the results.".to_string(),
405392
);
406-
ServerInfo {
407-
protocol_version: pv,
408-
capabilities,
409-
server_info: Implementation::from_build_env(),
410-
instructions,
411-
}
393+
ServerInfo::new(capabilities)
394+
.with_protocol_version(pv)
395+
.with_server_info(Implementation::from_build_env())
396+
.with_instructions(instructions.unwrap_or_default())
412397
}
413398
}
414399

crates/agentgateway/src/mcp/session.rs

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,7 @@ impl Session {
6565
let is_init = matches!(&message, ClientJsonRpcMessage::Request(r) if matches!(&r.request, &ClientRequest::InitializeRequest(_)));
6666
if !is_init {
6767
// first, send the initialize
68-
let init_request = rmcp::model::InitializeRequest {
69-
method: Default::default(),
70-
params: get_client_info(),
71-
extensions: Default::default(),
72-
};
68+
let init_request = rmcp::model::InitializeRequest::new(get_client_info());
7369
let _ = self
7470
.send(
7571
parts.clone(),
@@ -645,21 +641,9 @@ impl sse_stream::Timer for TokioSseTimer {
645641
}
646642

647643
fn get_client_info() -> ClientInfo {
648-
ClientInfo {
649-
meta: None,
650-
protocol_version: ProtocolVersion::V_2025_06_18,
651-
capabilities: rmcp::model::ClientCapabilities {
652-
experimental: None,
653-
roots: None,
654-
sampling: None,
655-
elicitation: None,
656-
tasks: None,
657-
extensions: None,
658-
},
659-
client_info: Implementation {
660-
name: "agentgateway".to_string(),
661-
version: BuildInfo::new().version.to_string(),
662-
..Default::default()
663-
},
664-
}
644+
let mut client_info = ClientInfo::default();
645+
client_info.protocol_version = ProtocolVersion::V_2025_06_18;
646+
client_info.capabilities = rmcp::model::ClientCapabilities::default();
647+
client_info.client_info = Implementation::new("agentgateway", BuildInfo::new().version.to_string());
648+
client_info
665649
}

0 commit comments

Comments
 (0)