portable-agent-layer 0.91.3 → 0.91.4
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
package/src/targets/lib.ts
CHANGED
|
@@ -989,8 +989,11 @@ export function removePalContextFiles(dir: string, suffix: string): string[] {
|
|
|
989
989
|
return removed;
|
|
990
990
|
}
|
|
991
991
|
|
|
992
|
-
/**
|
|
993
|
-
|
|
992
|
+
/**
|
|
993
|
+
* Remove one agent's PAL skill links. ~/.pal/skills/<name> and ~/.agents/skills
|
|
994
|
+
* are shared by every installed agent, so a per-agent uninstall leaves them.
|
|
995
|
+
*/
|
|
996
|
+
export function removeSkills(agentSkillsDir: string): string[] {
|
|
994
997
|
const skillsDir = assets.skills();
|
|
995
998
|
if (!existsSync(skillsDir)) return [];
|
|
996
999
|
|
|
@@ -998,24 +1001,15 @@ export function removeSkills(claudeSkillsDir: string): string[] {
|
|
|
998
1001
|
for (const name of readdirSync(skillsDir)) {
|
|
999
1002
|
if (!existsSync(resolve(skillsDir, name, "SKILL.md"))) continue;
|
|
1000
1003
|
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
/* already gone */
|
|
1006
|
-
}
|
|
1004
|
+
try {
|
|
1005
|
+
unlinkSync(resolve(agentSkillsDir, name));
|
|
1006
|
+
} catch {
|
|
1007
|
+
/* already gone */
|
|
1007
1008
|
}
|
|
1008
1009
|
removed.push(name);
|
|
1009
1010
|
log.detail(`Removed skill: ${name}`);
|
|
1010
1011
|
}
|
|
1011
1012
|
|
|
1012
|
-
// Remove ~/.agents/skills/ → ~/.pal/skills/ symlink
|
|
1013
|
-
try {
|
|
1014
|
-
unlinkSync(resolve(platform.agentsDir(), "skills"));
|
|
1015
|
-
} catch {
|
|
1016
|
-
/* gone */
|
|
1017
|
-
}
|
|
1018
|
-
|
|
1019
1013
|
return removed;
|
|
1020
1014
|
}
|
|
1021
1015
|
|
|
@@ -7,7 +7,7 @@ import { existsSync, readFileSync, statSync, unlinkSync, writeFileSync } from "n
|
|
|
7
7
|
import { resolve } from "node:path";
|
|
8
8
|
import { platform } from "../../hooks/lib/paths";
|
|
9
9
|
import { getSemiStaticSources } from "../../hooks/lib/semi-static";
|
|
10
|
-
import { log, removeAgentsFromOpencode, removePalDocs
|
|
10
|
+
import { log, removeAgentsFromOpencode, removePalDocs } from "../lib";
|
|
11
11
|
import { palHomePattern, removePalHomeAllow } from "./permission";
|
|
12
12
|
|
|
13
13
|
const OC_GLOBAL_DIR = platform.opencodeDir() || "";
|
|
@@ -28,11 +28,6 @@ try {
|
|
|
28
28
|
log.info("No PAL plugin found");
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
// --- Remove skills ---
|
|
32
|
-
const removed = removeSkills(resolve(PAL_CLAUDE_DIR, "skills"));
|
|
33
|
-
if (removed.length > 0)
|
|
34
|
-
log.success(`Removed ${removed.length} skill(s): ${removed.join(", ")}`);
|
|
35
|
-
|
|
36
31
|
// --- Remove agents ---
|
|
37
32
|
const removedAgents = removeAgentsFromOpencode(resolve(OC_GLOBAL_DIR, "agents"));
|
|
38
33
|
if (removedAgents.length > 0)
|