Commit Graph

4708 Commits

Author SHA1 Message Date
Max Korp 382e0ebef3 Merge branch 'main' into feat/intelligence-thread-plumbing 2026-03-13 14:00:17 -07:00
Max Korp 4c1dc17412 fix: bootstrap runid in reconnect 2026-03-13 13:50:14 -07:00
Max Korp 7953709afd Reapply "fix: cleanup shouldn't cleanup other connections"
This reverts commit d1f452b215.
2026-03-13 13:34:10 -07:00
Benjamin Taylor a33d250f13 Merge branch 'feat/intelligence-thread-plumbing' of github.com:CopilotKit/CopilotKit into feat/intelligence-thread-plumbing 2026-03-13 15:33:07 -05:00
Max Korp d1f452b215 Revert "fix: cleanup shouldn't cleanup other connections"
This reverts commit 74bfa7825a.
2026-03-13 13:32:39 -07:00
Benjamin Taylor 398edaa0ed Merge branch 'feat/intelligence-thread-plumbing' of github.com:CopilotKit/CopilotKit into feat/intelligence-thread-plumbing 2026-03-13 15:32:34 -05:00
Benjamin Taylor 9c7370abd8 fix(client): Detach agent state when stopping a run 2026-03-13 15:30:49 -05:00
Max Korp 74bfa7825a fix: cleanup shouldn't cleanup other connections 2026-03-13 13:29:12 -07:00
Benjamin Taylor 80c31f0a84 fix(client): detachActiveRun was causing a deadlock 2026-03-13 15:02:31 -05:00
Benjamin Taylor 7205e44d55 Merge branch 'feat/intelligence-thread-plumbing' of github.com:CopilotKit/CopilotKit into feat/intelligence-thread-plumbing 2026-03-13 13:59:53 -05:00
github-actions[bot] 8ce7d4a55c chore(post-release): update version to 1.54.0 2026-03-13 18:50:45 +00:00
Tyler Slaton a6de73aa96 chore(cli): release 1.0.0
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-03-13 14:49:17 -04:00
Max Korp 19a4eb3367 Merge remote-tracking branch 'origin/main' into feat/intelligence-thread-plumbing 2026-03-13 11:46:36 -07:00
github-actions[bot] 6d85515f9a chore(post-release): update version to 1.54.0 2026-03-13 18:40:02 +00:00
Tyler Slaton 3e60b48c1f chore(cli): release 1.54.0
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-03-13 14:38:42 -04:00
Max Korp 9fa9de3bb1 Merge remote-tracking branch 'origin/main' into feat/intelligence-thread-plumbing 2026-03-13 11:19:25 -07:00
Mike Ryan 8e2557d378 fix(runtime): Forward generateThreadNames from the delegating runtime 2026-03-13 11:16:34 -07:00
Benjamin Taylor 4829b0315a fix(client): Map running state from delegate to proxied agent 2026-03-13 11:12:50 -07:00
Benjamin Taylor a1ba076d6a feat(runtime): Add constant usage and add agent detach 2026-03-13 11:12:44 -07:00
Benjamin Taylor 718442cc45 fix(client): Map running state from delegate to proxied agent 2026-03-13 13:07:02 -05:00
Benjamin Taylor 09a90f9a07 Merge branch 'feat/intelligence-thread-plumbing' of github.com:CopilotKit/CopilotKit into feat/intelligence-thread-plumbing 2026-03-13 12:44:37 -05:00
Benjamin Taylor c6bf38ce2d feat(runtime): Add constant usage and add agent detach 2026-03-13 12:43:11 -05:00
Max Korp 426ccc24a4 fix: detach active run when new run starts? 2026-03-13 10:32:40 -07:00
Markus Ecker 53a8cea13b Fix Bedrock Converse API compatibility in CopilotKitMiddleware (#3444)
## Summary

- Adds `_fix_messages_for_bedrock()` static method to
`CopilotKitMiddleware` that sanitizes messages before model invocation
- Strips unanswered `tool_calls` (no matching `ToolMessage`) — Bedrock
rejects `toolUse` blocks without a corresponding `toolResult`
- Syncs `msg.content` tool_use blocks with `msg.tool_calls` to remove
stale content blocks left behind in checkpoints
- Fixes string-typed `args`/`input` in tool_calls and tool_use content
blocks (Bedrock requires dict)

## Context

When using CopilotKit with Amazon Bedrock's Converse API, `after_agent`
restores frontend tool_calls to the checkpoint. This creates three
problems that cause Bedrock to reject the request:

1. AIMessages contain `toolUse` blocks without matching `toolResult`
messages
2. Content blocks and `tool_calls` can get out of sync after
`after_model` strips calls but leaves content blocks
3. Tool call arguments can be serialized as strings instead of dicts

This fix runs automatically in `awrap_model_call` before every model
invocation.

## Test plan

- [ ] Verify existing CopilotKit tests still pass
- [ ] Test with Bedrock Converse API (Claude models) with frontend tool
injection
- [ ] Test multi-turn conversations where frontend tool_calls are
restored from checkpoints
2026-03-13 17:29:08 +01:00
Alem Tuzlak 7c33c41874 ci: remove unused uv install from node-only workflows (#3448)
## Summary
- Removes the \`astral-sh/setup-uv@v6\` step from 8 CI workflows that
install uv but never use it
- Keeps uv in \`e2e_dojo.yml\` which actually needs it (dojo scripts use
\`uv sync\`/\`uv run\` for Python agents)

### Workflows cleaned up
| Workflow | What it does |
|---|---|
| \`test_unit-v1.yml\` | Unit tests (pnpm/node only) |
| \`test_unit-v2.yml\` | Unit tests (pnpm/node only) |
| \`static_quality.yml\` | Prettier, ESLint, publint (3 jobs, all node)
|
| \`static_commitlint.yml\` | Commitlint (node only) |
| \`static_danger.yml\` | Danger (node only) |
| \`e2e_examples.yml\` | Example e2e tests (node only) |
| \`publish_release.yml\` | Changeset publish (node only) |
| \`publish_custom-pre.yml\` | Snapshot publish (node only) |

### Workflow kept unchanged
- \`e2e_dojo.yml\` — \`prep-dojo-everything.js\` and
\`run-dojo-everything.js\` use \`uv sync\`/\`uv run\` for Python agent
suites

## Test plan
- [x] Verified \`e2e_dojo.yml\` is the only workflow where \`uv\` is
actually invoked
- [x] Verified no \`postinstall\` scripts in core packages call \`uv\`
- [x] Confirmed \`setup-uv\` only remains in \`e2e_dojo.yml\`
- [ ] CI should pass on this PR — all affected workflows are node-only
2026-03-13 16:04:57 +01:00
Alem Tuzlak 9dd893f627 Merge branch 'main' into chore/remove-unused-uv-from-ci 2026-03-13 15:07:31 +01:00
Ben Taylor 3b0cb58402 chore: add husky to gitignore (#3447)
Add husky to gitignore.
2026-03-13 09:03:57 -05:00
Alem Tuzlak 08e356df74 ci: remove unused uv install step from node-only workflows
These 8 workflows install uv but never invoke it. Only e2e_dojo.yml
actually needs uv (the dojo scripts use uv sync/run for Python agents).
Removing the unnecessary step saves CI time and reduces confusion.
2026-03-13 15:03:39 +01:00
Alem Tuzlak 633c81e085 Merge branch 'main' into chore/enforce-lefthook-in-claude-agents 2026-03-13 14:42:13 +01:00
Alem Tuzlak c854384e5e chore: ignore .husky directory and remove deprecated leftovers
The repo migrated to lefthook but leftover .husky/_/ files from the
old husky install can confuse agents into thinking husky is the hook
runner. Adding .husky/ to .gitignore prevents these from reappearing.
2026-03-13 14:32:49 +01:00
Ben Taylor f8acf7a649 chore: enforce lefthook in Claude Code agent sessions (#3446)
## Summary
- Adds a Claude Code `PreToolUse` hook that blocks `git commit` calls
containing `--no-verify`, `-n`, `LEFTHOOK=0`, or `--no-gpg-sign` —
preventing agents from silently skipping lefthook pre-commit hooks
- Adds commit grouping convention to the git guidelines docs (commits
should be separated by area of concern)

## Test plan
- [x] Verified hook blocks `git commit --no-verify` (blocked live in
session)
- [x] Verified hook blocks `LEFTHOOK=0 git commit` (blocked live in
session)
- [x] Verified hook allows normal `git commit` (passed through)
- [x] Verified hook ignores blocked keywords inside commit messages
(e.g. mentioning "--no-verify" in message text)
2026-03-13 08:32:13 -05:00
Alem Tuzlak 09572f7a37 docs: add commit grouping convention to git guidelines
Commits should be grouped by area of concern when committing batches
of changes, with related file moves included in the same commit.
2026-03-13 14:22:52 +01:00
Alem Tuzlak 33109250e7 chore: add Claude Code hook to enforce lefthook pre-commit
Agents and subagents sometimes skip pre-commit hooks by passing
bypass flags to git commit. This adds a PreToolUse hook that blocks
those attempts, ensuring lefthook always runs.
2026-03-13 14:22:13 +01:00
Ran Shem Tov 4506570206 chore: use latest python langgraph ag-ui 2026-03-13 13:49:15 +01:00
Markus Ecker d6d2e2c96a Fix Bedrock Converse API compatibility in CopilotKitMiddleware
Add _fix_messages_for_bedrock() to handle three issues caused by
after_agent restoring frontend tool_calls to the checkpoint:

1. Strip unanswered tool_calls without matching ToolMessages (Bedrock
   rejects toolUse without a corresponding toolResult)
2. Sync msg.content tool_use blocks with msg.tool_calls
3. Fix tool_use/tool_call blocks with string input/args (must be dict)
2026-03-13 12:02:05 +01:00
Ran Shemtov 9b2c840466 docs: add documentation about a2ui and mcpApps options in copilotkit (#3411) 2026-03-13 10:00:20 +01:00
Tyler Slaton 55b5739ad5 fix(docs): remove CLI scaffolding from built-in-agent and agent-spec quickstarts
Neither built-in-agent nor agent-spec are valid CLI framework options.
Remove "Start from scratch" CLI paths, keep manual setup only.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 20:53:40 -04:00
Tyler Slaton 3051bd1ff1 fix(docs): correct quickstart errors and API examples across integrations
- Agent-spec: remove invalid CLI `-f agent-spec` option, link to manual setup
- A2A: fix env var (GEMINI_API_KEY) and port (10002) to match starter template
- AWS Strands: fix useRenderTool to use Zod schema and correct render props
- LangGraph: add auth guide cross-reference in configurable docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 20:53:40 -04:00
Tyler Slaton bb96398854 fix(cli): remove prepare script on install
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-03-12 20:44:56 -04:00
Tyler Slaton af77b019f1 feat(langgraph-python): better prompt, tasks -> todos
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-03-12 20:44:56 -04:00
Tyler Slaton c672be411d fix(langgraph-python): sync lockfiles
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-03-12 20:21:06 -04:00
Tyler Slaton ccd4cc4437 feat: improve UI, better a2ui example, faster model
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-03-12 20:09:51 -04:00
github-actions[bot] ea746d4629 chore(post-release): update version to 1.54.0 v1.54.0 2026-03-12 22:32:04 +00:00
Tyler Slaton a62a97a195 chore: release 1.54.0
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-03-12 18:27:53 -04:00
Benjamin Taylor 5d51cebd31 Merge branch 'feat/intelligence-thread-plumbing' of github.com:CopilotKit/CopilotKit into feat/intelligence-thread-plumbing 2026-03-12 16:50:30 -05:00
Max Korp c1d3faa16d fix: live streaming of active agent 2026-03-12 14:47:43 -07:00
Benjamin Taylor 8e27eacde4 Merge branch 'feat/intelligence-thread-plumbing' of github.com:CopilotKit/CopilotKit into feat/intelligence-thread-plumbing 2026-03-12 16:37:59 -05:00
Benjamin Taylor 991bab757c Merge branch 'feat/intelligence-thread-plumbing' of github.com:CopilotKit/CopilotKit into feat/intelligence-thread-plumbing 2026-03-12 16:37:46 -05:00
Max Korp 3cdd5cc8f2 fix: Sync messages back from delegate to proxy 2026-03-12 14:36:32 -07:00
Max Korp 6f9bf82526 fix: delegate connectAgent 2026-03-12 14:12:19 -07:00