Skip to content

[FEATURE] Implement conversation versioning to enable going back in timeΒ #341

@edenreich

Description

@edenreich

Summary

Currently if the conversation / session is getting too many tokens in, you could end up in a situation where you can no longer compact the conversation but the context is out of bound. To solve this issue, what the user might want to do is press double esc and go back to a previous time of the conversation, allowing the user to "erase" the last overwhelming tokens that were pushed into the context, allowing the user to continue with the previously broken conversation.

Acceptance Criteria

  • There is a new key binding - defaulting to double esc
  • When double esc is pressed the user is presented with truncated user's messages followed by an ordered list
  • The dropdown shown to the user in the view allows the user to select a previous message of the user
  • Selecting a point previous prompt simply deletes all the messages after it in the conversation - allowing the user to resume it
  • It's documented
  • It's tested

Out of scope

Restoring code changes, this could be not very efficient in terms of storage, because I would have to take snapshots of every code change, native git is already fine for those use cases.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions