mod app;
mod runner;
pub use agent_core_runtime::agent;
pub use agent_core_runtime::controller;
pub use agent_core_runtime::permissions;
pub use agent_core_runtime::client;
pub use runner::{AgentCoreExt, TuiRunner};
pub mod commands;
pub mod keys;
pub mod layout;
pub mod markdown;
pub mod table;
pub mod themes;
pub mod widgets;
pub use app::{App, AppConfig};
pub use commands::{
ClearCommand,
CommandContext,
CommandRegistry,
CommandResult,
CompactCommand,
CustomCommand,
HelpCommand,
NewSessionCommand,
QuitCommand,
SessionsCommand,
SlashCommand,
StatusCommand,
ThemesCommand,
VersionCommand,
default_commands,
filter_commands,
generate_help_message,
get_command_by_name,
is_slash_command,
parse_command,
};
pub use markdown::{
ContentSegment, parse_to_spans, parse_to_styled_words, render_markdown_with_prefix,
split_content_segments, wrap_with_prefix,
};
pub use table::{PulldownRenderer, TableRenderer, is_table_line, is_table_separator, render_table};
pub use widgets::{
AnswerState,
BatchPermissionPanel,
ChatView,
ConversationView,
ConversationViewFactory,
EnterAction,
FocusItem,
MessageRole,
PermissionKeyAction,
PermissionOption,
PermissionPanel,
QuestionKeyAction,
QuestionPanel,
RenderFn,
SessionInfo,
SessionPickerState,
SimpleCommand,
SlashCommandDisplay,
SlashPopupState,
StatusBar,
StatusBarConfig,
StatusBarData,
TextInput,
ToolMessageData,
ToolStatus,
render_session_picker,
render_slash_popup,
};
pub use themes::{
THEMES, Theme, ThemeInfo, ThemePickerState, current_theme_name, default_theme_name, get_theme,
init_theme, list_themes, render_theme_picker, set_theme, theme as app_theme,
};
pub use layout::{
LayoutContext, LayoutProvider, LayoutResult, LayoutTemplate, MinimalOptions, SidebarOptions,
SidebarPosition, SidebarWidth, SplitOptions, SplitRatio, StandardOptions, WidgetSizes,
helpers as layout_helpers,
};
pub use keys::{
AppKeyAction, AppKeyResult, DefaultKeyHandler, ExitHandler, ExitState, KeyBindings, KeyCombo,
KeyContext, KeyHandler,
};