@tacuchi/agent-workflow-cli 16.2.0 → 17.0.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.
Files changed (82) hide show
  1. package/README.md +13 -0
  2. package/dist/adapters/node-file-system.d.ts +3 -1
  3. package/dist/adapters/node-file-system.d.ts.map +1 -1
  4. package/dist/adapters/node-file-system.js +18 -1
  5. package/dist/adapters/node-file-system.js.map +1 -1
  6. package/dist/application/mcp-doctor-service.d.ts.map +1 -1
  7. package/dist/application/mcp-doctor-service.js +3 -2
  8. package/dist/application/mcp-doctor-service.js.map +1 -1
  9. package/dist/application/mcp-host-writer.d.ts +1 -1
  10. package/dist/application/mcp-host-writer.d.ts.map +1 -1
  11. package/dist/application/mcp-host-writer.js +40 -10
  12. package/dist/application/mcp-host-writer.js.map +1 -1
  13. package/dist/application/mcp-remove-service.d.ts.map +1 -1
  14. package/dist/application/mcp-remove-service.js +3 -2
  15. package/dist/application/mcp-remove-service.js.map +1 -1
  16. package/dist/application/mcp-setup-service.d.ts.map +1 -1
  17. package/dist/application/mcp-setup-service.js +3 -2
  18. package/dist/application/mcp-setup-service.js.map +1 -1
  19. package/dist/application/self/install-plugin-skills-git.d.ts +1 -0
  20. package/dist/application/self/install-plugin-skills-git.d.ts.map +1 -1
  21. package/dist/application/self/install-plugin-skills-git.js +11 -2
  22. package/dist/application/self/install-plugin-skills-git.js.map +1 -1
  23. package/dist/application/self/install-plugin-skills.d.ts +6 -0
  24. package/dist/application/self/install-plugin-skills.d.ts.map +1 -1
  25. package/dist/application/self/install-plugin-skills.js +12 -3
  26. package/dist/application/self/install-plugin-skills.js.map +1 -1
  27. package/dist/application/self/mcp-config.d.ts +2 -0
  28. package/dist/application/self/mcp-config.d.ts.map +1 -1
  29. package/dist/application/self/mcp-config.js +29 -12
  30. package/dist/application/self/mcp-config.js.map +1 -1
  31. package/dist/application/self/skills-manager.d.ts +101 -0
  32. package/dist/application/self/skills-manager.d.ts.map +1 -0
  33. package/dist/application/self/skills-manager.js +543 -0
  34. package/dist/application/self/skills-manager.js.map +1 -0
  35. package/dist/application/self/skills-registry.d.ts +31 -0
  36. package/dist/application/self/skills-registry.d.ts.map +1 -0
  37. package/dist/application/self/skills-registry.js +64 -0
  38. package/dist/application/self/skills-registry.js.map +1 -0
  39. package/dist/cli/tui/app.js +5 -2
  40. package/dist/cli/tui/app.js.map +1 -1
  41. package/dist/cli/tui/components/focus-row.d.ts +1 -1
  42. package/dist/cli/tui/components/focus-row.js +1 -1
  43. package/dist/cli/tui/components/host-admin-section.d.ts +22 -0
  44. package/dist/cli/tui/components/host-admin-section.d.ts.map +1 -0
  45. package/dist/cli/tui/components/host-admin-section.js +321 -0
  46. package/dist/cli/tui/components/host-admin-section.js.map +1 -0
  47. package/dist/cli/tui/components/tabs-config.js +1 -1
  48. package/dist/cli/tui/components/tabs-config.js.map +1 -1
  49. package/dist/cli/tui/data/recommended-skills.d.ts +3 -0
  50. package/dist/cli/tui/data/recommended-skills.d.ts.map +1 -0
  51. package/dist/cli/tui/data/recommended-skills.js +52 -0
  52. package/dist/cli/tui/data/recommended-skills.js.map +1 -0
  53. package/dist/cli/tui/data/workflow-content.d.ts +5 -4
  54. package/dist/cli/tui/data/workflow-content.d.ts.map +1 -1
  55. package/dist/cli/tui/data/workflow-content.js +14 -134
  56. package/dist/cli/tui/data/workflow-content.js.map +1 -1
  57. package/dist/cli/tui/tabs/mcp-tab-helpers.d.ts +14 -7
  58. package/dist/cli/tui/tabs/mcp-tab-helpers.d.ts.map +1 -1
  59. package/dist/cli/tui/tabs/mcp-tab-helpers.js +16 -5
  60. package/dist/cli/tui/tabs/mcp-tab-helpers.js.map +1 -1
  61. package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
  62. package/dist/cli/tui/tabs/mcp-tab.js +15 -13
  63. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  64. package/dist/cli/tui/tabs/skills-tab.d.ts +0 -1
  65. package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
  66. package/dist/cli/tui/tabs/skills-tab.js +272 -229
  67. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  68. package/dist/cli/tui/tabs/status-tab.d.ts +1 -1
  69. package/dist/cli/tui/tabs/status-tab.d.ts.map +1 -1
  70. package/dist/cli/tui/tabs/status-tab.js +3 -2
  71. package/dist/cli/tui/tabs/status-tab.js.map +1 -1
  72. package/dist/cli/tui/tabs/workflow-tab.d.ts +6 -1
  73. package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -1
  74. package/dist/cli/tui/tabs/workflow-tab.js +15 -28
  75. package/dist/cli/tui/tabs/workflow-tab.js.map +1 -1
  76. package/dist/domain/mcp-entry.d.ts +11 -0
  77. package/dist/domain/mcp-entry.d.ts.map +1 -1
  78. package/dist/domain/mcp-entry.js +13 -0
  79. package/dist/domain/mcp-entry.js.map +1 -1
  80. package/dist/ports/file-system.d.ts +13 -0
  81. package/dist/ports/file-system.d.ts.map +1 -1
  82. package/package.json +1 -1
@@ -0,0 +1,64 @@
1
+ // Registro user-level de skills sueltas (las que administra [Skills], NO el
2
+ // bundle `w` ni skills de plugins). Archivo separado del .skill-lock.json a
3
+ // propósito: ciclos de vida distintos (el lock lo escribe install-skill del
4
+ // bundle; este registro lo escribe skills-manager).
5
+ import { join } from "node:path";
6
+ export const SKILLS_REGISTRY_REL = [".agents", ".skills-registry.json"];
7
+ export function skillsRegistryPath(home) {
8
+ return join(home, ...SKILLS_REGISTRY_REL);
9
+ }
10
+ /**
11
+ * Un nombre de skill es un segmento de path seguro: el registro se joinea a
12
+ * rutas que luego se borran recursivamente — "..", separadores o vacíos jamás.
13
+ */
14
+ export function isValidSkillName(name) {
15
+ return /^[A-Za-z0-9][A-Za-z0-9._-]{0,100}$/.test(name);
16
+ }
17
+ export async function readSkillsRegistry(ctx) {
18
+ const path = skillsRegistryPath(ctx.env.homeDir());
19
+ if (!(await ctx.fs.exists(path)))
20
+ return { registry: { skills: {} }, path };
21
+ let parsed;
22
+ try {
23
+ parsed = JSON.parse(await ctx.fs.readText(path));
24
+ }
25
+ catch (err) {
26
+ return {
27
+ registry: { skills: {} },
28
+ path,
29
+ warning: `No se pudo parsear ${path}: ${err.message}. Registro tratado como vacío; el archivo queda intacto.`,
30
+ };
31
+ }
32
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
33
+ return { registry: { skills: {} }, path, warning: `${path} no es un objeto JSON.` };
34
+ }
35
+ const rawSkills = parsed.skills;
36
+ const skills = {};
37
+ if (rawSkills && typeof rawSkills === "object" && !Array.isArray(rawSkills)) {
38
+ for (const [name, value] of Object.entries(rawSkills)) {
39
+ // Nombre inválido (p.ej. "..", con separadores) = entrada descartada: un
40
+ // registro editado a mano nunca convierte un remove en rm fuera del root.
41
+ if (!isValidSkillName(name))
42
+ continue;
43
+ if (!value || typeof value !== "object" || Array.isArray(value))
44
+ continue;
45
+ const v = value;
46
+ if (typeof v.source !== "string" || v.source.length === 0)
47
+ continue;
48
+ skills[name] = {
49
+ source: v.source,
50
+ ...(typeof v.ref === "string" ? { ref: v.ref } : {}),
51
+ ...(v.mode === "symlink" || v.mode === "copy" ? { mode: v.mode } : {}),
52
+ ...(typeof v.installedAt === "string" ? { installedAt: v.installedAt } : {}),
53
+ };
54
+ }
55
+ }
56
+ return { registry: { skills }, path };
57
+ }
58
+ export async function writeSkillsRegistry(ctx, registry) {
59
+ const path = skillsRegistryPath(ctx.env.homeDir());
60
+ await ctx.fs.mkdirp(join(ctx.env.homeDir(), ".agents"));
61
+ await ctx.fs.writeText(path, `${JSON.stringify(registry, null, 2)}\n`);
62
+ return path;
63
+ }
64
+ //# sourceMappingURL=skills-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-registry.js","sourceRoot":"","sources":["../../../src/application/self/skills-registry.ts"],"names":[],"mappings":"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"}
@@ -116,7 +116,10 @@ function AppShell({ version, ctx, onResult, initialPrefs }) {
116
116
  title: (_jsxs(Text, { children: [_jsxs(Text, { color: colors.bright, bold: true, children: ["v", version] }), _jsx(Text, { color: colors.dim, children: " \u2192 " }), _jsxs(Text, { color: colors.bright, bold: true, children: ["v", latest] }), _jsx(Text, { color: colors.dim, children: " available" })] })),
117
117
  actions: [
118
118
  {
119
- key: "i",
119
+ // 'u' y no 'i': ink despacha cada tecla a TODOS los useInput
120
+ // activos, e 'i' es el atajo empty-state de la administración por
121
+ // host — con el banner arriba dispararía install + update a la vez.
122
+ key: "u",
120
123
  label: "apply",
121
124
  emphasis: true,
122
125
  run: () => {
@@ -257,7 +260,7 @@ function AppShell({ version, ctx, onResult, initialPrefs }) {
257
260
  setActiveTab(target);
258
261
  }, { isActive: true });
259
262
  const hasNotifs = notifications.length > 0;
260
- return (_jsx(ScreenFrame, { children: _jsxs(Box, { flexDirection: "column", flexGrow: 1, minHeight: 0, children: [_jsx(HomeHeader, { brand: projectName, version: version, workspaceContext: workspaceCtx }), _jsx(NotificationStack, { items: notifications }), _jsx(TabBar, { activeTabId: activeTab }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, flexShrink: 1, minHeight: 0, overflowY: "hidden", borderStyle: "single", borderColor: colors.accent, paddingX: 2, paddingY: 1, children: [activeTab === "status" ? (_jsx(StatusTab, { ctx: ctx, version: version, isActive: true, onActivateTab: (t) => setActiveTab(t), onToast: pushToast, logs: logs, ...(prefs.lastOpenApp !== undefined ? { lastOpenApp: prefs.lastOpenApp } : {}), onSetLastApp: (app) => onChangePrefs({ lastOpenApp: app }), disabledHosts: prefs.disabledHosts })) : null, activeTab === "workflow" ? _jsx(WorkflowTab, { ctx: ctx, isActive: true }) : null, activeTab === "project" ? (_jsx(ProjectTab, { ctx: ctx, isActive: true, onRunAction: runAction })) : null, activeTab === "mcp" ? _jsx(McpTab, { ctx: ctx, isActive: true, onToast: pushToast }) : null, activeTab === "skills" ? (_jsx(SkillsTab, { ctx: ctx, isActive: true, version: version, onToast: pushToast })) : null, activeTab === "config" ? (_jsx(ConfigTab, { ctx: ctx, isActive: true, prefs: prefs, onChange: onChangePrefs, onSaveNamespace: onSaveNamespace })) : null] }, refreshNonce), _jsx(HomeFooter, { showDismiss: hasNotifs })] }) }));
263
+ return (_jsx(ScreenFrame, { children: _jsxs(Box, { flexDirection: "column", flexGrow: 1, minHeight: 0, children: [_jsx(HomeHeader, { brand: projectName, version: version, workspaceContext: workspaceCtx }), _jsx(NotificationStack, { items: notifications }), _jsx(TabBar, { activeTabId: activeTab }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, flexShrink: 1, minHeight: 0, overflowY: "hidden", borderStyle: "single", borderColor: colors.accent, paddingX: 2, paddingY: 1, children: [activeTab === "status" ? (_jsx(StatusTab, { ctx: ctx, version: version, isActive: true, onActivateTab: (t) => setActiveTab(t), onToast: pushToast, logs: logs, ...(prefs.lastOpenApp !== undefined ? { lastOpenApp: prefs.lastOpenApp } : {}), onSetLastApp: (app) => onChangePrefs({ lastOpenApp: app }), disabledHosts: prefs.disabledHosts })) : null, activeTab === "workflow" ? (_jsx(WorkflowTab, { ctx: ctx, isActive: true, onToast: pushToast })) : null, activeTab === "project" ? (_jsx(ProjectTab, { ctx: ctx, isActive: true, onRunAction: runAction })) : null, activeTab === "mcp" ? _jsx(McpTab, { ctx: ctx, isActive: true, onToast: pushToast }) : null, activeTab === "skills" ? (_jsx(SkillsTab, { ctx: ctx, isActive: true, onToast: pushToast })) : null, activeTab === "config" ? (_jsx(ConfigTab, { ctx: ctx, isActive: true, prefs: prefs, onChange: onChangePrefs, onSaveNamespace: onSaveNamespace })) : null] }, refreshNonce), _jsx(HomeFooter, { showDismiss: hasNotifs })] }) }));
261
264
  }
262
265
  /**
263
266
  * Resuelve el nombre del proyecto a mostrar en el header.
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/cli/tui/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/cli/tui/app.tsx"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export interface FocusRowProps {
13
13
  }
14
14
  /**
15
15
  * Fila enfocable con barra de focus + resaltado de fondo full-width, alineada
16
- * con las listas de MCP/Skills (`list-row`) y el Workflow (`family-card`).
16
+ * con las listas de MCP/Skills/Workflows (`list-row`).
17
17
  *
18
18
  * La barra va AFUERA del fondo (como list-row). Todo el contenido vive en una
19
19
  * sola `Text` con `wrap="truncate-end"` (las `Text` anidadas heredan el
@@ -7,7 +7,7 @@ const FRAME_OVERHEAD = 12;
7
7
  const DEFAULT_LABEL_WIDTH = 16;
8
8
  /**
9
9
  * Fila enfocable con barra de focus + resaltado de fondo full-width, alineada
10
- * con las listas de MCP/Skills (`list-row`) y el Workflow (`family-card`).
10
+ * con las listas de MCP/Skills/Workflows (`list-row`).
11
11
  *
12
12
  * La barra va AFUERA del fondo (como list-row). Todo el contenido vive en una
13
13
  * sola `Text` con `wrap="truncate-end"` (las `Text` anidadas heredan el
@@ -0,0 +1,22 @@
1
+ import type { CliContext } from "../../types.js";
2
+ export interface HostAdminSummary {
3
+ installed: number;
4
+ total: number;
5
+ backed: number;
6
+ pending: number;
7
+ }
8
+ export interface HostAdminSectionProps {
9
+ ctx: CliContext;
10
+ isActive: boolean;
11
+ onToast?: (msg: {
12
+ tone: "ok" | "info" | "err";
13
+ title: string;
14
+ body?: string;
15
+ }) => void;
16
+ /** Notifies the mounting tab so it can render its own header counts. */
17
+ onSummary?: (summary: HostAdminSummary) => void;
18
+ /** Extra line for the detail panel meta of a host with hooks armed. */
19
+ hooksMetaSuffix?: string;
20
+ }
21
+ export declare function HostAdminSection({ ctx, isActive, onToast, onSummary, hooksMetaSuffix, }: HostAdminSectionProps): import("react/jsx-runtime").JSX.Element;
22
+ //# sourceMappingURL=host-admin-section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-admin-section.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/host-admin-section.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAWjD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvF,wEAAwE;IACxE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAChD,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAkBD,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,QAAQ,EACR,OAAO,EACP,SAAS,EACT,eAAe,GAChB,EAAE,qBAAqB,2CAySvB"}
@@ -0,0 +1,321 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Administración por host del bundle `w` (list + detail + confirm + composite
3
+ // clean-legacy → clean-cache → install-full). Extraída de skills-tab para que
4
+ // [Workflows] la monte como sección principal; cualquier tab la reutiliza vía
5
+ // props. La lógica es la misma que tenía el tab (sin cambio funcional).
6
+ import { Box, Text, useInput, useStdout } from "ink";
7
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
8
+ import { formatTuiEvent } from "../../../application/logging/log-events.js";
9
+ import { selfCleanLegacy } from "../../../application/self/clean-legacy.js";
10
+ import { SKILL_DIR_NAME, TARGET_ROOTS, selfInstallSkill, } from "../../../application/self/install-skill.js";
11
+ import { selfClearPluginCache } from "../../../application/self/plugin-cache-clear.js";
12
+ import { selfUninstall } from "../../../application/self/uninstall.js";
13
+ import { HOSTS } from "../hosts.js";
14
+ import { useInputLock } from "../input-lock.js";
15
+ import { rowWidth } from "../row-width.js";
16
+ import { colors, icons } from "../theme.js";
17
+ import { ConfirmBanner } from "./confirm-banner.js";
18
+ import { DetailPanel } from "./detail-panel.js";
19
+ import { ListRow } from "./list-row.js";
20
+ import { QuickActions } from "./quick-actions.js";
21
+ import { SectionHead } from "./section-head.js";
22
+ const HOOKS_SUPPORTED_TARGETS = new Set(["claude"]);
23
+ // Derived from the backend's own target map so the section can't drift from what
24
+ // `self install/uninstall-skill` actually supports (clean-legacy v14.5.1 lesson).
25
+ const BACKED_INSTALL_TARGETS = new Set(Object.keys(TARGET_ROOTS));
26
+ export function HostAdminSection({ ctx, isActive, onToast, onSummary, hooksMetaSuffix, }) {
27
+ const [skills, setSkills] = useState([]);
28
+ const [cursor, setCursor] = useState(0);
29
+ const [actionCursor, setActionCursor] = useState(0);
30
+ const [mode, setMode] = useState({ kind: "list" });
31
+ const [busy, setBusy] = useState(null);
32
+ const startedRef = useRef(false);
33
+ const { lock, unlock } = useInputLock();
34
+ const { stdout } = useStdout();
35
+ useEffect(() => {
36
+ if (busy)
37
+ lock();
38
+ else
39
+ unlock();
40
+ }, [busy, lock, unlock]);
41
+ useEffect(() => () => unlock(), [unlock]);
42
+ const refresh = useCallback(async () => {
43
+ const home = ctx.env.homeDir();
44
+ const settingsPath = `${home}/.claude/settings.json`;
45
+ let hooksInstalled = false;
46
+ if (await ctx.fs.exists(settingsPath)) {
47
+ try {
48
+ const parsed = JSON.parse(await ctx.fs.readText(settingsPath));
49
+ hooksInstalled =
50
+ typeof parsed === "object" &&
51
+ parsed !== null &&
52
+ "hooks" in parsed &&
53
+ typeof parsed.hooks === "object" &&
54
+ Object.keys(parsed.hooks).length > 0;
55
+ }
56
+ catch {
57
+ hooksInstalled = false;
58
+ }
59
+ }
60
+ const next = [];
61
+ for (const host of HOSTS) {
62
+ const path = pathForHost(host, home);
63
+ const installed = host.backed && path ? await ctx.fs.exists(path) : false;
64
+ next.push({
65
+ host,
66
+ installed,
67
+ hooks_installed: host.id === "claude" ? hooksInstalled : false,
68
+ path: installed ? friendlyPath(host) : host.backed ? "not installed" : "(not wired yet)",
69
+ });
70
+ }
71
+ setSkills(next);
72
+ setCursor((c) => Math.min(Math.max(0, c), Math.max(0, next.length - 1)));
73
+ }, [ctx]);
74
+ useEffect(() => {
75
+ if (startedRef.current)
76
+ return;
77
+ startedRef.current = true;
78
+ void refresh();
79
+ }, [refresh]);
80
+ const installedCount = skills.filter((s) => s.installed).length;
81
+ const totalCount = skills.length;
82
+ const backedHosts = HOSTS.filter((h) => h.backed).length;
83
+ const pendingHosts = HOSTS.length - backedHosts;
84
+ useEffect(() => {
85
+ onSummary?.({
86
+ installed: installedCount,
87
+ total: totalCount,
88
+ backed: backedHosts,
89
+ pending: pendingHosts,
90
+ });
91
+ }, [onSummary, installedCount, totalCount, backedHosts, pendingHosts]);
92
+ const focused = skills[cursor] ?? null;
93
+ const isInstalled = focused?.installed === true;
94
+ const isBackedFocused = focused ? BACKED_INSTALL_TARGETS.has(focused.host.id) : false;
95
+ const detailActions = useMemo(() => {
96
+ if (!focused)
97
+ return [];
98
+ const reinstall = {
99
+ name: isInstalled ? "Reinstall" : "Install",
100
+ description: isInstalled ? "Overwrite files (--force)." : "Copy files (--force).",
101
+ };
102
+ if (isInstalled) {
103
+ return [
104
+ reinstall,
105
+ {
106
+ name: "Uninstall",
107
+ description: "Remove files. Reversible.",
108
+ danger: true,
109
+ },
110
+ ];
111
+ }
112
+ return [reinstall];
113
+ }, [focused, isInstalled]);
114
+ const runComposite = useCallback(async (kind, host) => {
115
+ if (!BACKED_INSTALL_TARGETS.has(host.id)) {
116
+ onToast?.({
117
+ tone: "info",
118
+ title: `Host '${host.name}' not supported yet`,
119
+ body: "Install/uninstall backend without path mapping.",
120
+ });
121
+ return;
122
+ }
123
+ const target = host.id;
124
+ const steps = kind === "install"
125
+ ? ["clean-legacy", "clean-cache", "install-full"]
126
+ : ["uninstall-full", "clean-cache"];
127
+ const startLabel = kind === "install" ? `installing on ${host.name}…` : `uninstalling from ${host.name}…`;
128
+ setBusy(startLabel);
129
+ try {
130
+ for (const step of steps) {
131
+ setBusy(buildBusyLabel(step, host.name));
132
+ const result = await dispatchAction(step, target, ctx);
133
+ if (!result.ok) {
134
+ const failMsg = result.error?.message;
135
+ onToast?.(failMsg !== undefined
136
+ ? { tone: "err", title: `Step ${step} failed`, body: failMsg }
137
+ : { tone: "err", title: `Step ${step} failed` });
138
+ // The err toast is mirrored to the log by the notification-center
139
+ // safety net; nothing more to log here.
140
+ await refresh();
141
+ return;
142
+ }
143
+ }
144
+ const finalAction = kind === "install" ? "install-full" : "uninstall-full";
145
+ onToast?.({ tone: "ok", title: buildSuccessMessage(finalAction, host.name) });
146
+ void ctx.logger?.info(formatTuiEvent(`skill ${kind} ${host.name}`, "ok"));
147
+ await refresh();
148
+ }
149
+ catch (err) {
150
+ onToast?.({ tone: "err", title: "Error", body: err.message });
151
+ }
152
+ finally {
153
+ setBusy(null);
154
+ }
155
+ }, [ctx, refresh, onToast]);
156
+ // input — list mode (↑↓ navega · ⏎ abre detail · Esc no-op · 'i' empty-state install)
157
+ useInput((input, key) => {
158
+ if (!isActive || busy || mode.kind !== "list")
159
+ return;
160
+ if ((input === "i" || input === "I") && installedCount === 0) {
161
+ const claude = HOSTS.find((h) => h.id === "claude");
162
+ if (claude)
163
+ void runComposite("install", claude);
164
+ return;
165
+ }
166
+ if (key.upArrow) {
167
+ setCursor((c) => Math.max(0, c - 1));
168
+ return;
169
+ }
170
+ if (key.downArrow) {
171
+ setCursor((c) => (skills.length === 0 ? 0 : Math.min(skills.length - 1, c + 1)));
172
+ return;
173
+ }
174
+ if (key.return && focused) {
175
+ if (!BACKED_INSTALL_TARGETS.has(focused.host.id)) {
176
+ onToast?.({
177
+ tone: "info",
178
+ title: `Host '${focused.host.name}'`,
179
+ body: "pending — backend without path mapping yet",
180
+ });
181
+ return;
182
+ }
183
+ setActionCursor(0);
184
+ setMode({ kind: "detail" });
185
+ }
186
+ }, { isActive });
187
+ // input — detail mode (↑↓ navega actions · ⏎ ejecuta focused · Esc cierra)
188
+ useInput((_input, key) => {
189
+ if (!isActive || busy || mode.kind !== "detail" || !focused)
190
+ return;
191
+ if (key.upArrow) {
192
+ setActionCursor((c) => Math.max(0, c - 1));
193
+ return;
194
+ }
195
+ if (key.downArrow) {
196
+ setActionCursor((c) => Math.min(detailActions.length - 1, c + 1));
197
+ return;
198
+ }
199
+ if (key.escape) {
200
+ setMode({ kind: "list" });
201
+ return;
202
+ }
203
+ if (key.return) {
204
+ const action = detailActions[actionCursor];
205
+ if (!action)
206
+ return;
207
+ if (action.danger) {
208
+ setMode({ kind: "confirm-uninstall", host: focused.host });
209
+ }
210
+ else {
211
+ void runComposite("install", focused.host);
212
+ setMode({ kind: "list" });
213
+ }
214
+ }
215
+ }, { isActive });
216
+ // input — confirm-uninstall (y confirma · n/esc cancela)
217
+ useInput((input, key) => {
218
+ if (!isActive || mode.kind !== "confirm-uninstall")
219
+ return;
220
+ if (input === "y" || input === "Y") {
221
+ void runComposite("uninstall", mode.host);
222
+ setMode({ kind: "list" });
223
+ }
224
+ else if (key.escape || input === "n" || input === "N") {
225
+ setMode({ kind: "detail" });
226
+ }
227
+ }, { isActive });
228
+ const detailVisible = mode.kind === "detail" || mode.kind === "confirm-uninstall";
229
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(SectionHead, { label: "Hosts", count: totalCount, hint: `backed ${backedHosts} · pending ${pendingHosts}`, ...(detailVisible ? { rightAction: "esc to close detail" } : {}), marginTop: 0 }), _jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 2, children: skills.map((s, i) => (_jsx(ListRow, { icon: icons.diamond, iconActive: s.installed, title: s.host.name, subtitle: friendlyPath(s.host), meta: HOOKS_SUPPORTED_TARGETS.has(s.host.id) && s.hooks_installed
230
+ ? [{ label: "hooks armed", tone: "ok" }]
231
+ : [], state: {
232
+ label: s.installed ? "installed" : s.host.backed ? "backed" : "pending",
233
+ tone: s.installed ? "ok" : s.host.backed ? "dim" : "warn",
234
+ }, chevron: true, active: cursor === i, widthHint: rowWidth(stdout?.columns, detailVisible) }, s.host.id))) }), focused && isBackedFocused && detailVisible ? (_jsx(DetailPanel, { bordered: true, header: {
235
+ name: focused.host.name,
236
+ meta: `${focused.path}${focused.hooks_installed && hooksMetaSuffix ? `\n${hooksMetaSuffix}` : ""}`,
237
+ }, statePill: {
238
+ label: isInstalled ? "installed" : "missing",
239
+ tone: isInstalled ? "ok" : "dim",
240
+ }, actions: detailActions, focusedAction: actionCursor, banner: mode.kind === "confirm-uninstall" ? (_jsx(ConfirmBanner, { title: `× Uninstall ${mode.host.name}?`, body: `Removes SKILL + commands + hooks from ${friendlyPath(mode.host)}. Reversible with Reinstall.` })) : null })) : null] }), busy ? (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.warn, children: [icons.spinner, " ", busy] }) })) : null, installedCount === 0 ? (_jsx(Box, { marginTop: 1, children: _jsx(QuickActions, { actions: [{ key: "i", label: "install on Claude" }] }) })) : null] }));
241
+ }
242
+ function pathForHost(host, home) {
243
+ if (!BACKED_INSTALL_TARGETS.has(host.id))
244
+ return null;
245
+ const root = TARGET_ROOTS[host.id];
246
+ if (!root)
247
+ return null;
248
+ return `${home}/${root.join("/")}/${SKILL_DIR_NAME}`;
249
+ }
250
+ function friendlyPath(host) {
251
+ const root = TARGET_ROOTS[host.id];
252
+ if (!root)
253
+ return "(not wired yet)";
254
+ return `~/${root.join("/")}/${SKILL_DIR_NAME}/`;
255
+ }
256
+ function buildArgsFor(action, target) {
257
+ const flags = new Set();
258
+ const values = new Map();
259
+ values.set("target", target);
260
+ if (action === "install-full" || action === "uninstall-full")
261
+ flags.add("--force");
262
+ if (action === "clean-cache")
263
+ values.set("plugin", SKILL_DIR_NAME);
264
+ return {
265
+ rest: [actionToSubcommand(action)],
266
+ plugin: {},
267
+ flags,
268
+ values,
269
+ valuesMulti: new Map(),
270
+ };
271
+ }
272
+ function actionToSubcommand(action) {
273
+ switch (action) {
274
+ case "install-full":
275
+ return "install-skill";
276
+ case "uninstall-full":
277
+ return "uninstall";
278
+ case "clean-cache":
279
+ return "clean-cache";
280
+ case "clean-legacy":
281
+ return "clean-legacy";
282
+ }
283
+ }
284
+ async function dispatchAction(action, target, ctx) {
285
+ const args = buildArgsFor(action, target);
286
+ switch (action) {
287
+ case "install-full":
288
+ return selfInstallSkill(args, ctx);
289
+ case "uninstall-full":
290
+ return selfUninstall(args, ctx);
291
+ case "clean-cache":
292
+ return selfClearPluginCache(args, ctx);
293
+ case "clean-legacy":
294
+ return selfCleanLegacy(args, ctx);
295
+ }
296
+ }
297
+ function buildBusyLabel(action, label) {
298
+ switch (action) {
299
+ case "install-full":
300
+ return `installing on ${label}…`;
301
+ case "uninstall-full":
302
+ return `uninstalling from ${label}…`;
303
+ case "clean-cache":
304
+ return `cleaning cache on ${label}…`;
305
+ case "clean-legacy":
306
+ return `removing legacy skills from ${label}…`;
307
+ }
308
+ }
309
+ function buildSuccessMessage(action, label) {
310
+ switch (action) {
311
+ case "install-full":
312
+ return `Install complete OK on ${label}.`;
313
+ case "uninstall-full":
314
+ return `Uninstall complete OK on ${label}.`;
315
+ case "clean-cache":
316
+ return `Cache cleaned on ${label}.`;
317
+ case "clean-legacy":
318
+ return `Legacy skills removed from ${label}.`;
319
+ }
320
+ }
321
+ //# sourceMappingURL=host-admin-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-admin-section.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/host-admin-section.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  /** Lista canónica de tabs en orden de presentación + atajo numérico. */
7
7
  export const TABS_LIST = [
8
8
  { id: "status", key: "1", label: "Status" },
9
- { id: "workflow", key: "2", label: "Workflow" },
9
+ { id: "workflow", key: "2", label: "Workflows" },
10
10
  { id: "project", key: "3", label: "Project" },
11
11
  { id: "mcp", key: "4", label: "MCP" },
12
12
  { id: "skills", key: "5", label: "Skills" },
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-config.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/tabs-config.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,+CAA+C;AAC/C,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAY/E,wEAAwE;AACxE,MAAM,CAAC,MAAM,SAAS,GAAyB;IAC7C,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC3C,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;IAC/C,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE;IAC7C,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;IACrC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC3C,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;CACnC,CAAC"}
1
+ {"version":3,"file":"tabs-config.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/tabs-config.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,+CAA+C;AAC/C,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAY/E,wEAAwE;AACxE,MAAM,CAAC,MAAM,SAAS,GAAyB;IAC7C,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC3C,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE;IAChD,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE;IAC7C,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;IACrC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC3C,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;CACnC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { SeedSkill } from "../../../application/self/skills-manager.js";
2
+ export declare const RECOMMENDED_SKILLS: readonly SeedSkill[];
3
+ //# sourceMappingURL=recommended-skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommended-skills.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/data/recommended-skills.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AAE7E,eAAO,MAAM,kBAAkB,EAAE,SAAS,SAAS,EAyCzC,CAAC"}