mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
b18f7054af
useAgentContext stringifies any non-string value before it leaves the browser, and the AG-UI protocol types Context.value as a string on both ends. An agent therefore always reads a JSON string, never the object or array that was registered. None of the four reference pages said so; they stopped at "serialized automatically", which reads as "the framework handles it". An author who believes that writes an agent that reads the object. When the resulting shape check fails, the agent cannot distinguish "context arrived JSON-encoded" from "no context was sent" -- the two are identical -- so it refuses every request while the browser is registering context correctly. That is what happened on the both-oss langgraph-python conversion journey, where the agent's isinstance(value, list) guard could never pass and the journey was dead on arrival. Each page now carries a "What the agent receives" section: the wire shape as literal JSON, json.loads and JSON.parse examples, and a callout naming the shape check as the trap. The value parameter description and the Serialization behavior bullet now name the consequence for the agent author instead of stopping at the browser half. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>