774c4b1785
Based on Gemini's analysis: 1. Nodes now return dicts instead of mutating state 2. run() uses stream_mode='values' 3. Falls back to get_state() from checkpointer 4. Uses model_copy() for Pydantic updates