chore: remove copilotkit_messages_to_langchain

No longer needed now that LangGraphAgent is gone — the only caller was
the deprecated agent class. Also removed from langchain.py re-exports.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Martha Schumann
2026-04-10 07:53:53 -07:00
parent 334d823207
commit 506a1e8e9d
2 changed files with 1 additions and 65 deletions
-2
View File
@@ -4,7 +4,6 @@ copilotkit.langchain is deprecated. Use copilotkit.langgraph instead.
import warnings
from copilotkit.langgraph import (
langchain_messages_to_copilotkit,
copilotkit_messages_to_langchain,
copilotkit_customize_config,
copilotkit_exit,
copilotkit_emit_state,
@@ -21,7 +20,6 @@ warnings.warn(
__all__ = [
"langchain_messages_to_copilotkit",
"copilotkit_messages_to_langchain",
"copilotkit_customize_config",
"copilotkit_exit",
"copilotkit_emit_state",
+1 -63
View File
@@ -5,7 +5,7 @@ LangChain specific utilities for CopilotKit
import uuid
import warnings
import asyncio
from typing import List, Optional, Any, Union, Dict, Callable, cast
from typing import List, Optional, Any, Union, Dict
from typing_extensions import TypedDict
from langgraph.graph import MessagesState
@@ -45,68 +45,6 @@ class CopilotKitState(MessagesState):
copilotkit: CopilotKitProperties
def copilotkit_messages_to_langchain() -> Callable[[List[Message]], List[BaseMessage]]:
"""
Convert CopilotKit messages to LangChain messages
"""
def _copilotkit_messages_to_langchain(messages: List[Message]) -> List[BaseMessage]:
result = []
processed_action_executions = set()
for message in cast(Any, messages):
if message["type"] == "TextMessage":
if message["role"] == "user":
result.append(HumanMessage(content=message["content"], id=message["id"]))
elif message["role"] == "system":
result.append(SystemMessage(content=message["content"], id=message["id"]))
elif message["role"] == "assistant":
result.append(AIMessage(content=message["content"], id=message["id"]))
elif message["type"] == "ActionExecutionMessage":
# convert multiple tool calls to a single message
message_id = message.get("parentMessageId")
if message_id is None:
message_id = message["id"]
if message_id in processed_action_executions:
continue
processed_action_executions.add(message_id)
all_tool_calls = []
# Find all tool calls for this message (only ActionExecutionMessage type)
for msg in messages:
if msg.get("type") != "ActionExecutionMessage":
continue
if msg.get("parentMessageId", None) == message_id or msg["id"] == message_id:
all_tool_calls.append(msg)
tool_calls = [{
"name": t["name"],
"args": t["arguments"],
"id": t["id"],
} for t in all_tool_calls]
result.append(
AIMessage(
id=message_id,
content="",
tool_calls=tool_calls
)
)
elif message["type"] == "ResultMessage":
result.append(ToolMessage(
id=message["id"],
content=message["result"],
name=message["actionName"],
tool_call_id=message["actionExecutionId"]
))
return result
return _copilotkit_messages_to_langchain
def langchain_messages_to_copilotkit(
messages: List[BaseMessage]
) -> List[Message]: