mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-18 15:03:02 +00:00
refactor(hooks): address PR feedback
- Rename getTools/setTools to getActiveTools/setActiveTools - Add getAllTools to enumerate all configured tools - Remove text_delta event (use turn_end/agent_end instead) - Add shortcut conflict detection: - Skip shortcuts that conflict with built-in shortcuts (with warning) - Log warnings when hooks register same shortcut (last wins) - Add note about prompt cache invalidation in setActiveTools - Update plan-mode hook to use agent_end for [DONE:id] parsing
This commit is contained in:
parent
5b634ddf75
commit
4ecf3f9422
13 changed files with 175 additions and 153 deletions
|
|
@ -37,12 +37,12 @@
|
|||
### Added
|
||||
|
||||
- `$ARGUMENTS` syntax for custom slash commands as alternative to `$@` for all arguments joined. Aligns with patterns used by Claude, Codex, and OpenCode. Both syntaxes remain fully supported. ([#418](https://github.com/badlogic/pi-mono/pull/418) by [@skuridin](https://github.com/skuridin))
|
||||
- Hook API: `pi.getTools()` and `pi.setTools(toolNames)` for dynamically enabling/disabling tools from hooks
|
||||
- Hook API: `pi.getActiveTools()` and `pi.setActiveTools(toolNames)` for dynamically enabling/disabling tools from hooks
|
||||
- Hook API: `pi.getAllTools()` to enumerate all configured tools (built-in via --tools or default, plus custom tools)
|
||||
- Hook API: `pi.registerFlag(name, options)` and `pi.getFlag(name)` for hooks to register custom CLI flags (parsed automatically)
|
||||
- Hook API: `pi.registerShortcut(shortcut, options)` for hooks to register custom keyboard shortcuts (e.g., `shift+p`, `ctrl+shift+x`)
|
||||
- Hook API: `pi.registerShortcut(shortcut, options)` for hooks to register custom keyboard shortcuts (e.g., `shift+p`, `ctrl+shift+x`). Conflicts with built-in shortcuts are skipped, conflicts between hooks logged as warnings.
|
||||
- Hook API: `ctx.ui.setWidget(key, lines)` for multi-line status displays above the editor (todo lists, progress tracking)
|
||||
- Hook API: `theme.strikethrough(text)` for strikethrough text styling
|
||||
- Hook API: `text_delta` event for monitoring streaming assistant text in real-time
|
||||
- `/hotkeys` command now shows hook-registered shortcuts in a separate "Hooks" section
|
||||
- New example hook: `plan-mode.ts` - Claude Code-style read-only exploration mode:
|
||||
- Toggle via `/plan` command, `Shift+P` shortcut, or `--plan` CLI flag
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
- Interactive prompt after each response: execute plan, stay in plan mode, or refine
|
||||
- Todo list widget showing progress with checkboxes and strikethrough for completed items
|
||||
- Each todo has a unique ID; agent marks items done by outputting `[DONE:id]`
|
||||
- Real-time progress updates via streaming text monitoring
|
||||
- Progress updates via `agent_end` hook (parses completed items from final message)
|
||||
- `/todos` command to view current plan progress
|
||||
- Shows `⏸ plan` indicator in footer when in plan mode, `📋 2/5` when executing
|
||||
- State persists across sessions (including todo progress)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue