mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-17 04:02:21 +00:00
Hooks can render custom status (#385)
* Add ctx.ui.setStatus(key, text) API for hooks to display status in footer - Add setStatus to HookUIContext interface - Implement in interactive mode (FooterComponent) - Implement in RPC mode (fire-and-forget) - Add no-op implementations for headless contexts - Multiple statuses displayed on single line, sorted by key - Supports ANSI styling (hooks handle their own colors) * Remove setStatus from changelog for now * Fix hook status API to follow TUI rules - Sanitize status text: replace newlines, tabs, carriage returns with spaces - Truncate combined status line to terminal width using truncateToWidth - Update JSDoc to document sanitization and truncation behavior - Remove unused createHookUIContext method - Add missing setStatus to test mock * Add setStatus to changelog * Use dim ellipsis for hook status truncation for consistency with footer style --------- Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
This commit is contained in:
parent
89db7ed024
commit
9b2aa4a683
10 changed files with 90 additions and 3 deletions
|
|
@ -35,6 +35,7 @@ The hooks API has been restructured with more granular events and better session
|
|||
- New `pi.registerCommand(name, options)` for custom slash commands
|
||||
- New `pi.registerMessageRenderer(customType, renderer)` for custom TUI rendering
|
||||
- New `ctx.ui.custom(component)` for full TUI component rendering with keyboard focus
|
||||
- New `ctx.ui.setStatus(key, text)` for persistent status text in footer (multiple hooks can set their own)
|
||||
- `ctx.exec()` moved to `pi.exec()`
|
||||
- `ctx.sessionFile` → `ctx.sessionManager.getSessionFile()`
|
||||
- New `ctx.modelRegistry` and `ctx.model` for API key resolution
|
||||
|
|
@ -189,6 +190,7 @@ Total color count increased from 46 to 50. See [docs/theme.md](docs/theme.md) fo
|
|||
|
||||
### Added
|
||||
|
||||
- `ctx.ui.setStatus(key, text)` for hooks to display persistent status text in the footer ([#385](https://github.com/badlogic/pi-mono/pull/385) by [@prateekmedia](https://github.com/prateekmedia))
|
||||
- `/share` command to upload session as a secret GitHub gist and get a shareable URL via shittycodingagent.ai ([#380](https://github.com/badlogic/pi-mono/issues/380))
|
||||
- HTML export now includes a tree visualization sidebar for navigating session branches ([#375](https://github.com/badlogic/pi-mono/issues/375))
|
||||
- HTML export supports keyboard shortcuts: Ctrl+T to toggle thinking blocks, Ctrl+O to toggle tool outputs
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue