Version Packages#1899
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
f5bf66f to
025b8b0
Compare
025b8b0 to
2a2a55e
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 was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
agents@0.17.4
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.
MCPClientConnectionalso acceptselicitationHandlerscallbacks forlower-level non-Agent usage.
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.
MCPClientConnection.handleElicitationRequestdirectly is deprecated in favor of the
elicitationHandlersoption.#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: both form and url mode with a
handlers configured via
this.mcp.configureElicitationHandlers({ form, url })or the connection
elicitationHandlersoption, and no elicitation capabilitywithout handlers, letting servers fall back gracefully. Only modes with
configured handlers are advertised.
Behavior change: code relying on the deprecated pattern of instance-patching
handleElicitationRequeston a connection stops receiving elicitationrequests, because the capability is no longer advertised. Migrate to
this.mcp.configureElicitationHandlers({ form, url })/ the connectionelicitationHandlersoption, or declareclient.capabilities.elicitationexplicitly — an explicit declaration isalways honored.
#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.@cloudflare/codemode@0.4.3
Patch Changes
88f7f69Thanks @mattzcarey! - Echo the durable tool-call log on the proxy tool output.ProxyToolOutputnow carries an optionalcallsfield (the execution'sToolLogEntry[]) on completed, paused and error outcomes, so UIs can render an audit trail of every connector call and step — name, args, result, approval requirement and state — without a separateexecutions()round trip.@cloudflare/voice@0.3.4
Patch Changes
#1909
63491bdThanks @cjol! - Honor the configured sample rate for rawpcm16audio payloads.Adds a
sampleRateoption toVoiceAgentOptions(default16000) that is declared in the serveraudio_configmessage.VoiceClientreads it (exposed via a newsampleRategetter) and constructsAudioBufferinstances at that rate for rawpcm16playback, so providers with a native rate other than 16 kHz (e.g. 24 kHz Gemini TTS) play at the correct speed. Falls back to 16 kHz when the server omits the field.#1891
d1cc317Thanks @korinne! - Add transcriber readiness so voice agents wait for streaming STT startup before entering listening state or running call-start hooks.@cloudflare/agent-think@0.0.1
Patch Changes
a9d78c0,3ba6a78,9e1b733,f274903]: