feat: interactive session picker for /resume and hermes resume#7880
Open
iRonin wants to merge 5 commits into
Open
feat: interactive session picker for /resume and hermes resume#7880iRonin wants to merge 5 commits into
iRonin wants to merge 5 commits into
Conversation
b5dfbad to
603258e
Compare
…roke /resume and hermes resume
1. resume_panel_widget passed to _build_tui_layout_children (was missing) 2. handle_enter blocked when resume panel is open (prevents input submission) 3. 'any' catch-all keybinding blocks typed chars from reaching input 4. ESC binding uses eager=True so it fires immediately 5. _handle_resume_command uses self._session_db directly (not new instance) 6. Session ID prefix match for truncated IDs from panel
cce75a9 to
98bda74
Compare
744ed7d to
a40ec8f
Compare
Collaborator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Interactive Session Picker
Add an inline prompt_toolkit panel for browsing and resuming sessions, accessible via
/resumeorhermes resume.Features
Space/n: next pageb: previous page↑/↓: move one item within page/orsto enter search mode, matches against title, preview text, and session IDdisplay.resume_*settings:resume_session_limit(default: 2000) — total sessions loadedresume_page_size(default: 25) — sessions per pageresume_preview_length(default: 60) — column preview widthresume_full_preview_length(default: 500) — expanded preview char limitresume_preview_lines(default: 3) — expanded preview line countNew subcommand
hermes resume— launches Hermes with the session picker panel pre-openedhermes resume --limit 100— override session counthermes resume --source telegram— filter by platformChanges
cli.py: added_render_resume_panel,show_sessions_full, resume keybindings, layout injectionhermes_cli/config.py: added 5 newdisplay.resume_*config keyshermes_cli/main.py: addedresumesubcommandhermes_state.py: addedpreview_lengthandfull_preview_lengthparams tolist_sessions_rich()(preserves newlines in full preview)tests/cli/test_resume_panel.py: 4 new tests for panel renderingtests/test_hermes_state.py: 6 new tests for preview params