@tacuchi/agent-workflow-cli 7.0.4 → 7.1.1

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.
@@ -0,0 +1,20 @@
1
+ import type { ParsedArgs } from "../../cli/parser.js";
2
+ import type { CliContext } from "../../cli/types.js";
3
+ import type { CommandResult } from "../../domain/types.js";
4
+ import { type InstallTarget } from "./install-skill.js";
5
+ export type CleanLegacyTargetChoice = InstallTarget | "all";
6
+ export interface LegacySkillRemoval {
7
+ target: InstallTarget;
8
+ path: string;
9
+ status: "removed" | "dry-run";
10
+ prefix_matched: string;
11
+ }
12
+ export interface SelfCleanLegacyData {
13
+ status: "removed" | "dry-run" | "noop";
14
+ removed: LegacySkillRemoval[];
15
+ prefixes_used: string[];
16
+ scanned_dirs: string[];
17
+ summary: string;
18
+ }
19
+ export declare function selfCleanLegacy(args: ParsedArgs, ctx: CliContext): Promise<CommandResult<SelfCleanLegacyData>>;
20
+ //# sourceMappingURL=clean-legacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean-legacy.d.ts","sourceRoot":"","sources":["../../../src/application/self/clean-legacy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AAEtE,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,KAAK,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAUD,wBAAsB,eAAe,CACnC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAkD7C"}
@@ -0,0 +1,99 @@
1
+ import { rm } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { TARGET_ROOTS } from "./install-skill.js";
4
+ const ALL_TARGETS = ["claude", "codex", "agents", "warp", "oz"];
5
+ const TARGET_CHOICES = [...ALL_TARGETS, "all"];
6
+ // Default legacy patterns left over from pre-v7.0.0 plugins:
7
+ // - `qtc-*` — from qtc-workflow-plugin v3.x (37 skills with this prefix)
8
+ // - `agent-workflow-manager` — pre-v3.x SKILL name (single entry, full match)
9
+ const DEFAULT_LEGACY_PREFIXES = ["qtc-", "agent-workflow-manager"];
10
+ export async function selfCleanLegacy(args, ctx) {
11
+ const dryRun = args.flags.has("--dry-run");
12
+ const targetArg = (args.values.get("target") ?? "all");
13
+ const extraPrefixes = args.valuesMulti.get("prefix") ?? [];
14
+ const prefixes = [...DEFAULT_LEGACY_PREFIXES, ...extraPrefixes];
15
+ if (!TARGET_CHOICES.includes(targetArg)) {
16
+ return {
17
+ ok: false,
18
+ error: {
19
+ code: "INVALID_TARGET",
20
+ message: `--target must be one of: ${TARGET_CHOICES.join(", ")}. Got '${targetArg}'.`,
21
+ },
22
+ exitCode: 1,
23
+ };
24
+ }
25
+ const targets = targetArg === "all" ? [...ALL_TARGETS] : [targetArg];
26
+ const home = ctx.env.homeDir();
27
+ const removed = [];
28
+ const scannedDirs = [];
29
+ const seenDirs = new Set();
30
+ for (const target of targets) {
31
+ const skillsDir = join(home, ...TARGET_ROOTS[target]);
32
+ if (seenDirs.has(skillsDir))
33
+ continue;
34
+ seenDirs.add(skillsDir);
35
+ scannedDirs.push(skillsDir);
36
+ removed.push(...(await scanDir(ctx, target, skillsDir, prefixes, dryRun)));
37
+ }
38
+ const status = dryRun
39
+ ? "dry-run"
40
+ : removed.length === 0
41
+ ? "noop"
42
+ : "removed";
43
+ return {
44
+ ok: true,
45
+ data: {
46
+ status,
47
+ removed,
48
+ prefixes_used: prefixes,
49
+ scanned_dirs: scannedDirs,
50
+ summary: buildSummary(status, removed.length, scannedDirs.length),
51
+ },
52
+ exitCode: 0,
53
+ };
54
+ }
55
+ async function scanDir(ctx, target, skillsDir, prefixes, dryRun) {
56
+ if (!(await ctx.fs.exists(skillsDir)))
57
+ return [];
58
+ const entries = await ctx.fs.list(skillsDir);
59
+ const out = [];
60
+ for (const entry of entries) {
61
+ if (entry.type !== "dir")
62
+ continue;
63
+ const matched = matchPrefix(entry.name, prefixes);
64
+ if (matched === null)
65
+ continue;
66
+ const full = join(skillsDir, entry.name);
67
+ if (!dryRun)
68
+ await rm(full, { recursive: true, force: true });
69
+ out.push({
70
+ target,
71
+ path: full,
72
+ status: dryRun ? "dry-run" : "removed",
73
+ prefix_matched: matched,
74
+ });
75
+ }
76
+ return out;
77
+ }
78
+ function matchPrefix(name, prefixes) {
79
+ for (const p of prefixes) {
80
+ if (p.endsWith("-")) {
81
+ if (name.startsWith(p))
82
+ return p;
83
+ }
84
+ else if (name === p) {
85
+ return p;
86
+ }
87
+ }
88
+ return null;
89
+ }
90
+ function buildSummary(status, count, dirsScanned) {
91
+ if (status === "dry-run") {
92
+ return `[dry-run] ${count} legacy skill(s) found across ${dirsScanned} host dir(s); nothing removed.`;
93
+ }
94
+ if (status === "noop") {
95
+ return `No legacy skills found across ${dirsScanned} host dir(s). All clean.`;
96
+ }
97
+ return `Removed ${count} legacy skill(s) across ${dirsScanned} host dir(s).`;
98
+ }
99
+ //# sourceMappingURL=clean-legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean-legacy.js","sourceRoot":"","sources":["../../../src/application/self/clean-legacy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { ParsedArgs } from "../../cli/parser.js";
2
+ import type { CliContext } from "../../cli/types.js";
3
+ import type { CommandResult } from "../../domain/types.js";
4
+ import { type InstallTarget } from "./install-skill.js";
5
+ export type UninstallTargetChoice = InstallTarget | "all";
6
+ export interface UninstallStep {
7
+ target: InstallTarget;
8
+ kind: "skill" | "legacy-skill" | "user-commands" | "hooks";
9
+ path: string;
10
+ status: "removed" | "dry-run" | "skipped";
11
+ reason?: string;
12
+ }
13
+ export interface SelfUninstallData {
14
+ status: "removed" | "dry-run" | "noop";
15
+ steps: UninstallStep[];
16
+ lock_updated: boolean;
17
+ lock_path?: string;
18
+ lock_warning?: string;
19
+ }
20
+ export declare function selfUninstall(args: ParsedArgs, ctx: CliContext): Promise<CommandResult<SelfUninstallData>>;
21
+ //# sourceMappingURL=uninstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/application/self/uninstall.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAEL,KAAK,aAAa,EAInB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,KAAK,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,eAAe,GAAG,OAAO,CAAC;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAiCD,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAqD3C"}
@@ -0,0 +1,241 @@
1
+ import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { AGENTS_LOCK_REL, LEGACY_SKILL_NAME, SKILL_DIR_NAME, TARGET_ROOTS, } from "./install-skill.js";
4
+ const ALL_TARGETS = ["claude", "codex", "agents", "warp", "oz"];
5
+ const TARGET_CHOICES = [...ALL_TARGETS, "all"];
6
+ const USER_COMMANDS_RELPATH_BY_TARGET = {
7
+ claude: ".claude/commands/agent-workflow",
8
+ codex: ".codex/commands/agent-workflow",
9
+ warp: null,
10
+ oz: null,
11
+ agents: null,
12
+ };
13
+ const HOOKS_REMOVABLE_TARGETS = new Set(["claude"]);
14
+ // Event names we install via hooks.template.json (we only touch these on
15
+ // uninstall to avoid clobbering hooks the user added manually).
16
+ const HOOK_EVENTS_WE_INSTALL = [
17
+ "SessionStart",
18
+ "PreToolUse",
19
+ "SessionEnd",
20
+ "PreCompact",
21
+ "PostCompact",
22
+ ];
23
+ export async function selfUninstall(args, ctx) {
24
+ const skillOnly = args.flags.has("--skill-only");
25
+ const flags = {
26
+ dryRun: args.flags.has("--dry-run"),
27
+ includeLegacy: args.flags.has("--legacy"),
28
+ skillOnly,
29
+ withHooks: args.flags.has("--with-hooks"),
30
+ skipCommands: skillOnly || args.flags.has("--no-commands"),
31
+ };
32
+ const targetArg = (args.values.get("target") ?? "all");
33
+ if (!TARGET_CHOICES.includes(targetArg)) {
34
+ return {
35
+ ok: false,
36
+ error: {
37
+ code: "INVALID_TARGET",
38
+ message: `--target must be one of: ${TARGET_CHOICES.join(", ")}. Got '${targetArg}'.`,
39
+ },
40
+ exitCode: 1,
41
+ };
42
+ }
43
+ const targets = targetArg === "all" ? [...ALL_TARGETS] : [targetArg];
44
+ const home = ctx.env.homeDir();
45
+ const steps = [];
46
+ for (const target of targets) {
47
+ steps.push(...(await uninstallOneTarget(ctx, home, target, flags)));
48
+ }
49
+ const lockResult = targets.includes("agents")
50
+ ? await updateAgentsLock(ctx, home, flags.includeLegacy, flags.dryRun)
51
+ : { updated: false };
52
+ const removedCount = steps.filter((s) => s.status === "removed").length;
53
+ const status = flags.dryRun
54
+ ? "dry-run"
55
+ : removedCount === 0
56
+ ? "noop"
57
+ : "removed";
58
+ return {
59
+ ok: true,
60
+ data: {
61
+ status,
62
+ steps,
63
+ lock_updated: lockResult.updated,
64
+ ...(lockResult.path ? { lock_path: lockResult.path } : {}),
65
+ ...(lockResult.warning ? { lock_warning: lockResult.warning } : {}),
66
+ },
67
+ exitCode: 0,
68
+ };
69
+ }
70
+ async function uninstallOneTarget(ctx, home, target, flags) {
71
+ const steps = [];
72
+ steps.push(...(await removeSkill(ctx, home, target, flags.includeLegacy, flags.dryRun)));
73
+ if (!flags.skipCommands) {
74
+ const cmdStep = await removeUserCommands(ctx, home, target, flags.dryRun);
75
+ if (cmdStep !== null)
76
+ steps.push(cmdStep);
77
+ }
78
+ if (flags.withHooks && !flags.skillOnly) {
79
+ const hookStep = await removeHooks(ctx, home, target, flags.dryRun);
80
+ if (hookStep !== null)
81
+ steps.push(hookStep);
82
+ }
83
+ return steps;
84
+ }
85
+ async function removeSkill(ctx, home, target, includeLegacy, dryRun) {
86
+ const out = [];
87
+ const canonical = join(home, ...TARGET_ROOTS[target], SKILL_DIR_NAME);
88
+ if (await ctx.fs.exists(canonical)) {
89
+ if (!dryRun)
90
+ await rm(canonical, { recursive: true, force: true });
91
+ out.push({
92
+ target,
93
+ kind: "skill",
94
+ path: canonical,
95
+ status: dryRun ? "dry-run" : "removed",
96
+ });
97
+ }
98
+ if (includeLegacy) {
99
+ const legacy = join(home, ...TARGET_ROOTS[target], LEGACY_SKILL_NAME);
100
+ if (await ctx.fs.exists(legacy)) {
101
+ if (!dryRun)
102
+ await rm(legacy, { recursive: true, force: true });
103
+ out.push({
104
+ target,
105
+ kind: "legacy-skill",
106
+ path: legacy,
107
+ status: dryRun ? "dry-run" : "removed",
108
+ });
109
+ }
110
+ }
111
+ return out;
112
+ }
113
+ async function removeUserCommands(ctx, home, target, dryRun) {
114
+ const relpath = USER_COMMANDS_RELPATH_BY_TARGET[target];
115
+ if (relpath === null)
116
+ return null;
117
+ const dir = join(home, relpath);
118
+ if (!(await ctx.fs.exists(dir)))
119
+ return null;
120
+ if (!dryRun)
121
+ await rm(dir, { recursive: true, force: true });
122
+ return {
123
+ target,
124
+ kind: "user-commands",
125
+ path: dir,
126
+ status: dryRun ? "dry-run" : "removed",
127
+ };
128
+ }
129
+ async function removeHooks(ctx, home, target, dryRun) {
130
+ if (!HOOKS_REMOVABLE_TARGETS.has(target))
131
+ return null;
132
+ const settingsPath = join(home, ".claude", "settings.json");
133
+ if (!(await ctx.fs.exists(settingsPath)))
134
+ return null;
135
+ const parsed = await tryParseSettings(settingsPath);
136
+ if (parsed === "invalid") {
137
+ return {
138
+ target,
139
+ kind: "hooks",
140
+ path: settingsPath,
141
+ status: "skipped",
142
+ reason: "settings.json is invalid JSON; not modified",
143
+ };
144
+ }
145
+ if (parsed === null)
146
+ return null;
147
+ const removed = stripOurHookEvents(parsed);
148
+ if (removed.length === 0)
149
+ return null;
150
+ if (!dryRun)
151
+ await persistSettings(home, settingsPath, parsed);
152
+ return {
153
+ target,
154
+ kind: "hooks",
155
+ path: settingsPath,
156
+ status: dryRun ? "dry-run" : "removed",
157
+ reason: `Removed events: ${removed.join(", ")}`,
158
+ };
159
+ }
160
+ async function tryParseSettings(path) {
161
+ let data;
162
+ try {
163
+ data = JSON.parse(await readFile(path, "utf8"));
164
+ }
165
+ catch {
166
+ return "invalid";
167
+ }
168
+ if (typeof data !== "object" || data === null || !("hooks" in data))
169
+ return null;
170
+ const hooks = data.hooks;
171
+ if (typeof hooks !== "object" || hooks === null)
172
+ return null;
173
+ return data;
174
+ }
175
+ function stripOurHookEvents(data) {
176
+ const hooks = data.hooks;
177
+ const removed = [];
178
+ for (const event of HOOK_EVENTS_WE_INSTALL) {
179
+ if (event in hooks) {
180
+ hooks[event] = undefined;
181
+ removed.push(event);
182
+ }
183
+ }
184
+ for (const event of removed) {
185
+ // Object.keys() drops undefined-valued keys in JSON.stringify; we want
186
+ // them actually removed from the object too to keep iteration clean.
187
+ Reflect.deleteProperty(hooks, event);
188
+ }
189
+ if (Object.keys(hooks).length === 0) {
190
+ Reflect.deleteProperty(data, "hooks");
191
+ }
192
+ else {
193
+ data.hooks = hooks;
194
+ }
195
+ return removed;
196
+ }
197
+ async function persistSettings(home, settingsPath, data) {
198
+ const ts = Math.floor(Date.now() / 1000);
199
+ const backupPath = `${settingsPath}.bak.${ts}`;
200
+ await mkdir(join(home, ".claude"), { recursive: true });
201
+ try {
202
+ const original = await readFile(settingsPath, "utf8");
203
+ await writeFile(backupPath, original, "utf8");
204
+ }
205
+ catch {
206
+ // best-effort backup
207
+ }
208
+ await writeFile(settingsPath, `${JSON.stringify(data, null, 2)}\n`, "utf8");
209
+ }
210
+ async function updateAgentsLock(ctx, home, includeLegacy, dryRun) {
211
+ const lockPath = join(home, ...AGENTS_LOCK_REL);
212
+ if (!(await ctx.fs.exists(lockPath)))
213
+ return { updated: false };
214
+ let parsed;
215
+ try {
216
+ parsed = JSON.parse(await ctx.fs.readText(lockPath));
217
+ }
218
+ catch (err) {
219
+ return {
220
+ updated: false,
221
+ path: lockPath,
222
+ warning: `Could not parse ${lockPath}: ${err.message}. Lock left untouched.`,
223
+ };
224
+ }
225
+ const skills = (parsed.skills ?? {});
226
+ const before = Object.keys(skills);
227
+ const namesToRemove = [SKILL_DIR_NAME, ...(includeLegacy ? [LEGACY_SKILL_NAME] : [])];
228
+ for (const name of namesToRemove) {
229
+ delete skills[name];
230
+ }
231
+ const after = Object.keys(skills);
232
+ const changed = before.length !== after.length;
233
+ if (!changed)
234
+ return { updated: false, path: lockPath };
235
+ if (!dryRun) {
236
+ parsed.skills = skills;
237
+ await writeFile(lockPath, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
238
+ }
239
+ return { updated: true, path: lockPath };
240
+ }
241
+ //# sourceMappingURL=uninstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/application/self/uninstall.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"self.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/self.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAiBjD,eAAO,MAAM,WAAW,EAAE,UAoDzB,CAAC"}
1
+ {"version":3,"file":"self.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/self.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAqBjD,eAAO,MAAM,WAAW,EAAE,UA0DzB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { selfBootstrap } from "../../application/self/bootstrap.js";
2
+ import { selfCleanLegacy } from "../../application/self/clean-legacy.js";
2
3
  import { selfDetectHosts } from "../../application/self/detect-hosts.js";
3
4
  import { selfDoctor } from "../../application/self/doctor-self.js";
4
5
  import { selfInstallHooks } from "../../application/self/install-hooks.js";
@@ -7,18 +8,24 @@ import { selfInstallPluginSkills } from "../../application/self/install-plugin-s
7
8
  import { selfInstallSkill } from "../../application/self/install-skill.js";
8
9
  import { selfMcpConfig } from "../../application/self/mcp-config.js";
9
10
  import { selfNamespace } from "../../application/self/namespace-info.js";
11
+ import { selfClearPluginCache } from "../../application/self/plugin-cache-clear.js";
10
12
  import { selfUninstallSkill } from "../../application/self/uninstall-skill.js";
13
+ import { selfUninstall } from "../../application/self/uninstall.js";
11
14
  import { selfUpdate } from "../../application/self/update-self.js";
12
15
  const SELF_SUBCOMMANDS = [
13
16
  "namespace",
14
17
  "doctor",
15
18
  "detect-hosts",
16
19
  "update",
20
+ "install",
17
21
  "install-skill",
18
22
  "install-hooks",
19
23
  "install-plugin-skills",
20
24
  "install-plugin-skills-git",
25
+ "uninstall",
21
26
  "uninstall-skill",
27
+ "clean-cache",
28
+ "clean-legacy",
22
29
  "mcp",
23
30
  "bootstrap",
24
31
  ];
@@ -45,8 +52,14 @@ export const selfCommand = {
45
52
  return selfInstallPluginSkills(args, ctx);
46
53
  case "install-plugin-skills-git":
47
54
  return installPluginSkillsFromGit(args, ctx);
55
+ case "uninstall":
56
+ return selfUninstall(args, ctx);
48
57
  case "uninstall-skill":
49
58
  return selfUninstallSkill(args, ctx);
59
+ case "clean-cache":
60
+ return runCleanCache(args, ctx);
61
+ case "clean-legacy":
62
+ return selfCleanLegacy(args, ctx);
50
63
  case "mcp":
51
64
  return selfMcpConfig(args, ctx);
52
65
  case "bootstrap":
@@ -73,4 +86,9 @@ export const selfCommand = {
73
86
  }
74
87
  },
75
88
  };
89
+ async function runCleanCache(args, ctx) {
90
+ if (!args.values.has("plugin"))
91
+ args.values.set("plugin", "agent-workflow");
92
+ return selfClearPluginCache(args, ctx);
93
+ }
76
94
  //# sourceMappingURL=self.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"self.js","sourceRoot":"","sources":["../../../src/cli/commands/self.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAMnE,MAAM,gBAAgB,GAAG;IACvB,WAAW;IACX,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,eAAe;IACf,eAAe;IACf,uBAAuB;IACvB,2BAA2B;IAC3B,iBAAiB;IACjB,KAAK;IACL,WAAW;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,IAAI,EAAE,MAAM;IACZ,QAAQ,EACN,kMAAkM;IACpM,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,WAAW;gBACd,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;YAC5B,KAAK,QAAQ;gBACX,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;YACzB,KAAK,cAAc;gBACjB,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9B,KAAK,QAAQ;gBACX,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/B,KAAK,SAAS,CAAC;YACf,KAAK,eAAe;gBAClB,OAAO,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrC,KAAK,eAAe;gBAClB,OAAO,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrC,KAAK,uBAAuB;gBAC1B,OAAO,uBAAuB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC5C,KAAK,2BAA2B;gBAC9B,OAAO,0BAA0B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/C,KAAK,iBAAiB;gBACpB,OAAO,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACvC,KAAK,KAAK;gBACR,OAAO,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClC,KAAK,WAAW;gBACd,OAAO,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClC,KAAK,SAAS,CAAC;YACf,KAAK,EAAE;gBACL,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE;wBACJ,WAAW,EAAE,CAAC,GAAG,gBAAgB,CAAC;wBAClC,SAAS,EACP,iHAAiH;qBACpH;oBACD,QAAQ,EAAE,CAAC;iBACZ,CAAC;YACJ;gBACE,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,6BAA6B,GAAG,iBAAiB,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;qBACxF;oBACD,QAAQ,EAAE,CAAC;iBACZ,CAAC;QACN,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"self.js","sourceRoot":"","sources":["../../../src/cli/commands/self.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skills-tab.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/skills-tab.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAUjD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAwDD,wBAAgB,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,cAAc,2CA0L1D"}
1
+ {"version":3,"file":"skills-tab.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/skills-tab.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAUjD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAsHD,wBAAgB,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,cAAc,2CAmM1D"}
@@ -1,14 +1,23 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Box, Text, useInput } from "ink";
3
3
  import { useCallback, useEffect, useRef, useState } from "react";
4
+ import { selfCleanLegacy } from "../../../application/self/clean-legacy.js";
4
5
  import { selfInstallHooks } from "../../../application/self/install-hooks.js";
5
6
  import { selfInstallSkill } from "../../../application/self/install-skill.js";
7
+ import { selfClearPluginCache } from "../../../application/self/plugin-cache-clear.js";
6
8
  import { selfUninstallSkill } from "../../../application/self/uninstall-skill.js";
9
+ import { selfUninstall } from "../../../application/self/uninstall.js";
7
10
  import { SectionedMenu, } from "../components/sectioned-menu.js";
8
11
  import { Toast } from "../components/toast.js";
9
12
  import { useInputLock } from "../input-lock.js";
10
13
  import { colors, icons } from "../theme.js";
11
14
  const HOOKS_SUPPORTED_TARGETS = new Set(["claude"]);
15
+ const CACHE_CLEAR_HOSTS = new Set([
16
+ "claude",
17
+ "codex",
18
+ "warp",
19
+ "agents",
20
+ ]);
12
21
  const INSTALLED_TRAILING = {
13
22
  icon: icons.check,
14
23
  color: colors.success,
@@ -19,30 +28,70 @@ const NOT_INSTALLED_TRAILING = {
19
28
  color: colors.fgMoreSubtle,
20
29
  text: "no instalado",
21
30
  };
22
- function buildActionMenuItems(skill) {
23
- const items = [
24
- {
25
- kind: "item",
26
- label: skill.installed ? "Reinstalar / actualizar skill" : "Instalar skill",
27
- value: "install",
28
- trailing: skill.installed ? INSTALLED_TRAILING : NOT_INSTALLED_TRAILING,
29
- },
30
- ];
31
- if (skill.installed) {
32
- items.push({ kind: "item", label: "Desinstalar skill", value: "uninstall" });
33
- }
34
- if (skill.hooks_supported) {
31
+ function buildActionMenuItems(target, host) {
32
+ const items = [];
33
+ items.push({ kind: "section", label: "Install" });
34
+ items.push({
35
+ kind: "item",
36
+ label: host?.installed
37
+ ? "Reinstalar completa (skill + commands + hooks)"
38
+ : "Install completa (skill + commands + hooks)",
39
+ value: "install-full",
40
+ trailing: host?.installed ? INSTALLED_TRAILING : NOT_INSTALLED_TRAILING,
41
+ });
42
+ items.push({
43
+ kind: "item",
44
+ label: "Install solo skill (--skill-only)",
45
+ value: "install-skill-only",
46
+ });
47
+ if (target.kind === "host" && HOOKS_SUPPORTED_TARGETS.has(target.id)) {
35
48
  items.push({
36
49
  kind: "item",
37
- label: skill.hooks_installed ? "Reinstalar hooks" : "Instalar hooks",
50
+ label: host?.hooks_installed ? "Reinstalar solo hooks" : "Install solo hooks",
38
51
  value: "install-hooks",
39
52
  });
53
+ }
54
+ else if (target.kind === "all") {
40
55
  items.push({
41
56
  kind: "item",
42
- label: "Instalar hooks (sin limpiar caché)",
43
- value: "install-hooks-keep-cache",
57
+ label: "Install solo hooks (claude only)",
58
+ value: "install-hooks",
44
59
  });
45
60
  }
61
+ items.push({ kind: "section", label: "Uninstall" });
62
+ items.push({
63
+ kind: "item",
64
+ label: "Uninstall completa (skill + commands)",
65
+ value: "uninstall-full",
66
+ });
67
+ items.push({
68
+ kind: "item",
69
+ label: "Uninstall completa + hooks",
70
+ value: "uninstall-with-hooks",
71
+ });
72
+ items.push({
73
+ kind: "item",
74
+ label: "Uninstall solo skill (legacy)",
75
+ value: "uninstall-skill-only",
76
+ });
77
+ items.push({ kind: "section", label: "Cache" });
78
+ const cacheLabel = target.kind === "all"
79
+ ? "Clean cache (claude + codex + warp + agents)"
80
+ : `Clean cache de ${target.label}`;
81
+ items.push({
82
+ kind: "item",
83
+ label: cacheLabel,
84
+ value: "clean-cache",
85
+ });
86
+ items.push({ kind: "section", label: "Legacy cleanup" });
87
+ const legacyLabel = target.kind === "all"
88
+ ? "Clean legacy skills (qtc-*, agent-workflow-manager) en todos los hosts"
89
+ : `Clean legacy skills (qtc-*, agent-workflow-manager) en ${target.label}`;
90
+ items.push({
91
+ kind: "item",
92
+ label: legacyLabel,
93
+ value: "clean-legacy",
94
+ });
46
95
  return items;
47
96
  }
48
97
  export function SkillsTab({ ctx, isActive }) {
@@ -53,6 +102,8 @@ export function SkillsTab({ ctx, isActive }) {
53
102
  const [toast, setToast] = useState(null);
54
103
  const startedRef = useRef(false);
55
104
  const { lock, unlock } = useInputLock();
105
+ // Row 0 = pseudo "All hosts"; rows 1..N = real hosts.
106
+ const totalRows = skills.length + 1;
56
107
  useEffect(() => {
57
108
  if (mode.kind === "idle") {
58
109
  unlock();
@@ -110,7 +161,7 @@ export function SkillsTab({ ctx, isActive }) {
110
161
  },
111
162
  ];
112
163
  setSkills(next);
113
- setCursor((c) => Math.min(Math.max(0, next.length - 1), Math.max(0, c)));
164
+ setCursor((c) => Math.min(Math.max(0, c), next.length));
114
165
  }, [ctx]);
115
166
  useEffect(() => {
116
167
  if (startedRef.current)
@@ -146,15 +197,14 @@ export function SkillsTab({ ctx, isActive }) {
146
197
  return;
147
198
  }
148
199
  if (key.downArrow) {
149
- setCursor((c) => (skills.length === 0 ? 0 : Math.min(skills.length - 1, c + 1)));
200
+ setCursor((c) => Math.min(totalRows - 1, c + 1));
150
201
  return;
151
202
  }
152
203
  if (key.return) {
153
- const target = skills[cursor];
154
- if (target)
204
+ const target = rowToTarget(cursor, skills);
205
+ if (target !== null)
155
206
  setMode({ kind: "action-menu", target });
156
207
  }
157
- // 'i'/'I' ya no se manejan: la instalación se hace por target desde el menu de acciones.
158
208
  void input;
159
209
  }, { isActive });
160
210
  useInput((_, key) => {
@@ -168,71 +218,167 @@ export function SkillsTab({ ctx, isActive }) {
168
218
  const handleActionSelect = useCallback((action) => {
169
219
  if (mode.kind !== "action-menu")
170
220
  return;
171
- const { id, label } = mode.target;
221
+ const target = mode.target;
172
222
  setMode({ kind: "idle" });
173
- const busyLabel = buildBusyLabel(action, label);
174
- void runAction(action, id, busyLabel);
223
+ const busyLabel = buildBusyLabel(action, target.label);
224
+ void runAction(action, target, busyLabel);
175
225
  }, [mode, runAction]);
176
226
  if (mode.kind === "action-menu") {
177
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: colors.fg, bold: true, children: ["Skill ", ctx.runtime.binName] }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.fgSubtle, children: [icons.bullet, " acciones para", " ", _jsx(Text, { color: colors.fg, bold: true, children: mode.target.label })] }) }), _jsx(Box, { marginTop: 1, children: _jsx(SectionedMenu, { items: buildActionMenuItems(mode.target), onSelect: handleActionSelect, isActive: isActive }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.fgMoreSubtle, children: "Esc para cerrar sin aplicar." }) })] }));
227
+ const targetSpec = mode.target;
228
+ const focusedHost = targetSpec.kind === "host" ? (skills.find((s) => s.id === targetSpec.id) ?? null) : null;
229
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: colors.fg, bold: true, children: ["Skill ", ctx.runtime.binName] }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.fgSubtle, children: [icons.bullet, " acciones para", " ", _jsx(Text, { color: colors.fg, bold: true, children: mode.target.label })] }) }), _jsx(Box, { marginTop: 1, children: _jsx(SectionedMenu, { items: buildActionMenuItems(mode.target, focusedHost), onSelect: handleActionSelect, isActive: isActive }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.fgMoreSubtle, children: "Esc para cerrar sin aplicar." }) })] }));
178
230
  }
179
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: colors.fg, bold: true, children: ["Skill ", ctx.runtime.binName] }), _jsx(Box, { marginTop: 1, flexDirection: "column", children: skills.map((s, i) => (_jsx(SkillRow, { skill: s, focused: isActive && i === cursor }, s.id))) }), busy ? (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.warning, children: [icons.spinner, " ", busy] }) })) : null, toast ? _jsx(Toast, { tone: toast.tone, message: toast.message }) : null] }));
231
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: colors.fg, bold: true, children: ["Skill ", ctx.runtime.binName] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(AllHostsRow, { focused: isActive && cursor === 0 }), skills.map((s, i) => (_jsx(SkillRow, { skill: s, focused: isActive && cursor === i + 1 }, s.id)))] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.fgMoreSubtle, children: "\u2191/\u2193 navegar \u00B7 Enter abrir acciones \u00B7 Esc cancelar" }) }), busy ? (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.warning, children: [icons.spinner, " ", busy] }) })) : null, toast ? _jsx(Toast, { tone: toast.tone, message: toast.message }) : null] }));
232
+ }
233
+ function rowToTarget(row, skills) {
234
+ if (row === 0)
235
+ return { kind: "all", label: "todos los hosts" };
236
+ const host = skills[row - 1];
237
+ if (!host)
238
+ return null;
239
+ return { kind: "host", id: host.id, label: host.label };
240
+ }
241
+ function AllHostsRow({ focused }) {
242
+ return (_jsxs(Box, { children: [_jsxs(Text, { color: focused ? colors.primary : colors.fgMoreSubtle, bold: focused, children: [focused ? icons.focusBullet : " ", " "] }), _jsx(Text, { color: focused ? colors.primary : colors.fgSubtle, bold: true, children: "\u25CE Todos los hosts" }), _jsxs(Text, { color: colors.fgMoreSubtle, children: [" ", "(apply install / uninstall / clean-cache a claude + codex + warp + agents en una sola pasada)"] })] }));
180
243
  }
181
244
  function SkillRow({ skill: s, focused }) {
182
245
  return (_jsxs(Box, { children: [_jsxs(Text, { color: focused ? colors.primary : colors.fgMoreSubtle, bold: focused, children: [focused ? icons.focusBullet : " ", " "] }), _jsxs(Text, { color: s.installed ? colors.success : colors.fgMoreSubtle, bold: true, children: [s.installed ? icons.check : icons.cross, " "] }), _jsx(Text, { color: focused ? colors.fg : colors.fgSubtle, bold: focused, children: s.label }), _jsx(Text, { color: colors.fgMoreSubtle, children: " \u00B7 " }), _jsx(Text, { color: colors.fgSubtle, children: s.path }), s.hooks_supported ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: colors.fgMoreSubtle, children: " \u00B7 " }), _jsxs(Text, { color: s.hooks_installed ? colors.success : colors.fgMoreSubtle, children: ["hooks ", s.hooks_installed ? icons.check : icons.cross] })] })) : null] }));
183
246
  }
184
247
  function buildArgsFor(action, target) {
185
248
  const flags = new Set();
186
- const sub = action === "install"
187
- ? "install-skill"
188
- : action === "uninstall"
189
- ? "uninstall-skill"
190
- : "install-hooks";
191
- if (action === "install")
249
+ const values = new Map();
250
+ const targetValue = target.kind === "all" ? "all" : target.id;
251
+ values.set("target", targetValue);
252
+ if (target.kind === "all")
253
+ flags.add("--confirm-all");
254
+ if (action === "install-full")
255
+ flags.add("--force");
256
+ if (action === "install-skill-only") {
192
257
  flags.add("--force");
193
- if (action === "install-hooks-keep-cache")
194
- flags.add("--keep-cache");
258
+ flags.add("--skill-only");
259
+ }
260
+ if (action === "uninstall-with-hooks")
261
+ flags.add("--with-hooks");
262
+ if (action === "uninstall-skill-only")
263
+ flags.add("--skill-only");
264
+ if (action === "clean-cache")
265
+ values.set("plugin", "agent-workflow");
195
266
  return {
196
- rest: [sub],
267
+ rest: [actionToSubcommand(action)],
197
268
  plugin: {},
198
269
  flags,
199
- values: new Map([["target", target]]),
270
+ values,
200
271
  valuesMulti: new Map(),
201
272
  };
202
273
  }
274
+ function actionToSubcommand(action) {
275
+ switch (action) {
276
+ case "install-full":
277
+ case "install-skill-only":
278
+ return "install-skill";
279
+ case "install-hooks":
280
+ return "install-hooks";
281
+ case "uninstall-full":
282
+ case "uninstall-with-hooks":
283
+ return "uninstall";
284
+ case "uninstall-skill-only":
285
+ return "uninstall-skill";
286
+ case "clean-cache":
287
+ return "clean-cache";
288
+ case "clean-legacy":
289
+ return "clean-legacy";
290
+ }
291
+ }
203
292
  async function dispatchAction(action, target, ctx) {
204
293
  const args = buildArgsFor(action, target);
294
+ if (action === "clean-cache" && target.kind === "all") {
295
+ return dispatchCleanCacheAll(ctx);
296
+ }
205
297
  switch (action) {
206
- case "install":
298
+ case "install-full":
299
+ case "install-skill-only":
207
300
  return selfInstallSkill(args, ctx);
208
- case "uninstall":
209
- return selfUninstallSkill(args, ctx);
210
301
  case "install-hooks":
211
- case "install-hooks-keep-cache":
212
302
  return selfInstallHooks(args, ctx);
303
+ case "uninstall-full":
304
+ case "uninstall-with-hooks":
305
+ return selfUninstall(args, ctx);
306
+ case "uninstall-skill-only":
307
+ return selfUninstallSkill(args, ctx);
308
+ case "clean-cache":
309
+ return selfClearPluginCache(args, ctx);
310
+ case "clean-legacy":
311
+ return selfCleanLegacy(args, ctx);
312
+ }
313
+ }
314
+ async function dispatchCleanCacheAll(ctx) {
315
+ const hosts = ["claude", "codex", "warp", "agents"];
316
+ const errors = [];
317
+ for (const host of hosts) {
318
+ if (!CACHE_CLEAR_HOSTS.has(host))
319
+ continue;
320
+ const args = {
321
+ rest: ["clean-cache"],
322
+ plugin: {},
323
+ flags: new Set(),
324
+ values: new Map([
325
+ ["plugin", "agent-workflow"],
326
+ ["target", host],
327
+ ]),
328
+ valuesMulti: new Map(),
329
+ };
330
+ const result = await selfClearPluginCache(args, ctx);
331
+ if (!result.ok)
332
+ errors.push(`${host}: ${result.error?.message ?? "unknown"}`);
333
+ }
334
+ if (errors.length > 0) {
335
+ return {
336
+ ok: false,
337
+ error: { code: "PARTIAL_FAILURE", message: errors.join("; ") },
338
+ exitCode: 1,
339
+ };
213
340
  }
341
+ return { ok: true, data: { status: "cleaned" }, exitCode: 0 };
214
342
  }
215
343
  function buildBusyLabel(action, label) {
216
344
  switch (action) {
217
- case "install":
218
- return `instalando skill en ${label}…`;
219
- case "uninstall":
220
- return `desinstalando skill de ${label}…`;
345
+ case "install-full":
346
+ return `install completa en ${label}…`;
347
+ case "install-skill-only":
348
+ return `install skill en ${label}…`;
221
349
  case "install-hooks":
222
- return `instalando hooks en ${label}…`;
223
- case "install-hooks-keep-cache":
224
- return `instalando hooks en ${label} (sin limpiar caché)…`;
350
+ return `install hooks en ${label}…`;
351
+ case "uninstall-full":
352
+ return `uninstall completa en ${label}…`;
353
+ case "uninstall-with-hooks":
354
+ return `uninstall completa + hooks en ${label}…`;
355
+ case "uninstall-skill-only":
356
+ return `uninstall skill en ${label}…`;
357
+ case "clean-cache":
358
+ return `limpiando caché en ${label}…`;
359
+ case "clean-legacy":
360
+ return `removiendo legacy skills en ${label}…`;
225
361
  }
226
362
  }
227
363
  function buildSuccessMessage(action, target) {
364
+ const t = target.label;
228
365
  switch (action) {
229
- case "install":
230
- return `Skill instalada/actualizada en ${target}.`;
231
- case "uninstall":
232
- return `Skill desinstalada de ${target}.`;
366
+ case "install-full":
367
+ return `Install completa OK en ${t}.`;
368
+ case "install-skill-only":
369
+ return `Skill instalada en ${t}.`;
233
370
  case "install-hooks":
234
- case "install-hooks-keep-cache":
235
- return `Hooks instalados en ${target}.`;
371
+ return `Hooks instalados en ${t}.`;
372
+ case "uninstall-full":
373
+ return `Uninstall completa OK en ${t}.`;
374
+ case "uninstall-with-hooks":
375
+ return `Uninstall completa + hooks OK en ${t}.`;
376
+ case "uninstall-skill-only":
377
+ return `Skill desinstalada de ${t}.`;
378
+ case "clean-cache":
379
+ return `Caché limpiada en ${t}.`;
380
+ case "clean-legacy":
381
+ return `Legacy skills removidos de ${t}.`;
236
382
  }
237
383
  }
238
384
  //# sourceMappingURL=skills-tab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/skills-tab.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/skills-tab.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tacuchi/agent-workflow-cli",
3
- "version": "7.0.4",
3
+ "version": "7.1.1",
4
4
  "description": "Agnostic runtime CLI for session-lifecycle workflows. Auto-detects namespace from any `.<ns>/sessions/` dir in CWD; falls back to 'agent-workflow'. Bundles the universal `agent-workflow` skill (35 skills + 17 commands + 7 hooks template) in the tarball — `self install-skill --target <host>` (obligatory) copies it to the host's skill directory. Multi-empresa parametrization via `profile.json` cascade (flag → AW_PROFILE env → ~/.config/agent-workflow/profile.json → workspace → defaults). Hooks for Claude Code via `self install-hooks --target claude` (JSON merge into ~/.claude/settings.json with backup).",
5
5
  "type": "module",
6
6
  "bin": {