bermudis-pi-goodies 0.27.4 → 0.27.6
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 +4 -4
- package/package.json +1 -1
- package/provider-balance.ts +2 -2
- package/vision.ts +6 -0
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ extensions. One entry point, thirteen independent features.
|
|
|
25
25
|
First install, pinned to a published version:
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
|
-
pi install npm:bermudis-pi-goodies@0.27.
|
|
28
|
+
pi install npm:bermudis-pi-goodies@0.27.6
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
Picking up a new release on an existing install (`pi install` is not the
|
|
@@ -293,9 +293,9 @@ override the Codex base URL.
|
|
|
293
293
|
|
|
294
294
|
All providers share one renderer: every balance is projected to a list of
|
|
295
295
|
segments and formatted the same way. Credits render as `$1.5k`; each usage
|
|
296
|
-
window renders as `[label ]<window
|
|
297
|
-
`7d 72% ↻4d4h` (`↻` = resets in). Multiple windows are joined with `·`, and
|
|
298
|
-
named extra limits like Codex Spark get a label: `7d 72% ↻4d4h · Spark 7d 74% ↻5d4h`.
|
|
296
|
+
window renders as `[label ]<window>: <remaining>%[ ↻<countdown>]`, e.g.
|
|
297
|
+
`7d: 72% ↻4d4h` (`↻` = resets in). Multiple windows are joined with `·`, and
|
|
298
|
+
named extra limits like Codex Spark get a label: `7d: 72% ↻4d4h · Spark 7d: 74% ↻5d4h`.
|
|
299
299
|
The footer refreshes on session start, model
|
|
300
300
|
switch, and after each completed run (`agent_settled`), so it tracks both
|
|
301
301
|
consumption and external tier changes for whatever provider is active —
|
package/package.json
CHANGED
package/provider-balance.ts
CHANGED
|
@@ -278,7 +278,7 @@ function compactCodexQuotaName(name: string): string {
|
|
|
278
278
|
// the same Balance model and one formatter renders it all. The footer reads
|
|
279
279
|
// like a status bar: glyphs carry the meaning, words are dropped.
|
|
280
280
|
// credits -> "$1.5k"
|
|
281
|
-
// quota window -> "[label ]7d 72%[ ↻4d4h]" (↻ = resets in)
|
|
281
|
+
// quota window -> "[label ]7d: 72%[ ↻4d4h]" (↻ = resets in)
|
|
282
282
|
|
|
283
283
|
export interface QuotaWindow {
|
|
284
284
|
/** Remaining quota, 0–100. */
|
|
@@ -337,7 +337,7 @@ function formatSegment(segment: BalanceSegment, nowMs: number): string {
|
|
|
337
337
|
if (!quota) return "";
|
|
338
338
|
|
|
339
339
|
const window = quota.windowSeconds
|
|
340
|
-
? `${formatWindowDuration(quota.windowSeconds)} `
|
|
340
|
+
? `${formatWindowDuration(quota.windowSeconds)}: `
|
|
341
341
|
: "";
|
|
342
342
|
const percent = `${clampPercent(quota.remainingPercent)}%`;
|
|
343
343
|
const core = `${window}${percent}${formatResetSuffix(quota.resetAt, nowMs)}`;
|
package/vision.ts
CHANGED
|
@@ -319,6 +319,12 @@ export default function (pi: ExtensionAPI): void {
|
|
|
319
319
|
pi.on("model_select", (event) => {
|
|
320
320
|
syncVisionToolVisibility(event.model);
|
|
321
321
|
});
|
|
322
|
+
// model_select only fires on identity change (provider/id) — a registry
|
|
323
|
+
// refresh can swap the model object with a different input list silently.
|
|
324
|
+
// Re-check at the last checkpoint before each turn's loadout is built.
|
|
325
|
+
pi.on("before_agent_start", (_event, ctx) => {
|
|
326
|
+
syncVisionToolVisibility(ctx.model);
|
|
327
|
+
});
|
|
322
328
|
|
|
323
329
|
// Burst-style rows while clean-tui is active — a load-time decision: the
|
|
324
330
|
// flag is settled before this module registers (index.ts loads clean-tui
|