hummin-cli 1.0.6 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,61 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.1.1] - 2026-09-21
4
+
5
+ ### Added
6
+
7
+ - Todo plan widget above the editor: live checklist with header counts (`TODOs 2/6`), the in-progress step plus up to three pending ones, and a collapsed `+N pending, M completed` summary line; hidden once every step is completed.
8
+ - Clear-session choice: `/clear` (and `app.session.new`) with work in flight (active response, bash, queued messages, background tasks/monitors) asks whether to continue running and migrate to the new session, or abort all; queued messages are re-delivered into the new session and background jobs are adopted by its extensions (rebindable output/completion hooks on background jobs).
9
+ - `ask_user` transcript rendering: the call row shows the question (expanded shows numbered choices) and the result shows the picked answer or `cancelled`, instead of a raw JSON dump.
10
+ - Categorized settings UI: /settings now groups its entries behind a tab bar (General, Agent, Models, Memory, Fleet, Editor, Terminal, Network, Shell, Privacy); `tab` or clicking a tab switches categories, and search still filters the active list.
11
+ - Settings previously missing from /settings are now configurable: global default thinking level, per-provider list (providers.showAll), retry on failure, memory (enabled, mode, vault directory, provider, model), local fleet instances and fleet auto-start, editor mode (vim), external editor command, WebSocket connect timeout, HTTP proxy, shell path, shell command prefix, npm command, and analytics opt-in. Free-text fields open an input submenu (Enter saves, Esc cancels).
12
+ - Upstream sync: bug reporting (`/bug` with model-generated summary), prompt cache warming with off/streaming/idle modes (setting under Agent), progressive session picker loading, faster recent session discovery, compiled Node CLI module caching, deferred extension loader dependencies, and an experimental micro agent.
13
+ - Per-model image resize profiles: `inputLimits.images.resize` in `models.json` applies to file attachments, image reads, and tool-result images ([#9631](https://github.com/earendil-works/pi/issues/9631)).
14
+ - Upstream sync: crash diagnostics now hint at loaded extensions that appear in the stack trace.
15
+
16
+ ### Changed
17
+
18
+ - Tool rows drop the padded 12-char label column: each label is followed by a two-space gap, so rows like `Bash <command>` no longer carry a wide empty stretch.
19
+ - Footer right-aligned clusters (provider + model + thinking level, and the ctx meter) no longer start with a dim `·` separator with nothing to their left.
20
+ - Message timestamps and skill commands moved to the General category; image settings moved to Terminal; transport and HTTP idle timeout moved to Network.
21
+
22
+ ### Fixed
23
+
24
+ - Upstream sync: restore OSC 52 clipboard fallback for headless sessions; ignore stale tool image conversions ([#8743](https://github.com/earendil-works/pi/issues/8743)); close compaction cancellation races; compact oversized trailing tool results; suppress repeated Anthropic thinking drop notices; suppress bug hints for expected failures; preserve multiline bug descriptions; await the terminal remote prompt event; rebuild expired idle prompt-cache warming caches only when the timer or extension decision is not delayed.
25
+ - TUI (upstream sync): preserve fullscreen images in WezTerm; rank skill autocomplete by bare name ([#9120](https://github.com/earendil-works/pi/issues/9120)); handle CJK punctuation in file autocomplete ([#9746](https://github.com/earendil-works/pi/issues/9746)); improve LaTeX compatibility and layouts.
26
+
27
+ ## [1.1.0] - 2026-09-19
28
+
29
+ ### Added
30
+
31
+ - Agent teamwork: inter-agent messaging across terminals and projects - UDS broker with offline inbox and replay (`agent_send`, `agent_inbox`, `/agents`, `/agent-name`), and a shared cross-session task board (`task_board`, `/team`).
32
+ - Cron scheduler: schedule detached `hummin -p` wake-ups per project (`cron_create`/`cron_list`/`cron_delete`, `/cron`); single-scheduler lock, one queued wake per entry.
33
+ - MCP client: stdio JSON-RPC transport for `mcpServers` in settings (project entries trust-gated); tools register as `mcp_<server>_<tool>`; `/mcp` status panel with restart.
34
+ - LSP client for TypeScript via `typescript-language-server`: `lsp_diagnostics`, `lsp_definition`, `lsp_references`, `lsp_hover` (1-based coordinates); auto-activates on tsconfig/jsconfig projects; `/lsp` status panel.
35
+ - `ask_user` tool: structured multiple-choice questions through the TUI with optional free text; sequential asks no longer hang; fleet-style bordered question panel.
36
+ - Bash sandboxing: macOS seatbelt / Linux bubblewrap workspace mode (writes limited to the working directory and temp, secrets unreadable, optional network deny) with real capability probing; `/sandbox` toggle; spawned task children inherit the mode.
37
+ - Declarative hooks: `hooks.json` (global and trust-gated project) runs shell commands on `tool_call`, `tool_result`, `agent_start`, and `agent_end`; `tool_call` hooks can block with a reason; `/hooks` table and reload.
38
+ - BashGuard advisory matrix: in-band warnings for destructive commands, out-of-tree `sed -i`, and outside-cwd writes; opt-in blocking and read-only deny mode (`/bashguard`).
39
+ - Usage visibility: `/context` (system prompt, tools, conversation, cache-hit ratio, compaction trigger; est vs exact labeled) and `/cost` (per-model totals, served-locally vs cloud split).
40
+ - Footer navigator: `alt+down` (or `down` on an empty editor) opens a selectable list of Background tasks, TODOs, Agents, and Fleet, each opening its panel; native styled TODOs footer segment (`TODOs x/y · current item`).
41
+ - Background panel: `ctrl+b` or `/background` opens a live panel with view-tail/cancel actions, and `ctrl+x` stops the selected running task/monitor or clears a finished one; the footer status reports counts by kind ("2 tasks, 1 monitor").
42
+ - Fleet: selecting an offline fleet model in `/model` offers to start its server first (`fleet.autoStart` skips the prompt), with readiness-gated selection via the shared fleet-actions library.
43
+
44
+ ### Changed
45
+
46
+ - Background tasks and monitors survive agent interrupts: the turn's abort signal is no longer forwarded to background jobs (foreground tasks remain abortable).
47
+ - Task rows show what is running (`Task "<prompt>" · model`); background task completions and monitor notices render as collapsible one-line rows instead of always-expanded blocks.
48
+ - The plan checklist is labeled "TODOs" everywhere and an always-current footer segment shows progress and the current item.
49
+ - Custom `statusline.left`/`statusline.right` segments and the default footer right side use dim middot separators; vim modal editing is available via `editorMode: "vim"` (`HUMMIN_VIM=1`).
50
+
51
+ ### Fixed
52
+
53
+ - Collapsed bash tool rows are a single line again: the command is collapsed to one line and truncated to the terminal width, with the duration/status suffix preserved; the full multi-line command and output remain available expanded.
54
+ - Fixed the sandbox extension hard-blocking bash in the default (`off`) mode; plain execution is used unless workspace mode is active, with an actionable `[Sandbox]` message when a mechanism is unavailable.
55
+ - Fixed the agents broker crashing extension startup when two sessions raced for the broker socket; the loser now connects as a client.
56
+ - Fixed the seatbelt capability probe using `/bin/true`, which does not exist on macOS.
57
+ - Fixed background task completion notices being delivered twice.
58
+
3
59
  ## [1.0.6] - 2026-09-18
4
60
 
5
61
  ### Changed
@@ -38,9 +94,11 @@
38
94
  ### Changed
39
95
 
40
96
  - Exact session-ID session lookups skip transcript scans ([#9601](https://github.com/earendil-works/pi/issues/9601)).
97
+ - Formatted Bash and PowerShell tool durations of at least one minute as minutes and seconds, with hours when needed ([#9628](https://github.com/earendil-works/pi/issues/9628)).
41
98
 
42
99
  ### Fixed
43
100
 
101
+ - Fixed mid-run threshold compaction silently skipping oversized trailing tool results ([#9740](https://github.com/earendil-works/pi/issues/9740)).
44
102
  - Fixed signal-terminated local shell commands being reported as successful with partial output ([#9577](https://github.com/earendil-works/pi/issues/9577) by [@BrendanJMurphy](https://github.com/BrendanJMurphy)).
45
103
  - Fixed local clipboard failures reporting success when the terminal ignored the fallback OSC 52 write, and added platform-specific setup guidance when no clipboard backend works ([#9618](https://github.com/earendil-works/pi/issues/9618)).
46
104
  - Fixed `before_agent_start` handlers returning `systemPrompt` (and `forceSystemPrompt`) on models with mid-conversation system messages: the forced prompt is now sent as the provider's leading system prompt instead of being appended as a section patch after the original prompt.
@@ -104,6 +162,7 @@ First hummin release. Hummin is a thin-overlay fork of pi: zero deletions from u
104
162
  - Fixed premature missing-model errors after login by waiting for catalog discovery. Radius now defaults to `balanced`, falling back to the first available Radius model when needed.
105
163
  - Fixed fullscreen mode reserving a blank row for custom footers that render zero rows ([#8919](https://github.com/earendil-works/pi/issues/8919)).
106
164
  - Fixed extension tools without parameter schemas to be rejected during registration instead of breaking provider requests ([#9300](https://github.com/earendil-works/pi/issues/9300)).
165
+ - Fixed loaded llama.cpp models with `enable_thinking` chat templates ignoring Pi's thinking level ([#9528](https://github.com/earendil-works/pi/issues/9528)).
107
166
 
108
167
  ## [0.85.1] - 2026-09-05
109
168
 
package/README.md CHANGED
@@ -45,6 +45,16 @@ hummin -p "summarize this repo" # oneshot mode
45
45
 
46
46
  GLM-5.3, GLM-5.3-Flash and GLM-5.3-highspeed ship in the `zai` provider catalog (1M-token context, reasoning variants mapped to `reasoning_effort`). Pick models with `/model`; set a persistent default with the picker's "set as default" action.
47
47
 
48
+ ## Features
49
+
50
+ - **Agent teamwork**: sessions message each other across terminals and projects (`agent_send`, `/agents`), share a task board (`/team`), spawn bounded subagents (`task`, `/background` on `ctrl+b`), and run scheduled wake-ups (`/cron`).
51
+ - **Local fleet**: one provider across all your OpenAI-compatible servers (colibri, llama.cpp, Ollama, ...), health-probed and startable from the model picker, with per-origin serialization and real context windows.
52
+ - **Integrations**: MCP client (`mcpServers`), TypeScript LSP tools (diagnostics/definition/references/hover), declarative `hooks.json`, `ask_user` questions, DuckDuckGo search and SSRF-guarded fetch.
53
+ - **Safety**: bash sandboxing (macOS seatbelt / Linux bubblewrap) with `[Sandbox]` in-band blocks, destructive-command advisories (`/bashguard`), loop + budget guardrails, project trust, file checkpoints with `/rewind`.
54
+ - **Memory**: session distillation into lessons plus a self-curating Obsidian-compatible vault with BM25-ranked recall injected into every session.
55
+ - **Visibility**: `/context` token breakdown with cache-hit ratio, `/cost` with local-served vs cloud split, `/status` + `/doctor` dashboards, two-row statusline (user-definable segments).
56
+ - **UX**: vim editing mode, grouped command palette, custom statusline segments, fullscreen transcript search, themeable, remote browser control over loopback.
57
+
48
58
  ## Local inference (colibri, llama.cpp, ...)
49
59
 
50
60
  The bundled `hummin-colibri` extension registers ONE provider (`colibri`) that exposes every model found on your local OpenAI-compatible servers. The engine behind each server does not matter - colibri (MoE streaming), llama.cpp, Ollama all work; the server's own `/v1/models` is the source of truth for model ids, and the first server in the list that serves a model wins (duplicates dedupe into one entry with fallback ordering).