Commit Graph

947 Commits

Author SHA1 Message Date
Alem Tuzlak 3dd17c1c5b Merge branch 'main' into worktree-fancy-mapping-valley 2026-04-09 20:40:27 +02:00
Jordan Ritter 25f3f70ab2 fix(docs): update stale model names, fix broken quickstart examples
- gpt-5.2/gpt-5.2-mini → gpt-5.4/gpt-5.4-mini across 70 files
- Anthropic model IDs: dots → hyphens (claude-sonnet-4-5, not 4.5)
- LangGraph FastAPI: add missing uvicorn import, MemorySaver checkpointer,
  fix port string→int
- AG2: ContextVariables import moved to autogen.agentchat
- CrewAI Flows: comment out deprecated CLI option
- Pydantic: pin Starlette 0.45.3 (1.0.0 is incompatible)
- CopilotChat: add missing default export
- All quickstarts: add globals.css import to layout examples
- LangGraph quickstart tagged with doctest="server" for Phase 1

Supersedes #3655, #3656, #3658, #3660, #3661, #3665, #3667, #3669.
2026-04-08 18:55:11 -07:00
Markus Ecker 316c9c5102 docs: A2UI v0.9 guides, Open Generative UI reference, BYOC examples 2026-04-08 12:50:46 -07:00
Alem Tuzlak 990acb46ab fix(runtime): address CR round 1 findings
- Fix all doc imports to use @copilotkit/runtime/v2 (symbols only
  exported from v2 entry point)
- Replace v1 copilotRuntimeNextJSAppRouterEndpoint with v2 pattern
  (CopilotRuntime + createCopilotEndpoint + InMemoryAgentRunner)
- Add warning callout on TanStack reasoning example (reasoning events
  not surfaced by TanStack converter)
- Fix randomUUID imports in converters: use @copilotkit/shared instead
  of Node.js crypto to match codebase convention
- Fix collectEvents timer leak in test-helpers.ts (add clearTimeout)
- Fix JSDoc/comments: convertInputToTanStackAI accurately describes
  role allowlist, TanStackInputResult.messages comment updated
2026-04-08 18:03:44 +02:00
Alem Tuzlak 9b15a7c378 fix(runtime): address PR review feedback
- Close TOCTOU window: set abortController synchronously before Observable
  creation in classic run(), matching factory run() pattern (M3)
- Add concurrent run guard to classic run() (C1)
- Add threadId/runId to RUN_ERROR events in classic mode (I2)
- Check both 'output' and 'result' property names in classic tool-result (C2/M2)
- Add try/catch around JSON.stringify in classic tool-result (I4/M2)
- Add undefined guards before emitting state snapshot/delta events (I3)
- Guard assignToolsToAgents against factory-mode agent configs (M1)
- Improve error handling in classic error case with proper fallback (C3)
- Improve TanStack converter TODO comment with known gap details (M5)
- Document @ts-expect-error on clone() middlewares access (S1)
- Add JSDoc to AgentFactoryContext.abortController (M4)
- Fix duplicate import and clean up react-router example
- Update docs AgentFactoryContext reference
2026-04-08 17:32:50 +02:00
Alem Tuzlak 48f1f2ce01 docs: merge Agent docs into BuiltInAgent, rename to Factory Mode 2026-04-08 17:15:02 +02:00
Alem Tuzlak 7e69300537 fix(runtime): address CR loop round 1 findings
Source fixes:
- Fix TOCTOU race in concurrent run guard — set abortController
  synchronously before Observable creation, closing the window where
  two run() calls could both pass the guard
- Add JSON.stringify try/catch in TanStack TOOL_CALL_RESULT handler
  (matching existing aisdk.ts protection against circular refs)
- Use role allowlist (user/assistant/tool) instead of denylist in
  convertInputToTanStackAI to exclude activity/reasoning roles
- Change error+abort handler from break to return in aisdk converter
  to stop processing after error during abort
- Fix version-pinned comments (remove "AI SDK 5.0" reference)

Test fixes:
- Add timedOut flag to collectEventsIncludingErrors to distinguish
  hung observables from normal completion
- Add clearTimeout on success/error to prevent timer leaks
- Remove timing-dependent setTimeout in concurrent run guard test

Docs fixes:
- Split imports: copilotRuntimeNextJSAppRouterEndpoint from
  @copilotkit/runtime, Agent/converters from @copilotkit/runtime/v2
- Fix forwardedProps example: use CopilotKit properties prop
- Fix useCopilotChat → useCoAgent for state management reference
- Fix model syntax colon → slash (openai/gpt-4o)
2026-04-08 17:14:55 +02:00
Alem Tuzlak b344d08e17 fix(runtime): address code review feedback on Agent class
Critical fixes:
- Guard concurrent run() calls — throw if agent is already running
- Check both "output" and "result" properties on AI SDK tool-result events
  for compatibility with older AI SDK versions
- Handle undefined/missing error in AI SDK error events with proper
  Error wrapping instead of throwing undefined

Important fixes:
- Add TOOL_CALL_RESULT handling to TanStack converter (was silently dropped)
- Include threadId and runId in RUN_ERROR events for run correlation
- Guard state tool events (STATE_SNAPSHOT/STATE_DELTA) against undefined
  snapshot/delta fields before emitting
- Wrap JSON.stringify in tool-result with try/catch to handle circular refs
- Fix collectEventsIncludingErrors to distinguish error vs normal completion

Test coverage:
- Add tests for convertInputToTanStackAI (message filtering, tool call
  mapping, context injection, state serialization)
- Add tests for state management tool results in AI SDK converter
- Add tests for async factory (Promise-returning) paths
- Add tests for tool-result property compatibility (output vs result)
- Add tests for error event handling edge cases
- Add tests for concurrent run guard and RUN_ERROR correlation fields
- Replace flaky setTimeout-based abort test with signal-based sync

Other:
- Add exhaustiveness check (default: never) in config type switch
- Document clone() @ts-expect-error coupling with AbstractAgent.middlewares
- Fix docs: remove incorrect "v6" version reference, fix wrong hook name
2026-04-08 17:14:52 +02:00
Alem Tuzlak 9a7ca0e814 docs: move custom-agent to shared snippet, add to root nav, add cross-references 2026-04-08 17:14:51 +02:00
Alem Tuzlak a247998c7a docs: add Custom Agent page to built-in-agent docs section 2026-04-08 17:14:50 +02:00
Alem Tuzlak 051f55a7de style: apply prettier formatting to new Agent files 2026-04-08 17:14:49 +02:00
Alem Tuzlak 9f009998f6 docs: add Agent class guide with comprehensive examples 2026-04-08 17:14:44 +02:00
Alem Tuzlak 136bfc1182 Merge branch 'main' into feat/multimodal-builtin-agent 2026-04-07 09:51:46 +02:00
Jordan Ritter b3ebc1cba9 fix: redirect /whats-new/v1-50 to /learn/whats-new/v1-50 instead of root 2026-04-06 13:00:15 -07:00
Alem Tuzlak 0fd3ddf960 refactor(docs): create migration-guides section, move migration pages from troubleshooting
- New docs/(root)/migration-guides/ section with migrate-to-v2, migrate-attachments,
  migrate-to-1.10.X, migrate-to-1.8.2
- Troubleshooting now only contains error-debugging, observability-connectors, common-issues
- Update all @deprecated JSDoc URLs from /troubleshooting/ to /migration-guides/
- Update doc cross-links (multimodal-attachments page, snippet import)
- Move snippet to snippets/shared/migration-guides/
- Set minimum version to v1.56.0 (was vX.Y.Z placeholder)
2026-04-06 14:55:09 +02:00
Alem Tuzlak 18c7a6001d feat: multimodal attachments — UI polish, deprecations, docs, codemod
Attachment queue & previews:
- Image lightbox with View Transition API morph animation
- Video lightbox with native controls and play button overlay
- Document lightbox (PDF via blob URL, text inline, info card fallback)
- Drop zone overlay with upload icon
- Filename preservation via InputContent metadata
- Proper video thumbnail sizing and play/pause indicator
- Fix attachment queue positioning (max-w-3xl constraint)
- Padding between X button and content for audio/document cards
- Document filenames wrap instead of truncating

Attachments config:
- onUploadFailed callback for validation/upload errors (file-too-large, invalid-type, upload-failed)
- onUpload accepts sync or async returns
- AttachmentUploadResult discriminated union with explicit interfaces
- Metadata field on Attachment and onUpload return type

AG-UI version bump:
- Bump @ag-ui/client, @ag-ui/core, @ag-ui/encoder, @ag-ui/proto to 0.0.51
- Remove process.env Vite workaround (fixed upstream in 0.0.51)

Deprecation lifecycle:
- @deprecated JSDoc on all legacy image upload APIs
- ImageRenderer, ImageRendererProps, ImageUpload type, imageUploadsEnabled prop,
  inputFileAccept prop, ImageRenderer prop, AIMessage.image, ImageData
- Codemod at codemods/migrate-attachments.ts (15 tests)
- Migration guide updated with codemod instructions and new type shapes

Docs:
- New guide: docs/(root)/multimodal-attachments.mdx
- Updated migration guide with onUpload return type, metadata, codemod section
- Cross-links from prebuilt-components and migration guide
- Label change: "Add photos or files" → "Add attachments"

Tests:
- CopilotChat.attachments.test.tsx — 5 tests for onUploadFailed
- migrate-attachments codemod — 15 tests
2026-04-06 14:55:06 +02:00
Alem Tuzlak e92dcb9686 docs: add multimodal attachments migration guide and deprecation callouts 2026-04-06 14:54:35 +02:00
Tyler Slaton 9c940dcaac Merge branch 'main' into claude/rebase-against-main-PGEp1 2026-04-05 21:46:05 -07:00
Maxim 3ca61dc6d2 Merge branch 'main' into docs/useagent-streaming-performance 2026-04-03 20:26:13 +02:00
Maxim b039983f59 docs: extract performance tip into shared snippet
Moves the streaming performance tip into a reusable snippet and imports
it on both the root headless page and the v2 basics headless-ui snippet
(used by built-in-agent and a2a framework pages).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 20:00:02 +02:00
Maxim 40081f0593 docs: update throttle docs to use EventThrottleMiddleware
The ag-ui PR landed throttling as a standalone middleware
(`@ag-ui/event-throttle-middleware`) rather than a built-in
`notificationThrottle` option on HttpAgent.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 19:52:17 +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
Maxim c6b1bc2eaa docs: add streaming performance guide to useAgent reference and headless UI
- Add "Performance" section to useAgent reference documenting both
  throttle layers (hook-level throttleMs + agent-level notificationThrottle)
- Document when to use which throttle and how they compose
- Add React.memo best practice for message components
- Add streaming performance tip to headless UI guide

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 19:43:38 +02:00
Anmol Baranwal 1f968f3234 Merge branch 'CopilotKit:main' into fix/docs-broken-links 2026-04-02 22:47:36 +05:30
Anmol Baranwal 5458946a76 fix(docs): broken links and add followUp to useFrontendTool reference 2026-04-02 22:47:03 +05:30
Maxim a2386017b4 Merge branch 'main' into feat/useagent-throttle-ms 2026-04-02 19:04:53 +02:00
Maxim 9d1fbb5dd8 docs: add throttleMs parameter to useAgent reference
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:52:12 +02:00
Claude 9e5db9aa2b docs: replace LangChain/LangGraph icons with new brand symbol
- Create new langchain.tsx icon component with the rebranded LangChain
  symbol SVG (geometric cross pattern from official brand kit)
- Update langgraph.tsx to use the same new LangChain symbol (since the
  integration is now branded as LangChain)
- Replace SiLangchain (react-icons) with custom LangchainIcon in
  custom-icons.tsx and langgraph/index.mdx
- Remove unused SiLangchain import from quickstart.mdx
- Remove temp/ SVG directory (raw brand assets no longer needed)

https://claude.ai/code/session_01JAQ7P3GEeP2bGZtc6V45WY
2026-04-02 17:21:00 +02:00
Claude ad629e1779 docs: rebrand LangGraph integration to LangChain across documentation
Update user-facing references from "LangGraph" to "LangChain" per CPK-7186.
The integration label, descriptions, and agent terminology now use "LangChain"
while preserving "LangGraph" for technical references (Platform, Studio, CLI,
StateGraph, code/package names, and API references).

- Rename integration label in integrations.ts, meta.json, integration-grid,
  feature-matrix, quickstart-dropdown, and link-validation
- Update ~47 MDX docs: "LangGraph agent(s)" → "LangChain agent(s)"
- Update FAQ, snippets, and learn section references
- Keep URL paths (/langgraph) unchanged for backward compatibility
- Keep all code imports, package names, and LangGraph Platform/Studio/CLI as-is

https://claude.ai/code/session_01JAQ7P3GEeP2bGZtc6V45WY
2026-04-02 17:21:00 +02:00
Alem Tuzlak 626f64ac76 chore(docs): update pnpm lockfile 2026-04-02 16:39:41 +02:00
Alem Tuzlak 79ce60c580 chore: migrate from eslint+prettier to oxlint+oxfmt
Replace eslint and prettier with oxlint and oxfmt for faster linting
and formatting across the monorepo. Remove all eslint and prettier
configs, dependencies, and related packages. Add .oxlintrc.json and
.oxfmtrc.json for the new tooling. Update CI workflows and lefthook
hooks accordingly. Reformat codebase with oxfmt.

https://claude.ai/code/session_01GMkSf29p78HuMR1mbXn8He
2026-04-02 16:39:05 +02:00
Jordan Ritter d75691b8ce docs: update MCP server URLs from SSE to HTTP transport (#3578)
## Summary
- Removed SSE transport references — SSE is no longer available for the
CopilotKit MCP server
- Updated all MCP server URLs from `/sse` to `/mcp` across every coding
agent tool (Cursor, Claude Web/Desktop/Code, Windsurf, Cline, GitHub
Copilot, and the generic "Other" section)
- Removed the Tadata callout
- Claude Code command now uses `--transport http` instead of
`--transport sse`

## Test plan
- [ ] Verify https://docs.copilotkit.ai/coding-agents renders correctly
after deploy
- [ ] Confirm `claude mcp add --transport http copilotkit-mcp
https://mcp.copilotkit.ai/mcp` works
- [ ] Spot-check a few tool sections (Cursor, Windsurf, Cline) for
correct URLs

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-04-01 14:04:06 -07:00
Maxim a655765460 docs: update MCP server URLs from SSE to HTTP transport
SSE transport is no longer available. Update all MCP server setup
instructions to use HTTP transport with the /mcp endpoint, and
remove the Tadata callout.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 22:53:03 +02:00
Alem Tuzlak 97dbfe6350 fix(docs): expand sidebar link clickable area to full item width
The Link element inside sidebar page items only spanned the width of its
text content, so clicking to the right of the text on a sidebar item did
nothing. Move padding and flex layout into the Link so it fills the
entire li container, matching how integration-link.tsx already works.
2026-04-01 16:31:06 +02:00
Alem Tuzlak 43bf49f791 chore: remove legacy src/ directory
The src/v1.x/ and src/v2.x/ directories were leftover artifacts from
the package consolidation. They contained only outdated configs, old
Cursor rules, superseded docs, and stale GitHub workflows — none
referenced by any code, build config, or Nx project.

Also fixes 3 broken doc links that pointed to src/v1.x/ paths.
2026-03-31 11:10:07 +02: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
Maxim 838565d623 Merge branch 'main' into fix/abort-running-frontend-tool 2026-03-25 18:58:36 +01:00
Maxim 98daf5c90a Merge branch 'main' into feat/builtin-agent-persistent-mcp 2026-03-25 17:30:12 +01:00
Maxim 51f90d6cf9 docs(agent): document mcpClients for persistent MCP client support 2026-03-25 15:43:08 +01:00
Maxim bfa58cca03 docs: document handler context and AbortSignal in useFrontendTool reference
Update the handler type signature to show the second context argument
(toolCall, agent, signal) and add an example of passing signal to fetch
for cooperative cancellation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 00:34:11 +01:00
Martha Kelly Schumann 5d9ad8ca5c style: fix pre-existing prettier formatting in integration-features
This file was merged to main with formatting issues. Fixing here
since the prettier CI check only runs on PRs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 16:48:47 -07:00
Ran Shemtov d6dba0368a Merge branch 'main' into docs/intermediate-state-lg-prebuilt 2026-03-23 11:12:54 +01:00
Claude 7a78f3f081 Add redirect from /whats-new/v1-50 to root page
https://claude.ai/code/session_017vEXQbgYTwxWfrmBRcsCQG
2026-03-19 18:27:46 -07:00
Ran Shem Tov 420d6ad4b6 docs: point imports to copilotkit re-export of the middleware 2026-03-19 13:04:52 +01:00
Ran Shem Tov 2beade6006 docs: add prebuilt agent state streaming docs 2026-03-19 13:04:52 +01:00
Tyler Slaton 5d4ed8f312 fix: run formatter to resolve lint issues
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-03-18 15:36:46 -04:00
johnprg 16361eb781 fix: change useAgentContext and useInterrupt links to go to v2 (fix broken links) 2026-03-17 10:52:25 -07:00
johnprg 3540f36f74 add banners to link checker. remove unused FeatureGrid 2026-03-17 10:48:35 -07:00
johnprg ffa80c6aad fix: remove v1.50 announcement. Fix MCP-apps link 2026-03-17 10:35:56 -07:00
Ran Shemtov 9b2c840466 docs: add documentation about a2ui and mcpApps options in copilotkit (#3411) 2026-03-13 10:00:20 +01:00