@underactive/pi-topping 0.7.2 → 0.8.0
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 +1 -1
- package/package.json +1 -1
- package/src/session.ts +3 -4
- package/src/flags.ts +0 -19
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ Restart Pi (or run `/reload`) to pick it up.
|
|
|
24
24
|
|
|
25
25
|
### Sibling toppings
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
Run `/topping-setup` in TUI mode to selectively install missing Pi Topping sibling extensions or uninstall sibling packages recorded in Pi's user settings. Installation rows are selected by default; removal rows are unchecked by default. Restart Pi after applying package changes. Use `/topping-setup disable-side-toppings-check` to suppress missing-topping notices, or `enable-side-toppings-check` to restore them.
|
|
28
28
|
|
|
29
29
|
## Settings
|
|
30
30
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@underactive/pi-topping",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "A Pi extension that adds quality of life improvements to Pi's UX: a high-vis user prompt, a shimmering working loader with token activity meter and elapsed timer, and an end-of-turn completion marker",
|
|
5
5
|
"keywords": ["pi-package", "pi-extension"],
|
|
6
6
|
"license": "MIT",
|
package/src/session.ts
CHANGED
|
@@ -38,7 +38,6 @@ import {
|
|
|
38
38
|
StreamingWordCounter,
|
|
39
39
|
type ThinkingLevel,
|
|
40
40
|
} from "./format.ts";
|
|
41
|
-
import { isSiblingSetupEnabled } from "./flags.ts";
|
|
42
41
|
import { showMenu } from "./menu.ts";
|
|
43
42
|
import { getResponseModelColorizer } from "./nvidia-green.ts";
|
|
44
43
|
import { registerSetupCommand } from "./setup-command.ts";
|
|
@@ -181,7 +180,7 @@ export class SessionManager {
|
|
|
181
180
|
this.#state.activityMeter.setDirection(this.#settings.decorations.meterDirection);
|
|
182
181
|
if (this.usable(ctx)) {
|
|
183
182
|
this.applyIndicator(ctx);
|
|
184
|
-
|
|
183
|
+
announceMissingToppingsOnce(this.#pi);
|
|
185
184
|
}
|
|
186
185
|
};
|
|
187
186
|
|
|
@@ -395,13 +394,13 @@ export class SessionManager {
|
|
|
395
394
|
this.#pi.on("ui_prompt_end", this.#onUIPromptEnd);
|
|
396
395
|
this.#pi.on("session_shutdown", this.#onSessionShutdown);
|
|
397
396
|
this.#pi.registerEntryRenderer<DoneEntryData>(DONE_ENTRY_TYPE, (entry, _o, theme) => this.#renderDoneEntry(entry, theme));
|
|
398
|
-
|
|
397
|
+
this.#pi.registerEntryRenderer<MissingToppingsEntryData>(SETUP_ENTRY_TYPE, (entry, _o, theme) => renderMissingToppingsEntry(entry, theme));
|
|
399
398
|
this.#pi.registerMessageRenderer<PromptBoxDetails>(PROMPT_BOX_TYPE, promptBoxRenderer);
|
|
400
399
|
this.#pi.registerCommand("topping-settings", {
|
|
401
400
|
description: "Configure prompt decoration, working-loader features/order, and completion-marker settings.",
|
|
402
401
|
handler: async (_a, ctx) => this.showSettings(ctx),
|
|
403
402
|
});
|
|
404
|
-
|
|
403
|
+
registerSetupCommand(this.#pi);
|
|
405
404
|
}
|
|
406
405
|
|
|
407
406
|
private usable(ctx: ExtensionContext): boolean {
|
package/src/flags.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Feature gates for unreleased functionality.
|
|
3
|
-
*
|
|
4
|
-
* Sibling-topping detection and the `/topping-setup` command ship dark: the
|
|
5
|
-
* default below stays `false` until the flow is ready for the public. Setting
|
|
6
|
-
* `PI_TOPPING_SIBLING_SETUP` to any value other than `0`, `false`, `off`, or
|
|
7
|
-
* `no` (case-insensitive) opts a session in without touching code.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
const SIBLING_SETUP_DEFAULT = false;
|
|
11
|
-
|
|
12
|
-
const FALSEY_FLAG_VALUES = new Set(["0", "false", "off", "no"]);
|
|
13
|
-
|
|
14
|
-
/** Whether the sibling-topping setup flow is registered and advertised. */
|
|
15
|
-
export function isSiblingSetupEnabled(): boolean {
|
|
16
|
-
const value = process.env.PI_TOPPING_SIBLING_SETUP?.trim().toLowerCase();
|
|
17
|
-
if (value === undefined || value === "") return SIBLING_SETUP_DEFAULT;
|
|
18
|
-
return !FALSEY_FLAG_VALUES.has(value);
|
|
19
|
-
}
|