@henryqw/pi-footer 2.1.0 → 2.1.2

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/README.md CHANGED
@@ -14,14 +14,14 @@ pi install npm:@henryqw/pi-footer
14
14
 
15
15
  | Package | Relationship | Purpose |
16
16
  | --- | --- | --- |
17
+ | [`@henryqw/pi-codegraph`](https://pi.henry.wang/extensions/pi-codegraph) | Improves | Shows CodeGraph index and direct tool activity when loaded. |
17
18
  | [`@henryqw/pi-multi-codex`](https://pi.henry.wang/extensions/pi-multi-codex) | Improves | Adds active Codex subscription quota and reset status. |
18
19
  | [`@henryqw/pi-open-in`](https://pi.henry.wang/extensions/pi-open-in) | Improves | Adds `/open` and `/set-open-in` commands for editor configuration. |
19
20
  | [`@henryqw/pi-pr`](https://pi.henry.wang/extensions/pi-pr) | Improves | Adds current-branch pull-request status. |
20
- | [`@henryqw/pi-codegraph`](https://pi.henry.wang/extensions/pi-codegraph) | Improves | Shows CodeGraph index and direct tool activity when loaded. |
21
21
 
22
22
  ## Use
23
23
 
24
- The footer shows checkout, usage, model, thinking, and extension statuses.
24
+ After installing, start a Pi TUI session to see checkout, usage, model, thinking, and extension statuses.
25
25
 
26
26
  ```text
27
27
  pi-harness · clear-field-f8d2 [+2 ~3 ?1 ↑2] · PR #123 · approved Codex #1 · 50% · 7d 1d 1h 22m
@@ -58,7 +58,7 @@ Unavailable values render as `—` without a misleading percent sign.
58
58
 
59
59
  Non-empty statuses from `@henryqw` extensions, currently Codex quota, occupy the right side of the first line.
60
60
 
61
- Statuses from other extensions, including Ponytail and `pi-rewind`, share the left side. They are sorted by key with producer text, spacing, colors, links, and glyphs preserved. Scripted `mcpScript` calls are not visible as individual tool calls, so they do not trigger the `● CG` badge.
61
+ Statuses from other extensions, including Ponytail and `pi-rewind`, share the left side. They are sorted by key; colors, links, glyphs, and interior spacing are preserved. Leading and trailing whitespace is trimmed, line breaks become spaces, and long statuses may be clipped to fit the footer. Scripted `mcpScript` calls are not visible as individual tool calls, so they do not trigger the `● CG` badge.
62
62
 
63
63
  ## Limits and recovery
64
64
 
@@ -379,17 +379,14 @@ export default function footerExtension(pi: ExtensionAPI): void {
379
379
  const prStatus = sanitizeStatus(extensionStatuses.get("pi-pr") ?? "");
380
380
  const codegraphStatus = extensionStatuses.get("pi-codegraph");
381
381
  const codegraph = codegraphStatus === undefined ? "" : codegraphBadge(codegraphStatus, activeCodegraphCalls.size > 0, theme);
382
- const statuses = [...extensionStatuses]
383
- .filter(([key]) => key !== "pi-pr" && key !== "pi-codegraph")
384
- .sort(([a], [b]) => a.localeCompare(b))
385
- .map(([key, text]) => [key, sanitizeStatus(text)] as const)
386
- .filter(([, text]) => Boolean(text));
387
- const henryStatuses = statuses
388
- .filter(([key]) => key === HENRY_STATUS_KEY)
389
- .map(([, text]) => text);
390
- const externalStatuses = statuses
391
- .filter(([key]) => key !== HENRY_STATUS_KEY)
392
- .map(([, text]) => text);
382
+ const henryStatuses: string[] = [];
383
+ const externalStatuses: string[] = [];
384
+ for (const [key, value] of [...extensionStatuses].sort(([a], [b]) => a.localeCompare(b))) {
385
+ if (key === "pi-pr" || key === "pi-codegraph") continue;
386
+ const text = sanitizeStatus(value);
387
+ if (!text) continue;
388
+ (key === HENRY_STATUS_KEY ? henryStatuses : externalStatuses).push(text);
389
+ }
393
390
  const thinking = String(ctx.thinkingLevel ?? "off");
394
391
  const thinkingColor = THINKING_COLORS[thinking as keyof typeof THINKING_COLORS];
395
392
  const ellipsis = theme.fg("dim", "…");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@henryqw/pi-footer",
3
- "version": "2.1.0",
3
+ "version": "2.1.2",
4
4
  "description": "Show concise repository, branch, and usage details in the Pi footer.",
5
5
  "keywords": [
6
6
  "pi-package",