Skip to content

Add Web Channel for arbitrary Durable Objects - #2188

Draft
cjol wants to merge 3 commits into
mainfrom
feat/web-chat-channel
Draft

Add Web Channel for arbitrary Durable Objects#2188
cjol wants to merge 3 commits into
mainfrom
feat/web-chat-channel

Conversation

@cjol

@cjol cjol commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add an ordinary Web Channel with an owned WebSockets capability for arbitrary Lifecycle Durable Objects
  • dispatch AIChatAgent-compatible browser turns through the existing ChannelHost onMessage path and stream ChannelChunks back as AI SDK UI-message chunks
  • make outbound chunk consumption abort-aware for transport cancellation
  • add Web to the unchanged symmetric live adapter suite using a real Durable Object, WebSocketChatTransport observer, and Capn Web control session

Current scope

This first slice is live, non-resumable Web chat. Durable replay, server-owned transcript mutation, client-tool continuation, regeneration, multi-tab synchronization, and Agent migration remain deferred.

Validation

  • pnpm --filter @cloudflare/channels test: 226 tests passed
  • pnpm --filter @cloudflare/channels run build
  • Web live suite: 5 scenarios passed against local Wrangler
  • pnpm run check: exports, formatting, lint, and all 115 TypeScript projects passed

@changeset-bot

changeset-bot Bot commented Aug 31, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5397be6

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@cloudflare/channels Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant