When closeReasoningIfOpen() auto-closes a prior block and a second
reasoning-start arrives with id="0" or no id, the handler was silently
reusing the previous reasoningMessageId. Mirror the text-start pattern:
always call randomUUID() when the provider id is falsy or "0".
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Call closeReasoningIfOpen() in the reasoning-start handler before opening
a new block, guarding against consecutive reasoning blocks without an
intervening reasoning-end (e.g. Anthropic extended thinking with tools)
- Call closeReasoningIfOpen() in the !terminalEventEmitted fallback block
so streams that end without a finish/abort/error event still close properly
- Add abort() test-helper and tests for abort + error cases with open reasoning
- Strengthen auto-close ordering assertions to explicitly verify
REASONING_MESSAGE_END precedes REASONING_END in all three auto-close tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Two fixes for Anthropic model stalls (fixes#3323):
1. Skip reasoning-delta events with empty text — EventSchemas.parse()
rejects delta: "" and kills the RxJS Observable before any other
events can fire.
2. Auto-close open reasoning lifecycle at every phase transition —
@ai-sdk/anthropic never emits reasoning-end, leaving the state
machine stuck.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
After the V1/V2 consolidation merge, several changesets still referenced
old @copilotkitnext/* package names that no longer exist. Fixed package
references and ran changeset version to apply pending version bumps.
https://claude.ai/code/session_01A5aahBWFTmLPR3xZSeh4SD
Flatten all packages from packages/v1/* and packages/v2/* into packages/* —
every package now lives directly under the @copilotkit/ scope with no v1/v2
subdirectories.
- Move all v1 packages (react-core, react-ui, runtime, shared, etc.) from
packages/v1/* to packages/*
- Absorb v2 react code into packages/react-core/src/v2/ (exported via /v2 subpath)
- Absorb v2 agent code into packages/runtime/src/agent/ (exported via /v2 subpath)
- Move v2 packages (core, angular, demo-agents, etc.) to packages/*
- Replace all @copilotkitnext/* imports with @copilotkit/* equivalents
- Keep @copilotkitnext/angular as the sole exception (angular remains on next)
- Update CI workflows, renovate config, release scripts for flat structure
- No public API surface changes — all exports fields are preserved
Co-authored-by: Alem Tuzlak <t.zlak@hotmail.com>
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>