feat(hooks): add tools.ts example hook for interactive tool enable/disable

- /tools command opens SettingsList-based selector for all loaded tools
- Space/Enter toggles individual tools between enabled/disabled
- Changes apply immediately on toggle (like /settings)
- Tool selection persisted to session via appendEntry()
- State restored from current branch on session_start, session_tree, session_branch
- Uses getBranch() to respect branch-specific tool configuration
- Export getSettingsListTheme and getSelectListTheme for hooks to use
This commit is contained in:
Mario Zechner 2026-01-04 17:24:24 +01:00
parent ddf8bfceee
commit 892acedb6b
4 changed files with 159 additions and 7 deletions

View file

@ -161,4 +161,10 @@ export { main } from "./main.js";
// UI components for hooks
export { BorderedLoader } from "./modes/interactive/components/bordered-loader.js";
// Theme utilities for custom tools and hooks
export { getMarkdownTheme, Theme, type ThemeColor } from "./modes/interactive/theme/theme.js";
export {
getMarkdownTheme,
getSelectListTheme,
getSettingsListTheme,
Theme,
type ThemeColor,
} from "./modes/interactive/theme/theme.js";