Minor Changes
-
#2063
3de6c8eThanks @cjol! - Remove the convention-driven Think framework, including the Vite plugin, generated Worker entry and virtual modules, CLI, Studio, framework helpers, and server-entry helpers. Remove the separatecreate-thinkscaffolder and its starter templates. Think remains available as an explicit runtime for hand-written Worker entries.Migration for existing framework users
If you only use the
Thinkruntime, React integration, messengers, workflows, extensions, or tools, no migration is required.Existing use Required change @cloudflare/think/viteUse agents/vitefor decorators andagents:skills, alongside@cloudflare/vite-plugin.virtual:think/entryAdd a real Worker entry, such as src/server.ts, that explicitly exports each Think class.Generated bindings, migrations, and routing Declare top-level Durable Object bindings and migrations in wrangler.jsonc; route withrouteAgentRequest()and, for custom sub-agent routing,routeSubAgentRequest().@cloudflare/think/frameworkMove generated configuration and class exports into application code. @cloudflare/think/server-entryUse Agents SDK routing helpers and application-owned request handlers. think typesUse wrangler types.think initorcreate-thinkUse npx create-cloudflare@latest --template cloudflare/agents-starter, or manually configure a Think Worker.think studio,think state, orthink inspectNo direct replacement. Existing deployments must preserve generated
ThinkAgent_*andThinkSubAgent_*constructor names and existing migration history. Sub-agent registries useClass.name, so export aliases alone do not preserve compatibility. If renaming classes, use a data-preserving Durable Object rename migration. -
#2049
ce0e608Thanks @cjol! - Preserve spacing between streamed text segments separated by tool calls. Think messenger delivery and Voice now share the same boundary-aware text joining logic fromagents/chat.Existing users must:
- Replace imports of
textDeltaFromStreamChunk()from@cloudflare/think/messengerswithTextStreamCallback, passing it the complete structured stream events. - Upgrade to
agents@0.21.0when installing@cloudflare/think@0.16.0or@cloudflare/voice@0.3.6; both now requireagents >=0.20.2. - Update exact-text expectations if they relied on segments around tool calls being concatenated without a space.
- Replace imports of
Patch Changes
-
#2082
9d35e81Thanks @cjol! - Emit workspace image reads asimage-datamodel content so AI SDK v6 routes them as images, while preservingfile-dataoutput for PDFs.Existing consumers that inspect raw workspace tool content must handle
image-datafor images; PDFs continue to usefile-data. Normal tool callers require no change. -
#2023
2b2b598Thanks @threepointone! - TreatuseAgentChatobserver error frames as terminal responses.Plain-text error bodies are no longer parsed as stream chunks or merged into an empty assistant message. Error frames now clear observer streaming, replay, recovery, and tool-continuation state even when they omit
done, matching the transport-owned stream behavior.Existing observer UIs that displayed error bodies as assistant messages must move those diagnostics to a dedicated error surface.
-
#1996
753a674Thanks @mattzcarey! - Update PartyServer and the Cloudflare Workers development toolchain for@cloudflare/workers-typesv5 compatibility. New Think projects now use Workers Types v5 with matching Wrangler and Vite plugin versions. -
#2062
882ae63Thanks @ben-reitz! - ExposeTurnConfig.repairToolCallso callers can repair malformed tool calls before tool execution.