@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 CHANGED
@@ -24,7 +24,7 @@ Restart Pi (or run `/reload`) to pick it up.
24
24
 
25
25
  ### Sibling toppings
26
26
 
27
- The sibling-topping setup flow currently ships behind the `PI_TOPPING_SIBLING_SETUP=1` environment flag. When enabled, 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.
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.7.2",
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
- if (isSiblingSetupEnabled()) announceMissingToppingsOnce(this.#pi);
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
- if (isSiblingSetupEnabled()) this.#pi.registerEntryRenderer<MissingToppingsEntryData>(SETUP_ENTRY_TYPE, (entry, _o, theme) => renderMissingToppingsEntry(entry, theme));
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
- if (isSiblingSetupEnabled()) registerSetupCommand(this.#pi);
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
- }