Instead of playing "telephone" through chat history, ADK agents read and write to session.state using 4 prefix scopes:
Unprefixed state['destination']: scoped to the current session_id only.**
user: state['user:vehicle_fuel_type']: scoped to user_id, persists across all future sessions of that user!
app: state['app:system_banner']: global across all users of the app.
temp: state['temp:scratchpad']: ephemeral, wiped automatically at the end of the current turn!
** Unless you want to persist the Session State to an external Session Storage (Firestore, PostgreSQL etc.)