@heyhuynhgiabuu/pi-pretty 0.6.24 → 0.6.26

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,35 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.6.26] - 2026-09-05
4
+
5
+ ### Added
6
+
7
+ - Hidden-thinking elapsed timer: `Thinking... Xs` while thinking, then `Thought for Xs`. Completed messages keep their own durations for the session; multiple thinking runs within one message share its accumulated thinking time. Durations are not persisted across restarts.
8
+ - Live output-token count on the working indicator, using provider usage when available and a character-based estimate otherwise.
9
+
10
+ ### Fixed
11
+
12
+ - Load the pi extension from `src/index.ts` so jiti honors host SDK aliases even when a local checkout has its own SDK dependency. This prevents the per-message label patch from targeting a different class and making completed rows mirror the active timer. The Node package entry remains `dist/index.js`.
13
+ - Remove blank bottom-padding rows under `bash`, `read`, `find`, `grep`, and `ls` titles, including skill-read headers and expanded result-leading gaps. Preserve top padding and result-body/footer spacing; host `edit`/`write` renderers are unchanged.
14
+
15
+ ### Maintenance
16
+
17
+ - Update Pi development dependencies to `^0.85.0` and include `@earendil-works/pi-server` for the development SDK import graph.
18
+
19
+ ## [0.6.25] - 2026-08-29
20
+
21
+ ### Added
22
+
23
+ - omp-style shimmer working indicator: an accent band sweeps the streaming `Working…` row at 30 cells/second over a dim braille spinner, rendered **flush-left** through an extension-owned widget (pi's loader hardcodes a one-column indent the frames API cannot change). `workingIndicator.text` accepts a string or an array of phrases played one sweep per phrase, with a configurable palette (`low`/`mid`/`high` as theme color names or `#hex`), `bold`, `kitt` scanner and `static` modes, and the interrupt hint ([oh-my-pi](https://github.com/can1357/oh-my-pi) shimmer port).
24
+ - Session accent tint: the mid/high tiers and the spinner are tinted with a stable per-session color derived from the session name (an OKLCH port of oh-my-pi's session accent, hue arc plus chroma/lightness bands) — different windows get different hues at uniform perceived brightness; renaming the session re-tints live; explicit `workingIndicator.mid`/`high` colors disable the tint.
25
+ - Thinking-label shimmer: with thinking blocks hidden (pi's `hideThinkingBlock`), the static `Thinking...` label gets the same shimmer — italic `thinkingText` base, accent band, session accent tint — animated at 30fps only during the thinking phase and restored to pi's default label when the phase or the run ends.
26
+ - Config: `workingIndicator` (`enabled`, `text`, `mode` `shimmer`\\|`kitt`\\|`static`, `low`, `mid`, `high`, `bold`, `hint`, `sessionAccent`) and `thinkingIndicator` (`enabled`), each with environment-variable overrides (`PRETTY_WORKING_INDICATOR`, `PRETTY_WORKING_INDICATOR_MODE`, `PRETTY_WORKING_INDICATOR_TEXT`, `PRETTY_THINKING_INDICATOR`).
27
+
28
+ ### Changed
29
+
30
+ - **Behavior change (both features on by default):** the streaming working row and the hidden-thinking label replace pi's static chrome. Restore pi's defaults with `workingIndicator.enabled: false` and `thinkingIndicator.enabled: false`.
31
+ - Bumped `@earendil-works/pi-ai`, `@earendil-works/pi-coding-agent`, and `@earendil-works/pi-tui` devDependencies from `^0.84.3` to `^0.84.4`.
32
+
3
33
  ## [0.6.24] - 2026-08-24
4
34
 
5
35
  ### Fixed
package/README.md CHANGED
@@ -13,6 +13,8 @@ It currently enhances:
13
13
  - **`bash`**: colored exit summary (`exit 0`/`exit 1`) with a preview body of command output
14
14
  - **`ls`**: Nerd Font file icons with tree-oriented rendering
15
15
  - **`find` / `grep`**: built-in FFF-backed search with frecency-aware results, plus grouped/highlighted rendering
16
+ - **working indicator**: an [oh-my-pi](https://github.com/can1357/oh-my-pi)-style shimmer sweep over the streaming `Working…` row — flush-left, rotating phrases, per-session accent tint (see [Working indicator](#working-indicator-shimmer))
17
+ - **thinking label**: the hidden-thinking `Thinking...` label gets the same shimmer treatment (see [Thinking label](#thinking-label-shimmer))
16
18
 
17
19
  > Companion to [@heyhuynhgiabuu/pi-diff](https://github.com/buddingnewinsights/pi-diff) for `write`/`edit` diff rendering.
18
20
 
@@ -138,7 +140,10 @@ Place a JSON file alongside Pi's `settings.json` to customize pi-pretty. Every o
138
140
  "disableTools": ["grep"],
139
141
  "maxHlChars": 80000,
140
142
  "maxPreviewLines": 80,
141
- "cacheLimit": 128
143
+ "cacheLimit": 128,
144
+ "workingIndicator": {
145
+ "text": ["Working…", "Thinking…"]
146
+ }
142
147
  }
143
148
  ```
144
149
 
@@ -153,11 +158,66 @@ Place a JSON file alongside Pi's `settings.json` to customize pi-pretty. Every o
153
158
  | `maxHlChars` | positive int | `PRETTY_MAX_HL_CHARS` | `80000` |
154
159
  | `maxPreviewLines` | positive int | `PRETTY_MAX_PREVIEW_LINES` | `80` |
155
160
  | `cacheLimit` | positive int | `PRETTY_CACHE_LIMIT` | `128` |
161
+ | `workingIndicator.enabled` | boolean | `PRETTY_WORKING_INDICATOR` (`on`/`off`) | `true` |
162
+ | `workingIndicator.text` | string or string[] (phrases rotated per sweep; env accepts comma-separated) | `PRETTY_WORKING_INDICATOR_TEXT` | `["Working…"]` |
163
+ | `workingIndicator.mode` | `shimmer` \| `kitt` \| `static` | `PRETTY_WORKING_INDICATOR_MODE` | `shimmer` |
164
+ | `workingIndicator.low` | theme color name or `#hex` | — | `dim` |
165
+ | `workingIndicator.mid` | theme color name or `#hex` | — | `muted` |
166
+ | `workingIndicator.high` | theme color name or `#hex` | — | `accent` |
167
+ | `workingIndicator.bold` | boolean | — | `true` |
168
+ | `workingIndicator.hint` | boolean | — | `true` |
169
+ | `workingIndicator.sessionAccent` | boolean | — | `true` |
170
+ | `thinkingIndicator.enabled` | boolean | `PRETTY_THINKING_INDICATOR` (`on`/`off`) | `true` |
156
171
 
157
172
  - Config values take priority over theme-provided backgrounds (`toolBg` / `toolErrorBg`).
158
173
  - All options except `background.*` are read once at startup; restart pi to apply changes to them (`background.*` applies live).
159
174
  - To override the config directory, set `PRETTY_CONFIG_DIR` env var.
160
175
 
176
+ ### Working indicator (shimmer)
177
+
178
+ While the agent streams, pi-pretty replaces pi's static `Working...` row with an
179
+ [oh-my-pi](https://github.com/can1357/oh-my-pi)-style shimmer: a bright accent band sweeps across the
180
+ text at 30 cells/second over a dim braille spinner, followed by the interrupt hint, rendered
181
+ **flush-left**. Pi's own loader row carries a built-in 1-column indent that the extension API cannot
182
+ change, so pi-pretty hides it (`setWorkingVisible(false)`) and draws the row with its own zero-padding
183
+ widget, animated above the editor while the agent runs. Mode `kitt` swaps the sweep for a
184
+ ping-ponging scanner head with a decay trail; `static` renders a single unanimated frame. Tier
185
+ colors resolve `#rrggbb` hex first, then the active pi theme color name, then built-in fallbacks.
186
+ Set `workingIndicator.enabled: false` (or `PRETTY_WORKING_INDICATOR=off`) to restore pi's default
187
+ indicator. TUI sessions only; theme changes take effect on the next session.
188
+
189
+ While the agent streams, the row also shows a dim live token suffix — ` (↓ 1,234 tokens)` — refreshed
190
+ once per second. The count uses the provider's `usage.output` when the stream exposes it, otherwise a
191
+ visible-characters ÷ 4 estimate over text and thinking blocks.
192
+
193
+ `text` accepts a single phrase or an array — the sweep plays each phrase in order, one full band
194
+ sweep per phrase (e.g. `["Working…", "Thinking…", "Pondering…"]`). The env var splits on commas.
195
+
196
+ When `sessionAccent` is on, the mid/high tiers and the spinner are tinted with a stable per-session
197
+ accent color derived from the session name (an OKLCH port of
198
+ [oh-my-pi](https://github.com/can1357/oh-my-pi)'s session accent) — different windows get different
199
+ hues at uniform perceived brightness. Renaming the session re-tints the indicator live. Explicit
200
+ `workingIndicator.mid`/`high` colors disable the tint.
201
+
202
+ ### Thinking label (shimmer)
203
+
204
+ With thinking blocks hidden (pi's `hideThinkingBlock` setting), the label shows elapsed reasoning
205
+ time (`Thinking... 12s`) under the same shimmer: italic `thinkingText` base with the accent band
206
+ (and the session accent tint) sweeping through it. On the first text or tool delta it freezes as
207
+ `Thought for 12s`. Durations use whole seconds (`12s`, `1m 05s`, `1h 02m 03s`).
208
+
209
+ Each row keeps its own label: pi-pretty intercepts the host's per-row label fan-out
210
+ (`AssistantMessageComponent.prototype.setHiddenThinkingLabel`), so the streaming row animates while
211
+ completed rows stay frozen at their own `Thought for 12s` instead of every row mirroring the latest
212
+ write. Durations live for the current session (they are not persisted across restarts). A message
213
+ with several thinking runs (interleaved `thinking → text → thinking`, common on Gemini) shares one
214
+ label line per run, so those runs accumulate a single per-message total — a later run resumes the
215
+ count instead of rewinding to zero. If the host class is missing or reshaped, the intercept falls
216
+ back to pi's global-label behavior — including restoring the default `Thinking...` at message end so
217
+ older rows are never mislabeled. The 30fps ticker runs only while the current message's last block
218
+ is thinking, bounding the cost of `setHiddenThinkingLabel(label)` rebuilding chat children. Inherits
219
+ `mode`, `bold`, and the palette/accent from `workingIndicator`.
220
+
161
221
  ### Environment variables
162
222
 
163
223
  Optional environment variables:
@@ -168,6 +228,9 @@ Optional environment variables:
168
228
  - `PRETTY_MAX_PREVIEW_LINES` (default: `80`)
169
229
  - `PRETTY_CACHE_LIMIT` (default: `128`)
170
230
  - `PRETTY_ICONS` (`nerd` by default, set to `none` to disable icons)
231
+ - `PRETTY_WORKING_INDICATOR` (`on`/`off`, overrides `workingIndicator.enabled`)
232
+ - `PRETTY_WORKING_INDICATOR_MODE` (`shimmer`/`kitt`/`static`)
233
+ - `PRETTY_WORKING_INDICATOR_TEXT` (indicator label)
171
234
  - `PRETTY_DISABLE_TOOLS` — comma-separated list of tool names to skip during registration (e.g. `read,grep`). Explicit disables take precedence over enabled defaults.
172
235
  - `PRETTY_ENABLE_TOOLS` — comma-separated list of opt-in tools. `ls` is disabled by default; set `PRETTY_ENABLE_TOOLS=ls` to register it.
173
236
 
package/dist/config.d.ts CHANGED
@@ -18,6 +18,23 @@ type BgThemeLike = {
18
18
  getBgAnsi?: (key: string) => string;
19
19
  bg?: (key: string, text: string) => string;
20
20
  };
21
+ export interface WorkingIndicatorConfig {
22
+ enabled?: boolean;
23
+ /** One phrase or a list of phrases rotated across sweeps. */
24
+ text?: string | string[];
25
+ mode?: "shimmer" | "kitt" | "static";
26
+ /** Tier colors: a pi theme color name or a `#rrggbb` hex. */
27
+ low?: string;
28
+ mid?: string;
29
+ high?: string;
30
+ bold?: boolean;
31
+ hint?: boolean;
32
+ /** Tint the indicator with a stable per-session accent color. */
33
+ sessionAccent?: boolean;
34
+ }
35
+ export interface ThinkingIndicatorConfig {
36
+ enabled?: boolean;
37
+ }
21
38
  export interface PrettyConfig {
22
39
  background?: {
23
40
  tool?: string;
@@ -30,6 +47,8 @@ export interface PrettyConfig {
30
47
  maxHlChars?: number;
31
48
  maxPreviewLines?: number;
32
49
  cacheLimit?: number;
50
+ workingIndicator?: WorkingIndicatorConfig;
51
+ thinkingIndicator?: ThinkingIndicatorConfig;
33
52
  }
34
53
  /** Normalize a comma-separated env value or JSON array into tool names. */
35
54
  export declare function normalizeToolList(value: unknown): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,mGAAmG;AACnG,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,eAAO,IAAI,GAAG,QAAY,CAAC;AAE3B,eAAO,MAAM,OAAO,6BAA2B,CAAC;AAChD,eAAO,MAAM,MAAM,0BAAwB,CAAC;AAC5C,eAAO,MAAM,OAAO,0BAAwB,CAAC;AAC7C,eAAO,MAAM,QAAQ,6BAA2B,CAAC;AACjD,eAAO,MAAM,MAAM,6BAA2B,CAAC;AAC/C,eAAO,MAAM,SAAS,4BAA0B,CAAC;AACjD,eAAO,MAAM,OAAO,6BAA2B,CAAC;AAChD,eAAO,MAAM,QAAQ,6BAA2B,CAAC;AAGjD,eAAO,IAAI,OAAO,QAAa,CAAC;AAChC,eAAO,IAAI,QAAQ,QAAa,CAAC;AAMjC,KAAK,WAAW,GAAG;IAClB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C,CAAC;AAiCF,MAAM,WAAW,sBAAsB;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IACrC,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iEAAiE;IACjE,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC5B,UAAU,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;CAC5C;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAM1D;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,qBAAiB,GAAG,YAAY,CA0DlE;AAED,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAEjD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,aAAa,CAAC,GACxD;IAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAK3D;AAaD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAWjF;AAMD,wBAAgB,SAAS,IAAI,MAAM,CAOlC;AAOD,eAAO,IAAI,SAAS,SAAgD,CAAC;AAErE,eAAO,MAAM,MAAM,QAA2B,CAAC;AAC/C,eAAO,MAAM,UAAU,QAA0B,CAAC;AA4DlD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAM3C;AAED,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAMD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAkD7C,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAKlE;AAMD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED,eAAO,IAAI,YAAY,QAAwC,CAAC;AAChE,eAAO,IAAI,iBAAiB,QAAyC,CAAC;AACtE,eAAO,IAAI,WAAW,QAAoC,CAAC;AAE3D;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAQtD;AAMD,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAGvD"}
package/dist/config.js CHANGED
@@ -103,6 +103,44 @@ export function loadConfig(agentDir = getConfigDir()) {
103
103
  config.maxPreviewLines = maxPreviewLines;
104
104
  if (cacheLimit)
105
105
  config.cacheLimit = cacheLimit;
106
+ const workingIndicator = parsed.workingIndicator;
107
+ if (workingIndicator && typeof workingIndicator === "object") {
108
+ const wi = {};
109
+ const src = workingIndicator;
110
+ if (typeof src.enabled === "boolean")
111
+ wi.enabled = src.enabled;
112
+ if (typeof src.text === "string" && src.text.trim() !== "")
113
+ wi.text = src.text;
114
+ else if (Array.isArray(src.text)) {
115
+ const list = src.text.filter((item) => typeof item === "string" && item.trim() !== "");
116
+ if (list.length > 0)
117
+ wi.text = list;
118
+ }
119
+ if (src.mode === "shimmer" || src.mode === "kitt" || src.mode === "static")
120
+ wi.mode = src.mode;
121
+ for (const tier of ["low", "mid", "high"]) {
122
+ const value = src[tier];
123
+ if (typeof value === "string" && value.trim() !== "")
124
+ wi[tier] = value;
125
+ }
126
+ if (typeof src.bold === "boolean")
127
+ wi.bold = src.bold;
128
+ if (typeof src.hint === "boolean")
129
+ wi.hint = src.hint;
130
+ if (typeof src.sessionAccent === "boolean")
131
+ wi.sessionAccent = src.sessionAccent;
132
+ if (Object.keys(wi).length > 0)
133
+ config.workingIndicator = wi;
134
+ }
135
+ const thinkingIndicator = parsed.thinkingIndicator;
136
+ if (thinkingIndicator && typeof thinkingIndicator === "object") {
137
+ const ti = {};
138
+ const src = thinkingIndicator;
139
+ if (typeof src.enabled === "boolean")
140
+ ti.enabled = src.enabled;
141
+ if (Object.keys(ti).length > 0)
142
+ config.thinkingIndicator = ti;
143
+ }
106
144
  return config;
107
145
  }
108
146
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA6C,MAAM,iCAAiC,CAAC;AAU/G,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,YAAY,CAAC;AAgBzD,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,wBAA8B,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmLpG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EACX,YAAY,EAMZ,MAAM,iCAAiC,CAAC;AAUzC,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,YAAY,CAAC;AA8BzD,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,wBAA8B,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsbpG"}
package/dist/index.js CHANGED
@@ -8,6 +8,8 @@
8
8
  * • FFF-accelerated find/grep with SDK fallback
9
9
  * • Custom ANSI rendering for all tools
10
10
  */
11
+ import { readFileSync } from "node:fs";
12
+ import { join } from "node:path";
11
13
  import * as hostSdk from "@earendil-works/pi-coding-agent";
12
14
  import { createFffAutocompleteProvider } from "./autocomplete.js";
13
15
  import { applyConfig, getDefaultAgentDir, loadConfig, normalizeToolList, resolveToolSets } from "./config.js";
@@ -17,6 +19,7 @@ import { registerFindTool } from "./tools/find.js";
17
19
  import { registerGrepTool } from "./tools/grep.js";
18
20
  import { registerLsTool } from "./tools/ls.js";
19
21
  import { registerReadTool } from "./tools/read.js";
22
+ import { createThinkingLabelAnimator, createThinkingTimer, installPerRowThinkingLabels, installWorkingIndicator, resolveThinkingIndicatorSettings, resolveWorkingIndicatorSettings, thinkingBlockActive, WORKING_INTERVAL_MS, workingTokens, } from "./working-indicator.js";
20
23
  // ---------------------------------------------------------------------------
21
24
  // Config
22
25
  // ---------------------------------------------------------------------------
@@ -110,9 +113,96 @@ export default async function piPrettyExtension(pi, deps) {
110
113
  // ------------------------------------------------------------------
111
114
  // Session lifecycle
112
115
  // ------------------------------------------------------------------
116
+ const workingSettings = resolveWorkingIndicatorSettings(config.workingIndicator);
117
+ const thinkingSettings = resolveThinkingIndicatorSettings(config.thinkingIndicator);
118
+ let workingController;
119
+ let thinkingTimer;
120
+ let thinkingInterval;
121
+ let thinkingLastMessage;
122
+ let thinkingHiddenCheckedAt = 0;
123
+ let workingSessionName;
124
+ let workingStreaming = false;
125
+ let workingStatsUpdatedAt = 0;
126
+ let perRowLabels;
127
+ /** Accumulated thinking time per message timestamp — later runs in the same
128
+ * message resume from this total instead of rewinding to zero. */
129
+ const thinkingElapsedMs = new Map();
130
+ const TOKEN_COUNT_FORMAT = new Intl.NumberFormat("en-US");
131
+ /** Message timestamps are the per-row identity the label patch keys on. */
132
+ const messageTimestamp = (message) => {
133
+ const ts = message?.timestamp;
134
+ return typeof ts === "number" ? ts : undefined;
135
+ };
136
+ /** pi persists the thinking-visibility toggle as a top-level settings key. */
137
+ const thinkingHidden = () => {
138
+ try {
139
+ const dir = getDefaultAgentDir();
140
+ if (!dir)
141
+ return false;
142
+ const parsed = JSON.parse(readFileSync(join(dir, "settings.json"), "utf8"));
143
+ return parsed.hideThinkingBlock === true;
144
+ }
145
+ catch {
146
+ return false;
147
+ }
148
+ };
149
+ /**
150
+ * True when the 500ms-cached hidden check is stale and settings now show
151
+ * thinking revealed — the single re-check shared by the ticker and the
152
+ * completed-phase message_update path (timestamp guard runs before the read).
153
+ */
154
+ const thinkingRevealed = () => {
155
+ if (Date.now() - thinkingHiddenCheckedAt <= 500)
156
+ return false;
157
+ thinkingHiddenCheckedAt = Date.now();
158
+ return !thinkingHidden();
159
+ };
160
+ const safeSessionName = (ctx) => {
161
+ try {
162
+ return ctx.sessionManager?.getSessionName?.() ?? undefined;
163
+ }
164
+ catch {
165
+ return undefined;
166
+ }
167
+ };
168
+ // (Re-)install the widget: new session, reload, or session rename (the
169
+ // accent tint tracks the name, omp-style). Preserves streaming state so a
170
+ // mid-stream rename does not drop the row.
171
+ const installIndicator = async (ctx) => {
172
+ workingController?.dispose();
173
+ workingController = undefined;
174
+ try {
175
+ const controller = await installWorkingIndicator(ctx.ui, workingSettings, undefined, workingSessionName);
176
+ workingController = controller;
177
+ if (workingStreaming)
178
+ controller.start();
179
+ // Noop install (disabled/blank) after a previous install → restore pi's loader.
180
+ if (controller.frames.length === 0)
181
+ ctx.ui.setWorkingVisible?.(true);
182
+ }
183
+ catch (error) {
184
+ try {
185
+ ctx.ui.setWorkingVisible?.(true);
186
+ }
187
+ catch {
188
+ // Host without the API — nothing to restore.
189
+ }
190
+ ctx.ui?.notify?.(`pi-pretty working indicator failed: ${error instanceof Error ? error.message : String(error)}`, "warning");
191
+ }
192
+ };
113
193
  pi.on("session_start", async (_event, ctx) => {
114
- if (ctx.mode === "tui")
194
+ if (ctx.mode === "tui") {
115
195
  ctx.ui.setToolsExpanded(false);
196
+ // Per-row hidden-thinking labels: intercept the host's label fan-out so
197
+ // each row keeps its own duration. Falls back to the global-label
198
+ // behavior whenever the host class is missing or reshaped.
199
+ perRowLabels = thinkingSettings.enabled
200
+ ? installPerRowThinkingLabels(deps?.assistantMessageComponent ??
201
+ hostSdk.AssistantMessageComponent)
202
+ : undefined;
203
+ workingSessionName = safeSessionName(ctx);
204
+ await installIndicator(ctx);
205
+ }
116
206
  if (!fffService)
117
207
  return;
118
208
  try {
@@ -138,7 +228,179 @@ export default async function piPrettyExtension(pi, deps) {
138
228
  ctx.ui?.notify?.(`FFF init failed: ${error instanceof Error ? error.message : String(error)}`, "error");
139
229
  }
140
230
  });
231
+ // Re-apply the indicator when the session is (re)named so the accent tint
232
+ // tracks the name; omp derives the accent the same way.
233
+ pi.on("session_info_changed", async (event, ctx) => {
234
+ if (ctx.mode !== "tui")
235
+ return;
236
+ if (event.name === workingSessionName)
237
+ return;
238
+ workingSessionName = event.name;
239
+ if (workingSettings.enabled)
240
+ await installIndicator(ctx);
241
+ });
242
+ // Drive the widget with the streaming lifecycle (host loader is hidden).
243
+ pi.on("agent_start", async (_event, ctx) => {
244
+ if (ctx.mode !== "tui")
245
+ return;
246
+ workingStreaming = true;
247
+ workingStatsUpdatedAt = 0;
248
+ workingController?.setStats(undefined);
249
+ workingController?.start();
250
+ });
251
+ const stopStreaming = async (_event, ctx) => {
252
+ if (ctx.mode !== "tui")
253
+ return;
254
+ workingStreaming = false;
255
+ workingController?.stop();
256
+ stopThinkingShimmer();
257
+ };
258
+ pi.on("agent_end", stopStreaming);
259
+ pi.on("agent_settled", stopStreaming);
260
+ const clearThinkingInterval = () => {
261
+ if (!thinkingInterval)
262
+ return;
263
+ clearInterval(thinkingInterval);
264
+ thinkingInterval = undefined;
265
+ };
266
+ const stopThinkingShimmer = () => {
267
+ clearThinkingInterval();
268
+ perRowLabels?.clearActive();
269
+ try {
270
+ thinkingTimer?.restore();
271
+ }
272
+ catch {
273
+ // Teardown must never throw — a host that explodes on restore is left
274
+ // with whatever label it has; the interval is already gone.
275
+ }
276
+ thinkingTimer = undefined;
277
+ thinkingLastMessage = undefined;
278
+ };
279
+ const completeThinkingShimmer = () => {
280
+ clearThinkingInterval();
281
+ const ts = messageTimestamp(thinkingLastMessage);
282
+ const frozenMs = thinkingTimer?.complete();
283
+ if (ts !== undefined && frozenMs !== undefined) {
284
+ thinkingElapsedMs.set(ts, frozenMs);
285
+ perRowLabels?.complete(ts, frozenMs);
286
+ }
287
+ // The completed row is no longer the animating one — drop the active mark
288
+ // so subsequent global writes freeze it at its own duration.
289
+ perRowLabels?.clearActive();
290
+ thinkingLastMessage = undefined;
291
+ };
292
+ /** Surface one warning without letting a throwing host escape the crash guard. */
293
+ const notifyThinkingFailure = (ctx, error) => {
294
+ try {
295
+ ctx.ui?.notify?.(`pi-pretty thinking indicator failed: ${error instanceof Error ? error.message : String(error)}`, "warning");
296
+ }
297
+ catch {
298
+ // A host that throws on notify too must not crash the timer path.
299
+ }
300
+ };
301
+ // Same 30fps cadence as the working row — but the interval lives ONLY while
302
+ // the streaming message is actively emitting a thinking block (each label
303
+ // change rebuilds chat children, so the moment text or tool calls stream the
304
+ // label freezes as `Thought for {duration}` until the run ends).
305
+ const startThinkingShimmer = (ctx) => {
306
+ if (thinkingInterval || !thinkingSettings.enabled)
307
+ return;
308
+ try {
309
+ thinkingHiddenCheckedAt = Date.now();
310
+ if (!thinkingHidden())
311
+ return; // thinking visible: no label writes at all
312
+ const animator = createThinkingLabelAnimator(ctx.ui, workingSettings, workingSessionName, thinkingSettings);
313
+ const activeTs = messageTimestamp(thinkingLastMessage);
314
+ // Same message thinking again (interleaved runs): resume its total.
315
+ const resumeMs = activeTs !== undefined ? (thinkingElapsedMs.get(activeTs) ?? 0) : 0;
316
+ thinkingTimer = createThinkingTimer(animator, Date.now, resumeMs);
317
+ if (activeTs !== undefined)
318
+ perRowLabels?.setActive(activeTs);
319
+ thinkingTimer.tick();
320
+ thinkingInterval = setInterval(() => {
321
+ try {
322
+ if (!workingStreaming) {
323
+ stopThinkingShimmer();
324
+ return;
325
+ }
326
+ if (thinkingRevealed()) {
327
+ stopThinkingShimmer();
328
+ return;
329
+ }
330
+ if (!thinkingBlockActive(thinkingLastMessage)) {
331
+ // Thinking phase over: freeze its duration until the run ends.
332
+ completeThinkingShimmer();
333
+ return;
334
+ }
335
+ thinkingTimer?.tick();
336
+ // The label has no widget of its own — reuse the working widget's
337
+ // TUI handle so the frame lands even when deltas pause mid-thinking.
338
+ workingController?.requestRender();
339
+ }
340
+ catch (error) {
341
+ // A throwing host call inside our timer would crash pi (uncaught in
342
+ // setInterval) — tear the label down and surface one warning instead.
343
+ stopThinkingShimmer();
344
+ notifyThinkingFailure(ctx, error);
345
+ }
346
+ }, WORKING_INTERVAL_MS);
347
+ }
348
+ catch (error) {
349
+ stopThinkingShimmer();
350
+ notifyThinkingFailure(ctx, error);
351
+ }
352
+ };
353
+ // Remember the streaming message; lazily start the shimmer on the first
354
+ // thinking delta (thinkingHidden() is re-checked at most every 500ms). After
355
+ // the phase completes, deltas keep refreshing the visibility cache so a
356
+ // mid-run `hideThinkingBlock` toggle-off restores the default label.
357
+ pi.on("message_update", async (event, ctx) => {
358
+ if (ctx.mode !== "tui" || !workingStreaming)
359
+ return;
360
+ thinkingLastMessage = event.message;
361
+ // Live token suffix on the working row (throttled to one update/second).
362
+ const now = Date.now();
363
+ if (now - workingStatsUpdatedAt >= 1000) {
364
+ workingStatsUpdatedAt = now;
365
+ const tokens = workingTokens(event.message);
366
+ workingController?.setStats(tokens > 0 ? ` (↓ ${TOKEN_COUNT_FORMAT.format(tokens)} tokens)` : undefined);
367
+ }
368
+ if (thinkingInterval) {
369
+ // Complete immediately on the first text/tool delta instead of waiting
370
+ // for the next animation frame.
371
+ if (!thinkingBlockActive(event.message))
372
+ completeThinkingShimmer();
373
+ return;
374
+ }
375
+ if (thinkingBlockActive(event.message)) {
376
+ // First thinking delta — or a later phase after tool calls — starts a
377
+ // fresh timer (the completed one is replaced wholesale).
378
+ startThinkingShimmer(ctx);
379
+ return;
380
+ }
381
+ if (thinkingTimer && thinkingRevealed())
382
+ stopThinkingShimmer();
383
+ });
384
+ // The completed wording belongs to the message that produced it. The label
385
+ // is global, so once that assistant message ends, restore pi's default —
386
+ // otherwise every later phase stamps its frozen duration onto every hidden
387
+ // thinking row in the transcript (the image-read "Thought for 5s" stack).
388
+ pi.on("message_end", async (event, ctx) => {
389
+ if (ctx.mode !== "tui" || event.message.role !== "assistant")
390
+ return;
391
+ if (thinkingInterval || thinkingTimer)
392
+ stopThinkingShimmer();
393
+ });
141
394
  pi.on("session_shutdown", async () => {
395
+ // Tear down the widget animation; pi re-runs session_start (and our
396
+ // install) after resume or session switching.
397
+ workingController?.dispose();
398
+ workingController = undefined;
399
+ stopThinkingShimmer();
400
+ perRowLabels?.uninstall();
401
+ perRowLabels = undefined;
402
+ thinkingElapsedMs.clear();
403
+ workingStreaming = false;
142
404
  // Intentionally keep the native FFF finder on session shutdown.
143
405
  // Pi can emit shutdown/start during resume or session switching while the
144
406
  // process keeps running. Native teardown, or dropping the JS handle while the
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}