pi-footer-dock 0.1.0 → 0.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/CHANGELOG.md +23 -0
- package/README.md +10 -0
- package/dist/index.js +9707 -0
- package/docs/extending-footer-dock.md +2 -0
- package/package.json +11 -8
- package/src/adapters/acquisition-deadline.ts +0 -69
- package/src/adapters/authorized-fetch.ts +0 -114
- package/src/adapters/deferred-refresh.ts +0 -32
- package/src/adapters/diagnostics.ts +0 -97
- package/src/adapters/ext-bus.ts +0 -90
- package/src/adapters/file-lines.ts +0 -79
- package/src/adapters/folder-opener.ts +0 -34
- package/src/adapters/gate-state.ts +0 -165
- package/src/adapters/git-ahead.ts +0 -80
- package/src/adapters/git-bootstrap.ts +0 -38
- package/src/adapters/git-branches.ts +0 -28
- package/src/adapters/git-changed-files.ts +0 -87
- package/src/adapters/git-command.ts +0 -56
- package/src/adapters/git-config.ts +0 -47
- package/src/adapters/git-coverage.ts +0 -62
- package/src/adapters/git-diff.ts +0 -53
- package/src/adapters/git-inert.ts +0 -80
- package/src/adapters/git-inventory.ts +0 -169
- package/src/adapters/git-monitor.ts +0 -220
- package/src/adapters/git-scope.ts +0 -43
- package/src/adapters/git-tracker.ts +0 -39
- package/src/adapters/git-watch-set.ts +0 -86
- package/src/adapters/git.ts +0 -35
- package/src/adapters/history/cache.ts +0 -37
- package/src/adapters/history/files.ts +0 -36
- package/src/adapters/history/line-splitter.ts +0 -34
- package/src/adapters/history/project.ts +0 -34
- package/src/adapters/history/read-lines.ts +0 -46
- package/src/adapters/history/scanner.ts +0 -166
- package/src/adapters/history/tracker.ts +0 -113
- package/src/adapters/openai-header-quota.ts +0 -61
- package/src/adapters/provider-quota-fetch.ts +0 -80
- package/src/adapters/provider-quota-service.ts +0 -203
- package/src/adapters/provider-quota-view.ts +0 -43
- package/src/adapters/quota-credentials.ts +0 -18
- package/src/adapters/registry-prices.ts +0 -22
- package/src/adapters/repaint-clock.ts +0 -14
- package/src/adapters/response-telemetry.ts +0 -65
- package/src/adapters/session-usage.ts +0 -65
- package/src/adapters/settings-file.ts +0 -81
- package/src/adapters/shared-gate.ts +0 -162
- package/src/adapters/snapshot.ts +0 -115
- package/src/click-actions.ts +0 -23
- package/src/core/ahead-lines.ts +0 -152
- package/src/core/ahead-parse.ts +0 -115
- package/src/core/api-cost.ts +0 -157
- package/src/core/branch-lines.ts +0 -133
- package/src/core/branch-switch.ts +0 -27
- package/src/core/branches.ts +0 -109
- package/src/core/cache-class.ts +0 -39
- package/src/core/cache-presentation.ts +0 -40
- package/src/core/cache-usage.ts +0 -42
- package/src/core/changed-files.ts +0 -143
- package/src/core/click-targets.ts +0 -22
- package/src/core/compaction-help.ts +0 -3
- package/src/core/cost-breakdown.ts +0 -78
- package/src/core/diff-lines.ts +0 -31
- package/src/core/diff-numbers.ts +0 -91
- package/src/core/diff-stat.ts +0 -13
- package/src/core/duration.ts +0 -11
- package/src/core/explain/blocks.ts +0 -75
- package/src/core/explain/explainer.ts +0 -83
- package/src/core/explain/items/cache-facts.ts +0 -70
- package/src/core/explain/items/cache.ts +0 -176
- package/src/core/explain/items/catalogue.ts +0 -157
- package/src/core/explain/items/context.ts +0 -152
- package/src/core/explain/items/cost.ts +0 -190
- package/src/core/explain/items/history-sections.ts +0 -193
- package/src/core/explain/items/money.ts +0 -9
- package/src/core/explain/items/quota.ts +0 -213
- package/src/core/explain/items/speed.ts +0 -86
- package/src/core/explain/registry.ts +0 -21
- package/src/core/explain/render-bars.ts +0 -128
- package/src/core/explain/render-table.ts +0 -38
- package/src/core/explain/render-text.ts +0 -51
- package/src/core/explain/render.ts +0 -44
- package/src/core/explain/simple.ts +0 -35
- package/src/core/explain/style.ts +0 -51
- package/src/core/ext/blocks.ts +0 -133
- package/src/core/ext/clean.ts +0 -40
- package/src/core/ext/explain.ts +0 -30
- package/src/core/ext/menu.ts +0 -36
- package/src/core/ext/protocol.ts +0 -116
- package/src/core/ext/registry.ts +0 -123
- package/src/core/ext/rows.ts +0 -22
- package/src/core/ext/validate.ts +0 -169
- package/src/core/footer-config.ts +0 -152
- package/src/core/history/cache-format.ts +0 -107
- package/src/core/history/cost-types.ts +0 -9
- package/src/core/history/costs.ts +0 -55
- package/src/core/history/entry.ts +0 -82
- package/src/core/history/period.ts +0 -66
- package/src/core/history/queries.ts +0 -57
- package/src/core/history/rows.ts +0 -67
- package/src/core/history/scan.ts +0 -64
- package/src/core/interaction-trace.ts +0 -23
- package/src/core/looks.ts +0 -82
- package/src/core/menu-row.ts +0 -25
- package/src/core/model.ts +0 -99
- package/src/core/open-folder.ts +0 -42
- package/src/core/openai-rate-headers.ts +0 -59
- package/src/core/picker/model-choices.ts +0 -45
- package/src/core/picker/state.ts +0 -80
- package/src/core/picker/thinking-choices.ts +0 -61
- package/src/core/price-source.ts +0 -57
- package/src/core/primary-completion.ts +0 -9
- package/src/core/product.ts +0 -19
- package/src/core/quota-binding.ts +0 -49
- package/src/core/quota-freshness.ts +0 -41
- package/src/core/quota-limits.ts +0 -18
- package/src/core/quota-pace.ts +0 -96
- package/src/core/quota-presentation.ts +0 -36
- package/src/core/quota-state.ts +0 -115
- package/src/core/quota-visibility.ts +0 -18
- package/src/core/rate-limits.ts +0 -165
- package/src/core/relative-age.ts +0 -21
- package/src/core/response-price.ts +0 -125
- package/src/core/response-speed.ts +0 -109
- package/src/core/settings-collapse.ts +0 -49
- package/src/core/settings-groups.ts +0 -130
- package/src/core/settings-menu.ts +0 -232
- package/src/core/settings-text.ts +0 -36
- package/src/core/settings.ts +0 -105
- package/src/core/slot-options.ts +0 -104
- package/src/core/ui-actions.ts +0 -164
- package/src/core/usage-ledger.ts +0 -95
- package/src/core/usage-values.ts +0 -38
- package/src/core/validation.ts +0 -19
- package/src/explain-item.ts +0 -75
- package/src/explain-presenter.ts +0 -64
- package/src/explain-screen.ts +0 -58
- package/src/features/ahead.ts +0 -25
- package/src/features/branches.ts +0 -99
- package/src/features/changed-files.ts +0 -105
- package/src/features/file-diff.ts +0 -80
- package/src/features/pickers/model-picker.ts +0 -42
- package/src/features/pickers/thinking-picker.ts +0 -31
- package/src/footer-host.ts +0 -19
- package/src/footer-interactions.ts +0 -235
- package/src/index.ts +0 -159
- package/src/notify.ts +0 -33
- package/src/open-with-command.ts +0 -34
- package/src/quota-controller.ts +0 -121
- package/src/quota-sources/clinepass.ts +0 -34
- package/src/quota-sources/codex/login.ts +0 -98
- package/src/quota-sources/codex.ts +0 -26
- package/src/quota-sources/contract.ts +0 -39
- package/src/quota-sources/opencode-go.ts +0 -33
- package/src/quota-sources/registry.ts +0 -12
- package/src/quota-sources/shared/bearer.ts +0 -25
- package/src/quota-sources/shared/window.ts +0 -33
- package/src/runtime.ts +0 -235
- package/src/settings-command.ts +0 -55
- package/src/settings-controller.ts +0 -45
- package/src/trackers.ts +0 -32
- package/src/ui/changed-files-view.ts +0 -192
- package/src/ui/explain-style.ts +0 -9
- package/src/ui/ext-segment.ts +0 -39
- package/src/ui/footer.ts +0 -131
- package/src/ui/glyphs.ts +0 -53
- package/src/ui/info-screen.ts +0 -182
- package/src/ui/layout.ts +0 -157
- package/src/ui/list-picker.ts +0 -200
- package/src/ui/live.ts +0 -59
- package/src/ui/palette.ts +0 -29
- package/src/ui/pointer.ts +0 -22
- package/src/ui/quota-animation.ts +0 -41
- package/src/ui/quota.ts +0 -166
- package/src/ui/render-options.ts +0 -15
- package/src/ui/segment-parts.ts +0 -80
- package/src/ui/segments.ts +0 -221
- package/src/ui/settings-screen.ts +0 -134
- package/src/ui/stable-list.ts +0 -74
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,29 @@ All notable changes to Footer Dock are listed here. The format follows [Keep a C
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.1.2] - 2026-10-20
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- The first time Footer Dock starts for a user who never chose an icon set, it says once what to do if the icons look like empty boxes (`/dock-glyphs`, or install a Nerd Font). It is remembered in the settings file as `glyphHintShown`; a settings file that had to be ignored is never rewritten for this. The README now says in the Install section that the icons need a Nerd Font. **New setting:** `glyphHintShown` (written automatically; you never need to set it). Versions before 0.1.2 reject a settings file that contains it, so after going back to 0.1.1 or 0.1.0 delete that line.
|
|
12
|
+
- The package manifest now names the launch video (`pi.video`), so the package page on pi.dev can play it. The video is hosted by GitHub as an attachment (the same one the README plays); it is not part of the npm package.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- The cost screen's bar of dollars by category sat directly under the "This session" and "This month" lines; there is now a blank row between them, as on the other screens.
|
|
17
|
+
|
|
18
|
+
## [0.1.1] - 2026-10-19
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- The branch is shown from the first draw (Pi already knows it); the file and commit counts follow as soon as Git has been read.
|
|
23
|
+
- The extension now loads from one bundled JavaScript file (`dist/index.js`) instead of about 180 TypeScript modules that Pi had to transpile on every start and `/reload`. `/reload` went from about 1.3 s to under 0.1 s, and the footer first appears in about 0.3 to 0.8 s after start instead of 2.3 s (measured in an isolated Pi). The package is smaller (9 files, about 110 kB).
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- A folder that is not a Git repository no longer shows "Git unavailable": there is nothing to show, so the Git items are simply absent and the space is free. "Git unavailable" is kept for the real failures (Git missing, or a repository too large to read).
|
|
28
|
+
- Status lines that other extensions set with `ctx.ui.setStatus` were hidden once Footer Dock replaced Pi's footer. They are now shown on a last line, as Pi's own footer does (sorted by key, cut to the width; colours kept, other terminal escape sequences removed). Nothing changes for extensions: no registration is needed.
|
|
29
|
+
|
|
7
30
|
## [0.1.0] - 2026-10-19
|
|
8
31
|
|
|
9
32
|
### Added
|
package/README.md
CHANGED
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
[](#requirements)
|
|
9
9
|
[](CONTRIBUTING.md)
|
|
10
10
|
|
|
11
|
+
https://github.com/user-attachments/assets/2f7eab93-210e-40e2-8736-d7cc64520ccc
|
|
12
|
+
|
|
13
|
+
_The 30-second tour, also [on YouTube](https://youtu.be/fkBa8wB2_YI)._
|
|
14
|
+
|
|
11
15
|
**A two-row status footer for [Pi](https://pi.dev) that tells you what is going on.** Git, model, context, tokens, cache, speed, provider limits and cost, in two rows that fit your terminal, with an explanation behind every value.
|
|
12
16
|
|
|
13
17
|

|
|
@@ -24,6 +28,8 @@ pi install npm:pi-footer-dock
|
|
|
24
28
|
|
|
25
29
|
Then restart Pi (or run `/reload`). That is all. Full instructions, updating, removing and troubleshooting: **[SETUP.md](SETUP.md)**.
|
|
26
30
|
|
|
31
|
+
**Icons need a [Nerd Font](https://www.nerdfonts.com/) in your terminal.** If the icons show up as empty boxes, your font does not have them: run `/dock-glyphs` for plain symbols that every font has, or install a Nerd Font. Footer Dock mentions this once, the first time it starts.
|
|
32
|
+
|
|
27
33
|
## What the footer shows
|
|
28
34
|
|
|
29
35
|
| Item | What it is | Click the icon | Click the text |
|
|
@@ -127,6 +133,10 @@ Other providers show no limits (`quota unsupported`); OpenAI-style APIs that sen
|
|
|
127
133
|
|
|
128
134
|
The Git items watch the repository for changes. If a repository is too large to watch (thousands of directories), Footer Dock falls back to reading Git after each Pi action and says so in the item's explanation; it never shows a number it did not read.
|
|
129
135
|
|
|
136
|
+
## Other extensions' status lines
|
|
137
|
+
|
|
138
|
+
Extensions that show a status with Pi's `setStatus` keep working: Footer Dock shows those texts on one extra line at the bottom, exactly where Pi's own footer would, and the line is absent while nothing sets a status. Extensions that want proper places, settings and explanations register with Footer Dock instead (next section).
|
|
139
|
+
|
|
130
140
|
## For other extensions
|
|
131
141
|
|
|
132
142
|
Extensions can have Footer Dock manage their footer items, settings and explanations, and Footer Dock needs to know nothing about them: see **[docs/extending-footer-dock.md](docs/extending-footer-dock.md)**.
|