pi-plus 0.1.27 → 0.1.28

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/package.json +1 -1
  3. package/pipi.js +18 -17
package/CHANGELOG.md CHANGED
@@ -19,6 +19,7 @@
19
19
 
20
20
  ### Fixed
21
21
 
22
+ - `/vim` state now persists across launches under a hub profile. The flag was written into the profile's `settings.json`, which every launch re-materializes while pruning keys that are not profile-scoped, and the reader never consulted the base agent `settings.json` — so the toggle silently reset on restart. Reads now walk project > profile > base agent > `~/.pi` (matching the runtime layering), writes go to the base agent `settings.json` like any general key, and a stale `vim` shadow copy left in the profile file is dropped on write.
22
23
  - Manual compactions no longer die silently and strand the TUI's "Compacting context..." spinner forever when a second compaction starts while one is already running (the classic sequence: answer "Compact now?" on resume, then type `/compact` while that compaction is still summarizing). Upstream keeps the manual compaction's abort controller in a singleton field that any overlapping compaction's cleanup resets to `undefined`; the overlap crashed the second compaction with `Cannot read properties of undefined (reading 'signal')` before it could emit `compaction_end`, so the indicator outlived the compaction. The `AgentSession` wrapper now serializes `compact()` calls through a per-session queue (`compaction/serialize.ts`): a `/compact` issued during an in-flight compaction waits its turn instead of interleaving, and each compaction's finally blocks complete before the next starts.
23
24
  - A compaction whose summary stream is aborted mid-generation (e.g. the session-level abort fired while the provider was still streaming) is no longer treated as a successful summary: `stopReason: "aborted"` responses are rejected like `error`/`length`, so a partial summary can never be persisted as a checkpoint.
24
25
  - Answering "Compact now?" when resuming an over-threshold session now shows the "Compacting context..." indicator. `compaction_start` fired while the compaction ran inside the `session_start` handler, before the TUI had subscribed to session events; the compaction is now deferred one macrotask so the subscription (which happens as soon as extension binding returns) is in place first.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-plus",
3
- "version": "0.1.27",
3
+ "version": "0.1.28",
4
4
  "description": "pi coding agent with the pi-plus override layer (pipi CLI)",
5
5
  "type": "module",
6
6
  "piConfig": {