Commit Graph

214 Commits

Author SHA1 Message Date
github-actions[bot] 1bc4786759 chore: version packages (next) 2026-04-09 18:09:30 +00:00
Tyler Slaton 62c604213c chore(a2ui-renderer): bump version for a2ui-middleware to 0.0.4
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-04-09 11:05:10 -07:00
Tyler Slaton 7efb9ee994 chore(changeset): enter pre-mode
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-04-09 10:14:18 -07:00
github-actions[bot] 0093bdbaa4 chore: version packages 2026-04-09 02:26:42 +00:00
Tyler Slaton b0a62cd980 chore: release 1.55.1
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-04-08 19:16:47 -07:00
github-actions[bot] c2837a3001 chore: version packages (next) 2026-04-09 01:53:20 +00:00
Tyler Slaton e6e8ef83fa chore(changeset): manually add for open-gen-ui fix
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-04-08 18:45:58 -07:00
Tyler Slaton 4d3c65d93e chore(changeset): enter pre-mode
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-04-08 18:41:47 -07:00
github-actions[bot] 00cace6abf chore: version packages 2026-04-08 23:54:54 +00:00
Tyler Slaton c9609238b1 fix: narrow release plan to publishable packages 2026-04-08 16:14:15 -07:00
Tyler Slaton 100a882ebe fix: repair protected-branch release flow 2026-04-08 15:18:10 -07:00
Tyler Slaton 3c2b4b8879 chore: release 1.55.0
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-04-08 13:25:43 -07:00
Markus Ecker 434ccd8691 chore: changeset, dependency bumps, lockfile 2026-04-08 12:51:17 -07:00
Martha Schumann 0e2a6d4c23 chore: add changeset for cli tar bump
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 12:23:20 -07:00
Martha Schumann 1a61be49dc refactor(FOR-75): replace useJsonStable with useShallowStableRef; add unit tests and changeset
- Kill useJsonStable in CopilotChatConfigurationProvider — useShallowStableRef
  is now the single stabilization primitive for both messageView props and labels
- Harden useShallowStableRef with isPlainObject guard so arrays, Dates, and
  class instances are never shallow-compared (reference-only for non-plain objects)
- Remove redundant stableParentLabels — parentConfig?.labels is already stabilized
  by the parent provider's own useShallowStableRef
- Uninstall ts-deepmerge from react-core dependencies (no longer imported anywhere)
- Add unit tests for useShallowStableRef in slots.test.ts (5 tests)
- Add changeset (patch) describing the FOR-75 performance fix

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 11:00:19 -07:00
Alem Tuzlak 39b5f671c0 Merge branch 'main' into claude/remove-endpoint-flag-xd3G1 2026-04-07 14:47:09 +02:00
Alem Tuzlak 528979194a chore: add minor changeset for multimodal builtin agent 2026-04-07 14:30:30 +02:00
Ran Shemtov 88fef2afe3 Merge branch 'main' into claude/remove-endpoint-flag-xd3G1 2026-04-06 18:10:10 +02:00
Ran Shemtov 12838ee879 Merge branch 'main' into claude/remove-endpoint-flag-xd3G1 2026-04-06 14:43:14 +02:00
Ran Shemtov 2afc3c380e Merge branch 'main' into claude/explore-agentcore-cli-a25GL 2026-04-06 13:59:33 +02:00
Ran Shemtov 6670cdeb91 Merge branch 'main' into claude/remove-endpoint-flag-xd3G1 2026-04-03 19:06:30 +02:00
Ran Shemtov dc2999a39d chore: add changeset 2026-04-03 19:06:06 +02:00
Alem Tuzlak 9a6ee39d96 chore(runtime): update package config, CI workflows, and docs
- Add package.json exports for v2/{express,hono,node} subpaths
- Add elysia devDependency and tsdown entry points
- Exclude bun integration tests from vitest config
- Update CI workflows to include runtime-servers test job
- Add runtime-server-adapter docs page
- Add changeset for the fetch-based runtime feature
2026-04-03 18:41:27 +02:00
Tyler Slaton 52a9322df9 chore: add changeset
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 09:24:32 -07:00
Ran Shemtov b4a8b7ad2b chore: add changeset 2026-04-03 15:20:44 +02:00
Claude cec66ea812 fix: remove stale eslint-config references breaking changeset release
The @copilotkit/eslint-config and eslint-config-custom packages were
removed from the workspace but still referenced in changeset files,
causing `changeset version` to fail during release CI.

- Remove @copilotkit/eslint-config from consolidate-v1-v2-packages changeset
- Remove @copilotkit/eslint-config and eslint-config-custom from pre.json initialVersions
- Remove dead eslint-config-custom link from cursor rules

https://claude.ai/code/session_012W65KcXxEaCYnjcSKBHw4x
2026-04-02 15:28:21 +00:00
Claude c341ed2d90 chore: add changeset to kick next.9 release
https://claude.ai/code/session_01N8sLK9h9p6FdRjyHqzKzVV
2026-04-02 02:28:08 +00:00
Claude 0d9e3b88f6 chore(post-release): update version to 1.55.0-next.8
The previous publish workflow released 1.55.0-next.8 to npm but the
post-release commit failed to push to main (blocked by branch
protection). This applies the version bumps and pre.json updates that
the workflow would have committed, unblocking future releases.

https://claude.ai/code/session_01N8sLK9h9p6FdRjyHqzKzVV
2026-04-02 02:23:27 +00:00
Claude 0f6a61cbbc chore: add changeset for CopilotMessages key fix
https://claude.ai/code/session_01N8sLK9h9p6FdRjyHqzKzVV
2026-04-02 01:38:09 +00:00
Jordan Ritter 0315c7ed5e Fix changeset package name: @copilotkitnext/react → @copilotkit/react-core 2026-04-01 14:10:35 -07:00
Martha Kelly Schumann e38d6ede25 fix: multiple CopilotChat components with different threadIds share message state (#3525) 2026-03-31 13:29:09 -07:00
Martha Schumann 5aa901f122 test(agent): strengthen reasoning lifecycle test coverage
- Add cardinality assertions (toHaveLength(1)) to all 5 auto-close tests
  so duplicate REASONING_MESSAGE_END / REASONING_END events are caught
- Add missing RUN_FINISHED final-event assertion to abort auto-close test
- Add test for consecutive reasoning blocks with no reasoning-end between
  them (exercises closeReasoningIfOpen inside reasoning-start)
- Add test for exception thrown mid-stream (exercises catch block path)
- Add test for stream exhaustion without terminal event while reasoning is
  open (exercises !terminalEventEmitted fallback)
- Expand changeset description to cover all three behavioral fixes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 13:09:15 -07:00
Martha Schumann 37cc189b35 chore: update changeset package name to @copilotkit/runtime after consolidation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 13:09:14 -07:00
Martha Schumann 8aafcbe2af fix(agent): skip empty reasoning deltas and auto-close reasoning lifecycle
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>
2026-03-30 13:09:14 -07:00
Martha Schumann 83f58ee3de Merge branch 'main' into fix/cpk-7155-thread-shared-state
Incorporates the V1/V2 flat package consolidation (96885b595). All our
thread-isolation changes auto-merged to the new package paths. Three
content conflicts resolved (import paths updated from @/ aliases to
relative paths and @copilotkitnext/* to @copilotkit/*):
- packages/react-core/src/v2/hooks/use-agent.tsx
- packages/react-core/src/v2/hooks/use-render-custom-messages.tsx
- packages/react-core/src/v2/components/chat/CopilotChatMessageView.tsx

File location conflict resolved: use-agent-thread-isolation.test.tsx
moved from packages/v2/react/... to packages/react-core/src/v2/...
2026-03-30 12:33:16 -07:00
github-actions[bot] a1edf59eae chore(post-release): update version to 1.55.0-next.7 2026-03-29 00:19:22 +00:00
Tyler Slaton 6e3561ef48 fix(release): manually re-enter pre-mode
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-03-28 17:16:23 -07:00
Claude 3b14cfc0b8 fix: correct react changeset mapping to @copilotkit/react-core
https://claude.ai/code/session_01A5aahBWFTmLPR3xZSeh4SD
2026-03-28 17:04:55 -07:00
Claude ab0fa2e3a8 fix: update stale @copilotkitnext package refs in changesets
Remap changeset package references after V1/V2 consolidation:
- @copilotkitnext/agent → @copilotkit/runtime
- @copilotkitnext/react → @copilotkit/react-ui
- @copilotkitnext/core → @copilotkit/core

https://claude.ai/code/session_01A5aahBWFTmLPR3xZSeh4SD
2026-03-28 17:04:55 -07:00
Claude 1ceb963a84 Revert "fix: resolve changeset version errors from stale @copilotkitnext package refs"
This reverts commit 1f6ae0d629.
2026-03-28 17:04:55 -07:00
Claude 369266f1be fix: resolve changeset version errors from stale @copilotkitnext package refs
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
2026-03-28 17:04:55 -07:00
Tyler Slaton 96885b5959 refactor: consolidate V1/V2 packages into flat @copilotkit/* structure
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>
2026-03-28 16:45:10 -07:00
Martha Schumann ab8a92ef4f Merge remote-tracking branch 'origin/main' into fix/cpk-7155-thread-shared-state 2026-03-27 08:53:24 -07:00
Martha Schumann 5148b877c9 chore: add changeset for markdown streaming re-render fix 2026-03-26 16:35:14 -07:00
Mike Ryan 3ad170c345 chore: Create a release of CopilotKit 2026-03-25 17:34:08 -07:00
Martha Kelly Schumann 53e56699e8 fix: isolate agent instances per threadId in useAgent hook
Multiple CopilotChat components with the same agentId but different
threadIds were sharing a single agent instance, causing message state
to bleed between them. The useAgent hook now creates per-thread clones
keyed by agentId:threadId, keeping messages and state isolated.

Closes #2957

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 16:02:30 -07:00
github-actions[bot] 80da7704c4 chore(post-release): update version to 1.54.1-next.6 2026-03-25 22:04:40 +00:00
Martha Kelly Schumann dfdc234130 fix: respect defaultOpen={false} in CopilotSidebar and CopilotPopup (#3513)
## Summary

`<CopilotSidebar defaultOpen={false} />` was opening anyway because the
prop was not being forwarded through the provider chain. This PR fixes
that - and also addresses the architectural trade-off flagged in review.

### Who is affected

**User A** just uses `<CopilotSidebar />` with no outer provider
Before the fix, their sidebar opened by default. After the fix, it still
opens by default. Nothing changed for them.
                                                            
**User B** uses `<CopilotSidebar defaultOpen={false} />`
Before: broken (opened anyway). After: works.
**User C** wraps their app in a bare `CopilotChatConfigurationProvider`
and reads `isModalOpen` from it.
Before our fix `isModalOpen` was stuck at true forever. After: it
reflects the sidebar's state.

### What changed

- The `defaultOpen` prop is forwarded correctly through the provider
chain to both `CopilotSidebar` and `CopilotPopup`.
- Outer `useCopilotChatConfiguration()` hooks now reflect sidebar state.
Fixed via bidirectional state sync between nested providers.

### Files changed

- `packages/v2/react/src/components/chat/CopilotChat.tsx` - accept and
forward `isModalDefaultOpen`
- `packages/v2/react/src/components/chat/CopilotSidebar.tsx` - pass
`isModalDefaultOpen={defaultOpen}`
- `packages/v2/react/src/components/chat/CopilotPopup.tsx` - same
- `packages/v2/react/src/providers/CopilotChatConfigurationProvider.tsx`
- fix resolution logic + bidirectional sync
-
`packages/v2/react/src/providers/__tests__/CopilotChatConfigurationProvider.test.tsx`
- add tests

### Test plan

- [x] 843 tests pass (including 4 new bidirectional sync tests)
- [x] New tests cover all three reproduction scenarios from
[tkt-modal-default-open](https://github.com/CopilotKit/deep-agent-cpk-experiments/tree/main/app/client/src/tickets/tkt-modal-default-open)

**Linear:**
[CPK-7152](https://linear.app/copilotkit/issue/CPK-7152/fix-defaultopenfalse-prop-ignored-in-copilotsidebar)
**GitHub Issue:** #3475
**Related PRs:** #3477, #3496 (stalled community PRs addressing the same
issue)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-03-25 15:00:36 -07:00
github-actions[bot] 0683758931 chore(post-release): update version to 1.54.1-next.5 2026-03-25 16:45:07 +00:00
Maxim 98daf5c90a Merge branch 'main' into feat/builtin-agent-persistent-mcp 2026-03-25 17:30:12 +01:00