@askexenow/exe-os 0.8.22 → 0.8.23

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/dist/bin/cli.js CHANGED
@@ -751,13 +751,17 @@ async function mergeHooks(packageRoot, homeDir = os3.homedir()) {
751
751
  settings.hooks[event] = [];
752
752
  }
753
753
  const existing = settings.hooks[event];
754
- const alreadyExists = existing.some(
755
- (g) => g.hooks.some((h) => h.command.includes(marker))
754
+ const correctCommand = group.hooks[0]?.command ?? "";
755
+ const alreadyCorrect = existing.some(
756
+ (g) => g.hooks.some((h) => h.command === correctCommand)
756
757
  );
757
- if (alreadyExists) {
758
+ if (alreadyCorrect) {
758
759
  skipped++;
759
760
  } else {
760
- existing.push(group);
761
+ settings.hooks[event] = existing.filter(
762
+ (g) => !g.hooks.some((h) => h.command.includes(marker))
763
+ );
764
+ settings.hooks[event].push(group);
761
765
  added++;
762
766
  }
763
767
  }
@@ -21455,7 +21459,7 @@ async function runClaudeUninstall() {
21455
21459
  return {
21456
21460
  ...g,
21457
21461
  hooks: g.hooks.filter(
21458
- (h) => !(typeof h.command === "string" && h.command.includes("exe-os"))
21462
+ (h) => !(typeof h.command === "string" && (h.command.includes("exe-os") || h.command.includes("askexenow") || h.command.includes("exe-mem")))
21459
21463
  )
21460
21464
  };
21461
21465
  }).filter(
@@ -478,13 +478,17 @@ async function mergeHooks(packageRoot, homeDir = os3.homedir()) {
478
478
  settings.hooks[event] = [];
479
479
  }
480
480
  const existing = settings.hooks[event];
481
- const alreadyExists = existing.some(
482
- (g) => g.hooks.some((h) => h.command.includes(marker))
481
+ const correctCommand = group.hooks[0]?.command ?? "";
482
+ const alreadyCorrect = existing.some(
483
+ (g) => g.hooks.some((h) => h.command === correctCommand)
483
484
  );
484
- if (alreadyExists) {
485
+ if (alreadyCorrect) {
485
486
  skipped++;
486
487
  } else {
487
- existing.push(group);
488
+ settings.hooks[event] = existing.filter(
489
+ (g) => !g.hooks.some((h) => h.command.includes(marker))
490
+ );
491
+ settings.hooks[event].push(group);
488
492
  added++;
489
493
  }
490
494
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askexenow/exe-os",
3
- "version": "0.8.22",
3
+ "version": "0.8.23",
4
4
  "description": "AI employee operating system — persistent memory, task management, and multi-agent coordination for Claude Code.",
5
5
  "license": "CC-BY-NC-4.0",
6
6
  "type": "module",