Packages

@cloudflare/think

0.21.0 · 20 Oct 2026MIT97k / weekRepositorynpmAtom feed

Latest releases

All 52 releases
  1. 0.21.x · latest line
  2. 0.21.0

    20 Oct 2026
    • deprecated

      createExecuteTool and createExecuteRuntime are deprecated in favour of exec with a ws:tools module. See Calling the agent's tools from code.

    • deprecated

      Chat recovery now seals a turn after chatRecovery.maxInterruptedAttempts interrupted attempts (default 5), so a turn that exceeds the Durable Object memory limit on every run no longer retries forever; maxOomRetries is deprecated. See Stream Recovery.

    • Think's workspace tools are now @cloudflare/computer's createAITools, and exec offers every backend the Workspace has; createWorkspaceTools, workspaceBash, and @cloudflare/think/tools/workspace are removed. See Built-in workspace tools.

  3. 0.20.x · maintenance
  4. 0.20.2

    9 Oct 2026
  5. 0.20.1

    7 Oct 2026
    • Fix a chat that could stall when the model chains fast client tool calls across steps.

  6. 0.20.0

    2 Oct 2026
    • breaking

      declared scheduled tasks now run on the root agent only; override getScheduledTasksScope() to return "all" for per-facet scheduling. See Think scheduled tasks.

    • deprecated

      Keep assistant messages and tool outputs attached to the correct turn when a provider reuses a toolCallId; resolveToolMergeId is deprecated in favour of reconcileMessages. See Chat agents.

    • Require ai@^7 and @ai-sdk/react@^4, because Think bundles providers that return AI SDK v7 models. See Think dependencies.

  7. 0.19.x · maintenance
  8. 0.19.0

    18 Sep 2026
    • Add the Queue Lifecycle capability (agents/queue) for durable background work. Each pushed item is a job in the Lifecycle job queue, due immediately, run from the alarm loop one at a time in push order with Lifecycle's retry, deadman, and memory-limit policy. Callbacks are registered in the constructor and typed at declaration and push; push() accepts a stable id (upsert) and per-item retry.

      Agent.queue() and friends now delegate to the capability. Queued callbacks run from the alarm loop in a fresh invocation, so they no longer see the enqueuing request's connection or request through getCurrentAgent() (the agent itself is still available). The cf_agents_queues table and the in-isolate drain are gone; legacy rows migrate into the job queue on the next start. queue() accepts options.id; dequeue, dequeueAll, dequeueAllByCallback, getQueue, and getQueues are now asynchronous; and QueueItem.created_at is renamed createdAt. LifecycleServices.starting() is replaced by status(), which returns "zero" | "starting" | "started".

      Think's workflow-notification outbox and submission drain now run as queue items; the cf_think_workflow_notifications table migrates and is dropped on start.

      Both one-shot migrations (cf_agents_queues in Queue, cf_think_workflow_notifications in Think) are temporary upgrade paths and will be removed in the next minor release, by which point every started object has migrated. Deployments skipping this release should upgrade through it. Workflow-notification delivery retries with backoff capped at ten minutes (previously five) and gives up after twelve hours of continuous failure (previously never), reporting the failure through onError.

    • Require agents >=0.24.0 for Think's background work, which relies on the Queue capability's stable item IDs and alarm-driven execution.

    • Recover an interrupted Think turn that had opened its stream but persisted no content by re-running its user message instead of trying to continue it. Think opens the resumable stream row before inference, so a Durable Object reset in the window before the first chunk left a turn with a stream id, no partial, and a user message as the latest leaf; recovery classified it as continue, found no assistant message to continue from, and marked the incident skipped. A parent tailing such a child through agent tools then sealed the run as an error. This mirrors AIChatAgent's empty-partial new-turn rule (#1691).

Dependency tracking · free for 3 projects

Know when your own dependencies move

@cloudflare/think published 52 releases in the last 12 months. Inlinr folds the routine ones into a line and keeps the few that need you.

  • Advisories reach you

    An email when a critical or high advisory affects a project, before the next install.

  • Upgrades checked first

    Peer ranges, Node, ESM-only and types changes read before you bump.

  • Only what matters

    Majors and breaking notes stay; patches and sibling bumps fold into one line.

How dependency tracking works

Registry facts last checked 22 Oct 2026. Releases and advisories last read 22 Oct 2026.