Memory is currently managed by a sliding window of 4 messages. However this may prove insufficient for more complex use-cases. We should design a better memory management system for Jupyternaut.
Some concepts to consider:
- "Sidecar LLM" to compact history context in the background
- Generating a summary for every message
- Context compaction in general
- Not showing tool call output in UI chat but having it accessible from LLM context