Version Packages#1460
Merged
Merged
Conversation
0d99b8c to
3f75a4d
Compare
3b3aa3b to
ec9b62f
Compare
ec9b62f to
4bedadf
Compare
Update peerDependency for "agents" from ">=0.12.1 <1.0.0" to ">=0.12.4 <1.0.0" in packages/ai-chat and packages/think package.json files to require the newer agents release for compatibility/fixes.
agents
@cloudflare/ai-chat
@cloudflare/codemode
hono-agents
@cloudflare/shell
@cloudflare/think
@cloudflare/voice
@cloudflare/worker-bundler
commit: |
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
@cloudflare/ai-chat@0.7.0
Minor Changes
364a45dThanks @whoiskatrin! - AddcancelOnClientAborttouseAgentChat. Generic browser/client stream cleanup is now local-only by default so server turns can continue and resume; explicitstop()still cancels the server turn. SetcancelOnClientAbort: trueto make generic client aborts cancel the server turn.Patch Changes
#1376
6561a3fThanks @hrushikeshdeshpande! - Avoid throwing when chat stream resume negotiation/replay races with a closed WebSocket connection.#1487
752e25aThanks @whoiskatrin! - Close the original WebSocket chat transport stream when the socket disconnects before a terminal response, preventing recovered chat continuations from leavinguseAgentChatstuck in streaming state.#1481
12365ddThanks @whoiskatrin! - Fixed approval auto-continuation streams so reasoning chunks keep a validreasoning-startbeforereasoning-deltasequence when continuing from an assistant message that already has reasoning, and preserve the continuation reasoning in the final persisted message.#1483
5373f5cThanks @whoiskatrin! - Allow Think agent-tool children to complete without emitting assistant text. Non-chat tool-step agents can now provide structured output throughgetAgentToolOutput, with summaries derived from assistant text, string output, structured output, or an empty string.Fix
useAgentChat().isServerStreamingcleanup when a resumed stream first enters the fallback observer path and later becomes transport-owned.@cloudflare/think@0.6.0
Minor Changes
#1456
787e73dThanks @mattzcarey! - Stop applyingpruneMessages({ toolCalls: "before-last-2-messages" })to the model context by default. The previous default silently stripped client-side tool results (noexecute, output supplied viaaddToolOutput) from any turn beyond the second, breaking multi-turn flows where the user's choices live in those tool results (see #1455).truncateOlderMessagesstill runs as before, so context cost stays bounded.This is a behavior change. Subclasses that relied on the old aggressive pruning can opt back in from
beforeTurn:#1517
449b421Thanks @threepointone! - WrapThink.chat()RPC turns in chat recovery fibers and persist their stream chunks so interrupted sub-agent turns can recover partial output.ChatOptions.toolshas been removed from the TypeScript API; runtimeoptions.toolsvalues passed by legacy callers are ignored with a warning. Define durable tools on the child agent or use agent tools for orchestration.#1511
bf3860cThanks @threepointone! - Add durable programmatic submissions for Think.submitMessages()now provides fast durable acceptance, idempotent retries, status inspection, cancellation, and cleanup for server-driven turns that should continue after the caller returns.Patch Changes
#1500
7090e9eThanks @threepointone! - Preserve structured tool output shapes when truncating older messages or oversized persisted rows, preventing customtoModelOutputhandlers from crashing or mis-replaying compacted results.Also harden Think's workspace
readtool so legacy raw-string read outputs replay as text instead of stalling subsequent turns.#1483
5373f5cThanks @whoiskatrin! - Allow Think agent-tool children to complete without emitting assistant text. Non-chat tool-step agents can now provide structured output throughgetAgentToolOutput, with summaries derived from assistant text, string output, structured output, or an empty string.Fix
useAgentChat().isServerStreamingcleanup when a resumed stream first enters the fallback observer path and later becomes transport-owned.#1463
ab2b1dbThanks @whoiskatrin! - Avoid throwing when chat stream resume negotiation/replay races with a closed WebSocket connection. Resume protocol sends and the_handleStreamResumeAckfallback now go throughsendIfOpenhelpers that swallow theTypeError: WebSocket send() after closerace instead of letting it propagate up throughonMessage.@cloudflare/voice@0.2.0
Minor Changes
2c7d91bThanks @whoiskatrin! - Add anenabledoption touseVoiceAgentso React apps can delay creating and connecting aVoiceClientuntil async prerequisites such as capability tokens are ready.Patch Changes
#1458
84cb429Thanks @whoiskatrin! - Fix Workers AI STT session edge cases for Flux and Nova 3.Flux now preserves the latest non-empty turn transcript from turn lifecycle events so an
EndOfTurnevent with an emptytranscriptcan still emit the completed utterance. FluxStartOfTurnalso drives server-side barge-in so model-detected user speech aborts active LLM/TTS playback promptly. Nova 3 now defensively normalizes finalized segment state before reading it to avoid stale teardown messages throwing during abnormal close paths.#1462
5f6214dThanks @whoiskatrin! - FixwithVoicetext streaming for AI SDKtextStreamresponses so TTS audio is produced whenonTurn()returnsstreamText(...).textStreamdirectly.agents@0.12.4
Patch Changes
#1376
6561a3fThanks @hrushikeshdeshpande! - Avoid throwing when chat stream resume negotiation/replay races with a closed WebSocket connection.#1509
4aa4176Thanks @threepointone! - Prevent duplicate initial state frames during Agent WebSocket connection setup so client-originated state updates are not overwritten by stale initial state messages.#1476
3c48858Thanks @whoiskatrin! - Fixed a bug that could cause client state to drift from internal Durable Object state when agent tool calls spanned a Durable Object restart. Recovery now defers user finish hooks until after agent startup and isolates hook failures so one failed mirror write does not block other recovered runs from finalizing.#1514
0371a6fThanks @threepointone! - Route streamable HTTP server-to-client requests through the originating POST stream when no standalone SSE stream is available.#1500
7090e9eThanks @threepointone! - Preserve structured tool output shapes when truncating older messages or oversized persisted rows, preventing customtoModelOutputhandlers from crashing or mis-replaying compacted results.Also harden Think's workspace
readtool so legacy raw-string read outputs replay as text instead of stalling subsequent turns.#1504
5d27b71Thanks @threepointone! - Prune stale sub-agent schedule rows when their owning facet registry entry no longer exists.#1503
7b8ab51Thanks @threepointone! - Bump PartyServer to pick up transient Durable Object routing retries and exposeroutingRetryconfiguration throughgetAgentByName.@cloudflare/codemode@0.3.5
Patch Changes
#1468
186a2a4Thanks @mattzcarey! - Add a browser-safe codemode export with an iframe sandbox executor and browsertool helper. Harden iframe message handling with nonce-scoped messages, reject
sanitized tool name collisions, and keep tools with
needsApproval: false.#1470
1033fa2Thanks @mattzcarey! - Resolve OpenAPI specs inside the codemode sandbox to avoid Worker Loader RPC size limits for heavily-referenced specs.#1508
13acffeThanks @threepointone! - fix(codemode): harden OpenAPI sandbox ref handling