feat: add lesson export and import functionality

- Implemented `LessonExport` and `LessonImport` actions in the action module.
- Added corresponding command parsing for lesson export and import.
- Created functions to handle lesson export and import in the memory module.
- Updated state management to reflect changes after lesson operations.
- Introduced deferred operations for handling asynchronous tasks in the event loop.
- Enhanced the tool execution context to include graduated checks for file operations.
- Added OAuth support with PKCE for secure authorization flows.
- Implemented a loopback server for handling OAuth redirects.
- Refactored various modules to improve code organization and maintainability.
This commit is contained in:
asepharyana
2026-07-11 18:23:01 +07:00
parent cc03bd79b6
commit c1ad206a00
49 changed files with 1088 additions and 12 deletions
+38
View File
@@ -0,0 +1,38 @@
use crate::app::runtime::actions::Action;
use crate::app::state::types::Overlay;
pub const HELP_TEXT: &str = "\
Keybindings:
Ctrl+C Quit
Ctrl+D Close overlay
Ctrl+H Help
Ctrl+P Settings
Ctrl+A Toggle yolo arm
Ctrl+B Bash panel
Ctrl+S Session hub
Ctrl+T Todo panel
Ctrl+W Workflow panel
Ctrl+K Key input
Ctrl+L Learning dashboard
Ctrl+U Usage dashboard
Esc Close overlay
Enter Submit / confirm
Slash commands:
/help Show this help
/quit Quit session
/resume Resume from overlay
/mode <name> Switch mode (chat, agents, bash, workflow)
/lesson <text> Create a lesson
/lesson list List lessons
/lesson export Export lessons
/lesson import Import lessons
/clear Clear transcript
/save Save session";
pub fn handle_help_action(action: &Action) -> Action {
match action {
Action::CloseOverlay => Action::CloseOverlay,
_ => Action::OpenOverlay(Overlay::Help),
}
}