Skip to content

Release v2.5.0#85

Merged
Rohitjoshi9023 merged 4 commits intomainfrom
beta
Apr 15, 2026
Merged

Release v2.5.0#85
Rohitjoshi9023 merged 4 commits intomainfrom
beta

Conversation

@Sahil5963
Copy link
Copy Markdown
Contributor

Summary

  • fix(chat): Skip orphaned server-side tool result messages in the post-message:end done handler — fixes duplicate "Reading from" skill cards during streaming and 400 API errors on follow-up requests
  • feat(togetherai): Add fallback chain support, rebuild demo as Next.js with createRuntime + CopilotProvider pattern
  • chore: Bump all package versions to 2.5.0

Bug Fix Details

The done handler in AbstractChat was correctly skipping server-side assistant messages (to avoid duplicate tool cards), but was still inserting the corresponding tool result messages (role: "tool"). These orphaned messages caused:

  1. Duplicate tool renderer cards appearing on multiple messages during streaming
  2. 400 Invalid parameter errors on follow-up requests (OpenAI rejects role: "tool" without a preceding tool_calls message)

Test plan

  • Verified skills-demo: "Reading from" card shows only once per tool call during streaming
  • Verified follow-up messages work without 400 errors
  • Gitleaks scan: no leaks found

🤖 Generated with Claude Code

Sahil5963 and others added 2 commits April 10, 2026 12:52
…Runtime pattern

- Add fallback chain with priority strategy + retry logic to demo API route
- Add fallback toggle UI in sidebar showing chain order
- Update docs: createTogetherAI + createRuntime as primary pattern,
  fallback chain section, cleaned up model list
- Add REST test script for all models
- Bump llm-sdk to 2.1.9

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…dler, bump v2.5.0

The post-message:end done handler was correctly skipping server-side
assistant messages (to avoid duplicate tool cards), but was still
inserting the corresponding tool result messages (role: "tool"). These
orphaned tool messages caused:
1. Duplicate "Reading from" skill cards during streaming
2. 400 API errors on follow-up requests (OpenAI rejects role:"tool"
   without a preceding tool_calls assistant message)

Fix: skip all tool result messages in the done handler since server-side
results are already represented in metadata.toolExecutions on the
finalized assistant message.

Also bumps all package versions to 2.5.0 for release.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 15, 2026

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

Project Deployment Actions Updated (UTC)
copilot-playground Ready Ready Preview, Comment Apr 15, 2026 6:36am
copilot-sdk-docs Ready Ready Preview, Comment Apr 15, 2026 6:36am

Request Review

ProviderId type includes "yourgpt-server" but the envVarNames
Record<ProviderId, string> was missing it, causing a TS build error.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This was an internal-only provider that proxied to a local
yourgpt-server-demo (which is gitignored). Removing it to avoid
type mismatches and keep the playground clean for public use.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Rohitjoshi9023 Rohitjoshi9023 merged commit 505eecc into main Apr 15, 2026
3 of 4 checks passed
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.

2 participants