Skip to content

feat(agent-stream): thinking and tool streaming for chat and canvas#5671

Open
BillLeoutsakosvl346 wants to merge 5 commits into
stagingfrom
agent-stream-events
Open

feat(agent-stream): thinking and tool streaming for chat and canvas#5671
BillLeoutsakosvl346 wants to merge 5 commits into
stagingfrom
agent-stream-events

Conversation

@BillLeoutsakosvl346

@BillLeoutsakosvl346 BillLeoutsakosvl346 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds agent-events-v1 streaming for live thinking + tool lifecycle across Anthropic, Gemini, Bedrock, DeepSeek/Groq (openai-compat), with dual-gated deployed-chat SSE and canvas console chrome.
  • Wires DeepSeek/Groq/OpenAI reasoning request knobs, tool-loop reasoning round-trip, timeout/user abort semantics, and /api/providers byte projection for object streams.
  • Ships ChatGPT-like thinking chrome (fixed scroll pane, follow-to-bottom, auto-collapse when the answer starts) plus includeThinking chat policy/migration/docs.

Test plan

  • Deployed chat with Include thinking on + Anthropic/Gemini reasoning model: thinking streams in fixed pane, collapses when answer starts, tools show as chips
  • DeepSeek chat/reasoner and Groq gpt-oss with thinking/effort: thinking events appear; forced tools still complete
  • OpenAI reasoning model with effort auto: summaries still stream
  • Canvas run with thinking model: console shows thinking/tools; Stop soft-completes without a scary failed agent block; timeout still fails the block
  • Legacy client without protocol header: byte-identical SSE (no thinking frames)
  • bun run test / vitest for agent-stream, providers, streaming, chat hook suites

Made with Cursor

… and canvas

Ship the agent-events-v1 protocol with provider tool loops, dual-gated chat thinking, DeepSeek/Groq/OpenAI reasoning wiring, and ChatGPT-like thinking chrome.

Co-authored-by: Cursor <cursoragent@cursor.com>
@greptile-apps

greptile-apps Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Too many files changed for review. (132 files found, 100 file limit)

Bypass the limit by tagging @greptile-apps to review.

@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Jul 14, 2026 3:55am

Request Review

Comment thread apps/sim/app/(interfaces)/chat/hooks/use-chat-streaming.ts
Biome was failing CI on migrations/meta/0261_snapshot.json. Also settle
assistant streaming/tool flags when SSE ends without a terminal frame,
without clobbering Stop's finalized content.

Co-authored-by: Cursor <cursoragent@cursor.com>
Auto-format the sim package for CI lint:check, and repair the Anthropic
streaming tool-loop payload after an unsafe delete-to-undefined rewrite.

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread apps/sim/providers/stream-pump.ts
…journal test

Treat AbortError from reader.cancel as a cancelled pump result so soft-complete
retains answerText. Point the workspace storage migration journal assertion at
0261_chat_include_thinking.

Co-authored-by: Cursor <cursoragent@cursor.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 3e139eb. Configure here.

Comment thread apps/sim/app/(interfaces)/chat/hooks/use-chat-streaming.ts
Ignore terminal SSE error frames after the user aborts so
"Client cancelled request" cannot overwrite "Response stopped by user".

Co-authored-by: Cursor <cursoragent@cursor.com>
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