bbb5cfb033
Backend-controlled message history via hydrateMessages hook — loads from DB on every turn, replacing the linear accumulator. Imperative chat.history API (rollbackTo, remove, replace, slice) for modifying history from any hook or run(). Custom actions via actionSchema + onAction — typed actions sent through transport.sendAction() that wake the agent, modify state, then trigger run(). Adds sendAction to both TriggerChatTransport and AgentChat.