chore(deps): update dependency agents to v0.17.4 - #215
Merged
Conversation
nemolize
approved these changes
Jul 25, 2026
renovate
Bot
force-pushed
the
renovate/agents-0.x-lockfile
branch
from
July 25, 2026 14:08
ea2cb38 to
14a1d6a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.17.3→0.17.4Release Notes
cloudflare/agents (agents)
v0.17.4Compare Source
Patch Changes
#1902
a9d78c0Thanks @mattzcarey! - Always apply the Worker-safeCfWorkerJsonSchemaValidatorto MCP client connections by default.MCPClientConnectionnow owns the default (merged in its constructor), so every construction path uses the Worker-safe validator unless the caller supplies their own — including the RPCaddMcpServer(name, namespace)path viaMCPClientManager.connect(), which previously skipped it. Without the default, the MCP SDK fell back to its AJV validator when a server exposed tools withoutputSchema; AJV compiles schemas withnew Function, which Workers disallows, failing discovery with "Code generation from strings disallowed for this context".connect()now builds connections throughcreateConnection()instead of duplicating construction, so the two paths can no longer drift. Caller-suppliedclient.jsonSchemaValidatoroverrides are respected on the live connection; because validator instances cannot survive JSON serialization, they are no longer persisted, and a previously persisted, serialization-degraded validator is ignored on restore — after hibernation the connection falls back to the Worker-safe default instead of failing discovery.#1903
3ba6a78Thanks @mattzcarey! - MCP client: url-mode elicitation support with a real elicitation handlerelicitation/createrequests bycalling
this.mcp.configureElicitationHandlers({ form, url }), typically inonStart(). The advertised modes are persisted with each MCP server, soconnections restored after Durable Object hibernation re-advertise them at
the handshake and the handlers re-attach when onStart runs.
handled: they advertise exactly the modes with configured handlers at the
initialize handshake; without handlers they advertise no elicitation
capability. An explicit
client.capabilities.elicitation(e.g. viaaddMcpServer) always wins,is persisted with the server options, and survives hibernation — it is no
longer clobbered by a hardcoded value.
#1925
762998dThanks @mattzcarey! - MCP client: consume the persisted capability seed at first use instead of at restore-time readThe capability stamp persisted on each MCP server row (used to re-advertise elicitation modes at the handshake after Durable Object hibernation) was read-and-cleared when the connection object was created, before any connection attempt. Wakes that never reached a handshake burned it: a restore that parked on a pending OAuth flow, or a wake interrupted between restore and
onStartre-stamping the rows, left the next wake's connections negotiating without the elicitation capability until some later reconnect.The stamp is now read without clearing and only cleared once a seeded handshake actually completes in a session that has not configured handlers, preserving the one-successful-restore semantics: after the seed is used in a completed handshake it no longer re-advertises stale modes, and any
configureElicitationHandlerscall still re-stamps every row. Sessions with handlers configured own their row stamps, so a handshake there (e.g. re-adding a server under a stable id) keeps the fresh stamp in place for the next wake.#1910
9e1b733Thanks @mattzcarey! - MCP client: advertise no elicitation capability when no handler is configuredConnections without an elicitation handler previously advertised form-mode
elicitation while rejecting every elicitation request that arrived, so
spec-compliant servers chose elicitation over their fallback flows and the
tool call failed mid-flight. Connections now advertise the elicitation
capability only when it can be handled: form mode, URL mode, or both, based on
handlers configured via
this.mcp.configureElicitationHandlers({ form, url }).Connections without handlers advertise no elicitation capability, letting
servers fall back gracefully.
An explicit
client.capabilities.elicitationdeclaration remains authoritative.Only advertise modes your Agent can handle.
#1869
f274903Thanks @mattzcarey! - FixaddMcpServer()reportingreadyfor an HTTP MCP connection that was restored while OAuth is still in progress.For an existing
AUTHENTICATINGconnection,addMcpServer()now prefers the live authorization URL, otherwise returns a persisted absolute HTTP(S) authorization URL. If neither is available, it reconnects the existing connection without re-registering it: a new authorization URL is returned and persisted, a connected result is discovered before returningready, and failed or incomplete OAuth results throw instead of falling through toready.Configuration
📅 Schedule: (in timezone Asia/Tokyo)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.