Commit Graph

67 Commits

Author SHA1 Message Date
Markus Ecker 0a11a05772 feat(sdk-python): A2UI helpers and before_agent ID reuse fix
Add copilotkit.a2ui module with operation builders and prompt helpers,
fix SystemMessage ID reuse in before_agent to prevent LangGraph duplication,
add Pydantic model_dump serialization for app_context.
2026-04-08 12:50:28 -07:00
Tyler Slaton 368663dd08 fix(sdk-python): add missing import re in copilotkit_lg_middleware
The re module was used in _fix_messages_for_bedrock (re.compile) but
never imported, causing NameError at runtime when the middleware is
invoked. Bumps version to 0.1.83.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 16:42:56 -07:00
Ran Shem Tov 4073d3d035 fix: deduplicate ToolMessages and tighten adjacent-only validation for Bedrock Converse API 2026-03-20 16:14:49 -07:00
Ran Shem Tov 31a721cdae feat: re-export state streaming langgraph middleware 2026-03-19 12:58:55 +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 de02e9cef0 Merge branch 'main' into fix/2667-langgraph-agui-agent-dict-repr 2026-03-11 16:27:00 +01:00
Maxim c5ec0f8512 fix(sdk-python): guard assistant message with content check
Avoid emitting spurious empty assistant messages for tool-call-only
AIMessages (common with OpenAI models where content is empty string).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 15:28:26 +04:00
Maxim 3b684d914b fix(sdk-python): always emit assistant message for AIMessages with tool_calls
langchain_messages_to_copilotkit previously skipped creating the assistant
message when an AIMessage had tool_calls, causing missing context in chat
history on reconnect. Also adds ActionExecutionMessage type guard in
copilotkit_messages_to_langchain to prevent KeyError on non-tool messages
with parentMessageId.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 15:28:26 +04:00
Valen 95fada4490 fix(sdk-python): fix emit_messages and emit_tool_calls config not working
Fixes #2066

## Problem

`copilotkit_customize_config(config, emit_messages=False)` does not work -
TEXT_MESSAGE_* events are still emitted despite the configuration.

## Root Causes

1. **Metadata Reading Bug**: In `langgraph_agui_agent.py`, the code uses
   `getattr(raw_event, 'metadata', {})` to read metadata, but `raw_event`
   is a dict, not an object. This should use `.get()` instead.

2. **Encoder Crash Bug**: When the filtering logic works (after fixing bug #1),
   it returns `""` (empty string) to skip dispatching events. However, this
   empty string gets yielded to the event encoder which expects event objects
   with `model_dump_json()` method, causing an `AttributeError`.

## Fixes

1. Changed metadata reading to handle both dict and object cases.
2. Changed return value from `""` to `None` for filtered events.
3. Added `run()` method override to filter out `None` values before yielding
   to encoder.
2026-03-06 08:29:04 -08:00
Alem Tuzlak f4e8fdf61f Merge branch 'main' into fix/prebuilt-agent-state-streaming 2026-03-02 18:06:02 +01:00
Tyler Slaton cc8c945893 refactor(docs): optimize structure, content and navigability
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-03-02 11:30:16 -05:00
Ran Shem Tov b21db3a8fc fix: do not override predict state metadata if no cpk prefixed metadata present 2026-03-02 13:30:33 +01:00
Ran Shemtov f0a0ed5e60 feat: add app context readables to prebuilt LG agent middleware (#3155) 2026-02-06 12:49:04 +01:00
Ran Shemtov 5a24f28894 feat: create copilotkit langgraph middleware (#2928) 2026-01-09 16:46:40 +01:00
Charlie Tonneslan fb613ad07a fix(sdk-python): add dict_repr method to LangGraphAGUIAgent
Adds missing dict_repr() method to LangGraphAGUIAgent class to fix
AttributeError when SDK tries to serialize agent info.

The method was present in the parent LangGraphAgent class but not
overridden in LangGraphAGUIAgent, causing failures when calling
sdk.info() with AGUI agents in FastAPI integrations.

Fixes #2667
2025-10-27 15:37:31 -04:00
alexforrestf 8f76efc384 fix(sdk-python): compatibility with langchain v1 (#2633) (#2634) 2025-10-23 15:47:53 -04:00
Ran Shemtov a0155b03e6 fix: ensure stringified args when emitting tool calls (#2571) 2025-10-03 17:05:25 +02:00
Ran Shemtov 19cae45de6 fix: deprecate lg platform remote endpoint (#2540) 2025-09-30 12:13:30 +02:00
Ran Shemtov b7bc3a03e9 feat: pass copilot readable context to agui agents (#2426) 2025-09-15 12:37:55 +02:00
Ran Shemtov 85e09eea2b fix(sdk-python): preserve state messages on subsequent get_state calls (#2216) 2025-07-23 10:21:38 +02:00
Ran Shemtov ec6969b27a Fix/serializable state py (#2177) 2025-07-23 09:56:02 +02:00
Ran Shemtov a010b323d5 chore: use url from deployment when routing to agent (#2171) 2025-07-17 18:15:58 +02:00
Ran Shemtov df25f34d30 feat: add agui fastAPI compatible langgraph agent (#2117) 2025-07-15 19:49:15 +02:00
Ran Shemtov cf90f85aad fix: reduce checkpointer calls lg events (#2063) 2025-07-08 14:39:42 +02:00
Ran Shemtov bffb410b9f fix: consider empty array content for tool message (#2103) 2025-07-04 12:13:52 +02:00
Ran Shemtov 3f8c575363 fix: time travel regenerate (#2071) 2025-07-01 20:25:12 +02:00
Ran Shemtov c0e799e787 Fix/support langgraph 0.5.0 (#2073) 2025-06-30 23:02:48 +02:00
Suhas Deshpande 1d1c51d2f2 surface every possible errors in clean structured way (#2036) 2025-06-23 15:03:38 -07:00
Ran Shemtov 11b7a29686 fix: use active interrupt from thread instead of saving to global state (python sdk) (#2040) 2025-06-23 14:23:16 +02:00
Ran Shemtov c361a16d31 fix: fix regenerate to rerun tool call on click (#2019) 2025-06-19 18:36:33 +02:00
Suhas Deshpande a188b4f902 adds state update event to crew flow (#1963) 2025-06-09 21:29:27 -07:00
Suhas Deshpande 760db7a405 feat(crewai): Add CopilotKit integration utilities for CrewAI enterprise (#1858) 2025-06-05 14:59:11 -07:00
Ran Shemtov 9bc69d8b99 fix: fix reading and spreading configs in langgraph stream events (#1904) 2025-05-30 11:08:08 +02:00
Nick Stanish 9b26f12ba0 fix:python Invert condition for merge_state deprecation check (#1749) 2025-05-23 13:20:08 -07:00
Suhas Deshpande d40e0027a3 udpates crewai to 0.118.0 (#1743) 2025-05-12 08:29:47 -07:00
Ran Shemtov 5f613e667b fix: refrain from overriding graph level config in python sdk (#1773) 2025-05-08 12:10:43 +02:00
Ran Shemtov 742efbb1a8 feat: enable setting langgraph config from ui (#1704) 2025-04-29 17:14:59 +02:00
Ran Shemtov 7a04bd1fd2 fix: langgraph interrupt in chat (#1642) 2025-04-16 16:27:58 +02:00
Suhas Deshpande 0ff04ed159 fix(crewai): Retrieve and convert messages from stored state (#1655) 2025-04-10 16:06:14 -07:00
Ran Shemtov d0e8a1ec5b fix: fix duplicate messages on regenerate (#1613) 2025-04-04 12:08:52 +02:00
Ran Shemtov e652aac4b3 feat: add support for langgraph config schema (#1596) 2025-03-28 18:59:39 +01:00
Ran Shemtov ff58c77595 fix: improve schema fetching for langgraph agent (#1558) 2025-03-26 17:23:11 +01:00
Markus Ecker 8c66caed1b dump from state_as_dict when state is a pydantic model 2025-03-18 17:38:30 +01:00
Markus Ecker bed63cb2ae Fix CrewAI pydantic state issues (#1487) 2025-03-14 14:53:35 +01:00
Markus Ecker 2546e95438 Make the crew dependency optional (#1468)
Co-authored-by: Suhas Deshpande <suhas2u@gmail.com>
2025-03-11 11:26:38 -07:00
Markus Ecker 082db7a996 Add CrewAI support (#1308)
Co-authored-by: Suhas Deshpande <suhasdeshpande@users.noreply.github.com>
Co-authored-by: Ariel Weinberger <Weinberger.Ariel@gmail.com>
Co-authored-by: Suhas Deshpande <suhas2u@gmail.com>
2025-02-28 12:21:54 +01:00
Ran Shemtov fea916fc92 feat: support input and output schema of langgraph (#1406) 2025-02-24 12:04:40 +01:00
Ran Shemtov cc300f9081 fix: enable usage of async savers by using lg async interface (#1384) 2025-02-17 14:50:22 +01:00
Ran Shemtov 7d061d9e84 feat(configurable): execute langgraph with user config (#1376) 2025-02-17 10:44:43 +01:00
Markus Ecker d49c3517be Fix concurrency issues (#1350) 2025-02-12 16:30:23 +01:00