supipowers 0.2.4 → 0.2.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "supipowers",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "description": "OMP-native workflow extension inspired by Superpowers.",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -1,4 +1,4 @@
1
- import type { ExtensionAPI } from "@oh-my-pi/pi-coding-agent";
1
+ import type { ExtensionAPI, ExtensionCommandContext } from "@oh-my-pi/pi-coding-agent";
2
2
  import { loadConfig, updateConfig } from "../config/loader.js";
3
3
  import { listProfiles } from "../config/profiles.js";
4
4
  import type { SupipowersConfig } from "../types.js";
@@ -96,7 +96,8 @@ function buildSettings(cwd: string): SettingDef[] {
96
96
  export function registerConfigCommand(pi: ExtensionAPI): void {
97
97
  pi.registerCommand("supi:config", {
98
98
  description: "View and manage Supipowers configuration",
99
- async handler(_args, ctx) {
99
+ // Synchronous handler — returning void (not a Promise) prevents OMP's "Working..." indicator
100
+ handler: ((_args: string, ctx: ExtensionCommandContext) => {
100
101
  if (!ctx.hasUI) {
101
102
  ctx.ui.notify("Config UI requires interactive mode", "warning");
102
103
  return;
@@ -153,6 +154,6 @@ export function registerConfigCommand(pi: ExtensionAPI): void {
153
154
  }
154
155
  }
155
156
  })();
156
- },
157
+ }) as any,
157
158
  });
158
159
  }
@@ -1,10 +1,11 @@
1
- import type { ExtensionAPI } from "@oh-my-pi/pi-coding-agent";
1
+ import type { ExtensionAPI, ExtensionCommandContext } from "@oh-my-pi/pi-coding-agent";
2
2
  import { findActiveRun, loadAllAgentResults } from "../storage/runs.js";
3
3
 
4
4
  export function registerStatusCommand(pi: ExtensionAPI): void {
5
5
  pi.registerCommand("supi:status", {
6
6
  description: "Check on running sub-agents and task progress",
7
- async handler(_args, ctx) {
7
+ // Synchronous handler — returning void (not a Promise) prevents OMP's "Working..." indicator
8
+ handler: ((_args: string, ctx: ExtensionCommandContext) => {
8
9
  ctx.ui.setEditorText("");
9
10
 
10
11
  const activeRun = findActiveRun(ctx.cwd);
@@ -41,6 +42,6 @@ export function registerStatusCommand(pi: ExtensionAPI): void {
41
42
  helpText: "Esc to close",
42
43
  });
43
44
  })();
44
- },
45
+ }) as any,
45
46
  });
46
47
  }
@@ -1,4 +1,4 @@
1
- import type { ExtensionAPI } from "@oh-my-pi/pi-coding-agent";
1
+ import type { ExtensionAPI, ExtensionCommandContext } from "@oh-my-pi/pi-coding-agent";
2
2
  import { loadConfig } from "../config/loader.js";
3
3
  import { findActiveRun } from "../storage/runs.js";
4
4
  import { loadLatestReport } from "../storage/reports.js";
@@ -7,7 +7,8 @@ import { listPlans } from "../storage/plans.js";
7
7
  export function registerSupiCommand(pi: ExtensionAPI): void {
8
8
  pi.registerCommand("supi", {
9
9
  description: "Supipowers overview — show available commands and project status",
10
- async handler(_args, ctx) {
10
+ // Synchronous handler — returning void (not a Promise) prevents OMP's "Working..." indicator
11
+ handler: ((_args: string, ctx: ExtensionCommandContext) => {
11
12
  ctx.ui.setEditorText("");
12
13
  void (async () => {
13
14
  const config = loadConfig(ctx.cwd);
@@ -47,6 +48,6 @@ export function registerSupiCommand(pi: ExtensionAPI): void {
47
48
  }
48
49
  }
49
50
  })();
50
- },
51
+ }) as any,
51
52
  });
52
53
  }
@@ -1,4 +1,4 @@
1
- import type { ExtensionAPI } from "@oh-my-pi/pi-coding-agent";
1
+ import type { ExtensionAPI, ExtensionCommandContext } from "@oh-my-pi/pi-coding-agent";
2
2
  import { readFileSync, existsSync, mkdirSync, cpSync, rmSync, readdirSync } from "node:fs";
3
3
  import { join } from "node:path";
4
4
  import { homedir, tmpdir } from "node:os";
@@ -6,7 +6,8 @@ import { homedir, tmpdir } from "node:os";
6
6
  export function registerUpdateCommand(pi: ExtensionAPI): void {
7
7
  pi.registerCommand("supi:update", {
8
8
  description: "Update supipowers to the latest version",
9
- async handler(_args, ctx) {
9
+ // Synchronous handler — returning void (not a Promise) prevents OMP's "Working..." indicator
10
+ handler: ((_args: string, ctx: ExtensionCommandContext) => {
10
11
  ctx.ui.setEditorText("");
11
12
  void (async () => {
12
13
  const ompAgent = join(homedir(), ".omp", "agent");
@@ -95,6 +96,6 @@ export function registerUpdateCommand(pi: ExtensionAPI): void {
95
96
  }
96
97
  }
97
98
  })();
98
- },
99
+ }) as any,
99
100
  });
100
101
  }